在Labview里使用PCIe-1230控制卡
1 現(xiàn)有工程
要使用現(xiàn)有的Labview工程,要確保工程所在的文件夾包含PCI1230.dll、PCIe1230.lvlib、子VI文件夾Vis(見(jiàn)下圖)。
圖1
打開(kāi)工程后雙擊PCIe1230子VI, Labview會(huì)提示查找PCI1230.dll文件、PCIe1230.lvlib文件,請(qǐng)按下圖所示查找并添加到工程里。
圖2
2 新建工程
下面以PCIe-1230為例,在Labview里面設(shè)計(jì)圖形化界面控制DO0~DO3、 DI0~DI3,來(lái)演示在Labview里開(kāi)發(fā)I/O控制卡應(yīng)用程序的步驟。
2.1 制作程序前面板
制作程序前面板(Front Panel),添加輸出控件DO0~DO3、輸入顯示控件DI0~DI3、數(shù)據(jù)輸入控件board id(控制卡的卡號(hào))。
圖3
2.2 制作程序框圖
1)切換到程序框圖(Block Diagram)界面,因?yàn)槌绦蚴怯纱蜷_(kāi)控制卡、設(shè)置輸出(DO)與讀取輸入(DI)、關(guān)閉控制卡三個(gè)順序步驟組成,所以選擇順序結(jié)構(gòu)(Flat Sequence Structure)作為程序整體結(jié)構(gòu)(見(jiàn)下圖)。
圖4
2)在順序結(jié)構(gòu)的第一個(gè)框圖中調(diào)用打開(kāi)控制卡的子VI(見(jiàn)下圖),
圖5
然后選擇VI庫(kù)中的Pci1230Open(見(jiàn)下圖)。
圖6
3)Pci1230Open需要輸入控制卡卡號(hào)(board id)作為參數(shù)。如果子VI調(diào)用成功,其返回值為1024(十六進(jìn)制表示為0x400),所以在第二個(gè)順序框圖起始處使用比較節(jié)點(diǎn),檢查該VI的返回值是否為1024,如果比較結(jié)果為真,則允許對(duì)DI/DO操作的子VI進(jìn)行調(diào)用,否則直接退出應(yīng)用程序。
需要注意:PCI-1230、PCI-1232出廠默認(rèn)卡號(hào)是15,PCIe-1230、PCIe-1232 出廠默認(rèn)卡號(hào)是0。
圖7
4)在此范例中選擇在while循環(huán)里面一直執(zhí)行DI/DO操作直到stop按鍵按下跳出循環(huán),再進(jìn)行順序結(jié)構(gòu)的下一步操作。每次循環(huán)中間延時(shí)100ms。
圖8
5)調(diào)用Pci1230Write Do Bit子VI,其中需要輸入卡號(hào)、要訪問(wèn)的輸出(DO)位號(hào)、輸出(DO)的狀態(tài)(1表示輸出導(dǎo)通、0表示輸出截止)。此范例中使用按鍵和真假結(jié)構(gòu)來(lái)控制狀態(tài)數(shù)據(jù)的輸入(見(jiàn)下圖)。
圖9
6)調(diào)用Pci1230Read Di Bit子VI,其中需要輸入卡號(hào)、要訪問(wèn)的輸入(DI)位號(hào),此子VI會(huì)輸出對(duì)應(yīng)DI的狀態(tài)信息(1表示輸入導(dǎo)通、0表示輸入截止)。通過(guò)將狀態(tài)信息與0比較節(jié)點(diǎn),將此DI狀態(tài)顯示在顯示控件中。
圖10中順序結(jié)構(gòu)的第三個(gè)框圖中調(diào)用Pci1230 Close.vi來(lái)關(guān)閉控制卡。
圖10