在Labview里使用PCIe-1230控制卡
1 现有工程
要使用现有的Labview工程,要确保工程所在的文件夹包含PCI1230.dll、PCIe1230.lvlib、子VI文件夹Vis(见下图)。
图1
打开工程后双击PCIe1230子VI, Labview会提示查找PCI1230.dll文件、PCIe1230.lvlib文件,请按下图所示查找并添加到工程里。
图2
2 新建工程
下面以PCIe-1230为例,在Labview里面设计图形化界面控制DO0~DO3、 DI0~DI3,来演示在Labview里开发I/O控制卡应用程序的步骤。
2.1 制作程序前面板
制作程序前面板(Front Panel),添加输出控件DO0~DO3、输入显示控件DI0~DI3、数据输入控件board id(控制卡的卡号)。
图3
2.2 制作程序框图
1)切换到程序框图(Block Diagram)界面,因为程序是由打开控制卡、设置输出(DO)与读取输入(DI)、关闭控制卡三个顺序步骤组成,所以选择顺序结构(Flat Sequence Structure)作为程序整体结构(见下图)。
图4
2)在顺序结构的第一个框图中调用打开控制卡的子VI(见下图),
图5
然后选择VI库中的Pci1230Open(见下图)。
图6
3)Pci1230Open需要输入控制卡卡号(board id)作为参数。如果子VI调用成功,其返回值为1024(十六进制表示为0x400),所以在第二个顺序框图起始处使用比较节点,检查该VI的返回值是否为1024,如果比较结果为真,则允许对DI/DO操作的子VI进行调用,否则直接退出应用程序。
需要注意:PCI-1230、PCI-1232出厂默认卡号是15,PCIe-1230、PCIe-1232 出厂默认卡号是0。
图7
4)在此范例中选择在while循环里面一直执行DI/DO操作直到stop按键按下跳出循环,再进行顺序结构的下一步操作。每次循环中间延时100ms。
图8
5)调用Pci1230Write Do Bit子VI,其中需要输入卡号、要访问的输出(DO)位号、输出(DO)的状态(1表示输出导通、0表示输出截止)。此范例中使用按键和真假结构来控制状态数据的输入(见下图)。
图9
6)调用Pci1230Read Di Bit子VI,其中需要输入卡号、要访问的输入(DI)位号,此子VI会输出对应DI的状态信息(1表示输入导通、0表示输入截止)。通过将状态信息与0比较节点,将此DI状态显示在显示控件中。
图10中顺序结构的第三个框图中调用Pci1230 Close.vi来关闭控制卡。
图10