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