研华PCI-1710L的VB编程作者:cosey提交日期:2008-1-1317:35:00|分类:|访问量:365说完了PCI1243U,这篇谈谈PCI-1710L。在我的程序中,用该板卡实现数据采集。编程前的准备安装PCI-1710L驱动程序,注意要安装DeviceManager程序,用它来进行一些设置。阅读PCI-用户手册(安装盘里面可以找到)。建立VB6工程。将Driver.BAS文件添加到工程中,或者将其中的一些我们要用到的函数声明和定义输入到项目的其他module文件中。这个文件在研华驱动的安装文件夹中能找到。使用了如下函数:1)打开板卡板卡开始工作前,要打开,通过下面的函数完成:DRV_OpenDevice(参数1,参数2)参数1:板卡号,在DeviceManager中设置,如果计算机上只装了1块这样的板卡就为0,如果多块,就是不同的数字,它在程序中标识指定板卡。参数2:一个句柄,用来标识一个打开的设备。函数执行后才能够得到,后面的各种函数都要使用这个句柄。执行任何函数前,首先都要执行这个函数。2)参数设置DRV_MAIConfig(参数1,参数2)参数1:设备句柄,即前面函数执行得到的。参数2:PT_MAIConfig结构,用于设置各种参数。该结构说明如下:TypePT_MAIConfigNumChanAsInteger’程序中将要使用的通道数,比如在我的程序中使用了2个通道StartChanAsInteger’起始通道号,比如我的程序中从通道0开始的GainArrayAsLong‘各个通道的增益,某个通道的增益表示的该通道的的输入电压范围,不同的范围有不同的增益,这个值在用户手册中可以查到。EndType使用函数DRV_MAIConfig前要先将参数2的各个成员赋值。3)采集数据DRV_MAIVoltageIn(参数1,参数2)参数1:设备句柄。参数2:PT_MAIVoltageIn结构,用于装载采集到的各种数据。该结构说明如下:TypePT_MAIVoltageInNumChanAsInteger’通道数StartChanAsInteger’起始通道号GainArrayAsLong'增益TrigModeAsInteger’触发方式,我用的内部触发方式,值为0VoltageArrayAsLong'读到的各个通道的电压值,是一个数组EndType使用DRV_MAIVoltageIn前要对参数2赋值,其中VoltageArray只是通过DRV_GetAddress函数获取一个数组的地址,函数执行后,具体的电压值才被写到该地址的相应位置。DRV_GetAddress的使用方法如下:先定义一个数组(比如v),该数组用来存储读到的电压值,我的程序中要读两个通道,则该数组的元素为2。参数2的VoltageArray=DRV_GetAddress(v(0)),这条语句找到了v的地址,执行DRV_MAIVoltageIn后采集到的各个通道的电压值便被写入数组v中。4)关闭板卡板卡完成所有工作后,如果不再使用,则需要关闭,通过下面的函数完成。DRV_DeviceClose(参数)参数就是前面函数执行后得到的句柄。