AC6644编程
参数: ? ? ? ? ? ? ? ?
停止采样
hDevice:入口参数,卡的操作句柄。 函数:int AC6111_STOP(HANDLE hDevice)
查询AD状态
hDevice:入口参数,卡的操作句柄。 返回值:小于0溢出,其他可读长度。 函数:int AC6111_ADState(HANDLE hDevice)
hDevice:驱动句柄
*uspData:指向采样数据的指针;
length:读取的长度。长度应小于缓冲中可以读取的数据长度(该长度由AC6111_STATE函数获得)。
开关量函数
? 设置开关量
功能:设置数字量模式控制字。
函数:int AC6111_IO_MODE (HANDLE hDevice, long iomode) 参数: ? ?
hDevice:驱动句柄
iomode:模式字, 0:高入,低入;1:高入,低出;2:高出,低入;3:高出,低出。 开关量输入
hDevice:驱动句柄;
*DIData:指向数字量输入数据的指针。
? ? ? ?
函数:int AC6111_DI (HANDLE hDevice, unsigned long *DIData)
开关量输出
函数:int AC6111_DO (HANDLE hDevice, unsigned short do_data) 参数: ? ?
hDevice:驱动句柄; do_data:数字量输出数据。
DA函数
?
设置DA电压输出模式字
函数:int AC6111_DA_MODE (HANDLE hDevice, ULONG mode)
20 ww.wwlab.com.cn
AC6644编程
参数: ? ?
hDevice:驱动句柄;
mode:DA模式字;0:0-10伏,1:-10伏-+10伏。
? ? ? ?
DA输出
hDevice:驱动句柄; ch:DA输出通道(0,1)。 da_dat:DA输出值(0-4095)。
函数:long AC6111_DA(HANDLE hHandle,long ch, ULONG da_data)
计数器操作函数
?
函数功能:读取计数器的数值;
函数:int AC6111_RCOUNTER (HANDLE hDevice, unsigned long* CounterData) 参数: ? ? ?
函数功能:设置计数器初值。
函数:int AC6111_WCOUNTER (HANDLE hDevice, USHORT counter_data) 参数: ? ?
hDevice:驱动句柄;
counter_data:计数器初值数据0-65535。 hDevice:驱动句柄;
* CounterData:指向计数器值的指针
4.3 VC程序编程说明
编程前,请将AC6111.lib及AC6111.h程序拷贝到用户当前目录中。(需要的文件在\\AC6111\\driver目录中)
VC编程的基本流程: 1.
利用显式调用加载函数。AC6111.lib、AC6111_lib.h文件必须在当前工作目录中。方法,程序的开始处加入如下语句:
#pragma comment(lib, \AC6111.lib\) #include\AC6111.h\
21 ww.wwlab.com.cn
AC6644编程
详细可以参考VC目录中的程序,AC6111.H文件包含了需要的函数的声明过程。 2. 3. 例:
//获得所有6111的操作函数
#pragma comment(lib,\#include\
HANDLE hDevice=INVALID_HANDLE_VALUE; //硬件操作句柄 DWORD Error; Main() {
//获得6111硬件操作句柄
hDevice= AC6111_CreateDevice(0, &Error); //创建设备驱动句柄,设备号为0
……………………… //用户程序
//退出
AC6111_CloseDevice (hDevice); //关闭操作句}
利用AC6111_OpenDevice函数获得板卡的操作句柄。
在退出程序时必须执行如下操作:利用AC6111_CloseDevice函数关闭句柄。
详细可以参考光盘上的AC6111的VC目录下的例子。
在编程时必须注意,硬件操作句柄HANDLE必须为全局变量或必须传递给有相应硬件操作的函数。硬件句柄只要在程序启动时打开一次即可,不需要每次打开或关闭。
4.4 VB程序编程说明
VB编程的基本流程: 1.
在工程菜单中选择添加模块,将AC6111.bas模块添加进来(该模块在光盘中\\pci\\AC6111\\vb目录中,应用时将文件拷贝到当前工作目录),此文件为所有函数的声明文件。 2.
在模块中定义一个硬件操作句柄,为一个long属性的全局变量,这样可以被用户程序中的所有form调用(例:AC6111.bas中声明的句柄hd6610)。 3.
在退出程序时必须执行如下操作: 利用AC6111_CloseDevice函数关闭句柄
注:AC6111.bas模块已经包含了所有必要的6610函数的声明语句。
利用AC6111_OpenDevice函数获得板卡的操作句柄。
22 ww.wwlab.com.cn
AC6644编程
例:
DIM hd6111 as long DIM ErrorOfDriver As Long Private Sub Form_Load() DIM I as long
Hd6644 = AC6111_CreateDevice(0, &ErrorOfDriver) ‘打开设备0号,获得驱动句柄 ………………….. ‘其他操作 End Sub
……………………………………….
Private Sub Form_Unload(Cancel As Integer) AC6111_CloseDevice hd6111 ‘关闭驱动 End Sub
有关用户其它方面的应用请参考光盘中的例程。
注:VB中如果设备操作句柄不等于&HFFFFFFFF为有效句柄。
4.5 LabVIEW程序编程说明
本公司生产的所有采集卡的相关接口函数,均以动态链接库的形式提供给用户。在使用LabVIEW对本公司采集卡进行开发时,只需通过LabVIEW中的Call Library Function Node节点来调用我们所提供的动态链接库函数即可对硬件进行相关操作。
目前,本公司已将客户在LabVIEW中通过Call Library Function Node节点调用DLL函数的过程全部编译为Sub VI的形式,用户只需在LabVIEW的Block Diagram中点击右键,选择ALL Functions->Select a VI,找到\\AC6111(Sub VI)目录,将所需Sub VI添加到LabVIEW的Block Diagram中,即可完成对DLL函数的调用。
详见光盘中的LabVIEW例程及《双诺公司采集卡LabVIEW开发手册》。
23 ww.wwlab.com.cn
AC6644附录
五、附录
24 ww.wwlab.com.cn