介绍一种通过LabVIEW提供的Call Library Function Node实现对动态链接库(DLL)调用的方法,完成对通用数据采集卡的驱动,实现LabVIEW与通用数据采集卡的结合。?
关键词:LabVIEW;驱动;数据采集
Baoding 071003, China)
LabVIEW驱动通用数据采集插卡的方法有三种。
其一,直接用LabVIEW的Function模板内Advanced子模板的Port I/O图标编程,通过手动对基地址的设置,直接从特定的地址内存中读取数据。若采样速度要求不高,它是很方便直观的方法;其二,利用LabVIEW的Functions模板内Advanced子模板中CIN(Code Interface Node)图标,它适用于直接调用文字编程语言(如VC)所编写的代码。用CIN结点生成A/D驱动程序的子VI的方法可充分发挥A/D的高转换速度,获得高的采样速率。但编程较烦杂,不能由LabVIEW直接修改;其三,用LabVIEW的Functions模板内Advanced子模板中Call Library Function Node图标,动态链接数据采集卡的DLL库函数。DLL实际上是一个函数库,只在应用程序运行时DLL中的函数才被随时调用和连接。和静态连接库相比,DLL可以和其他应用程序共享库中的函数和资源。许多数据采集插卡生产商提供DLL库函数形式的驱动程序,用户可使用某种DLL链接库的编程工具,如VC、VB编写应用程序来调用它。同样,LabVIEW也提供了该功能,就是图标Call Library Function Node,放在Function模板内的Advanced子模板中,通过设置该节点来直接调用DLL。?
在本研究系统中采用第三种方法,实现了在线切削力的数据采集。采用基于ISA总线的数据采集卡ACL-8111,DLL直接由生产厂家提供。?
其一,直接用LabVIEW的Function模板内Advanced子模板的Port I/O图标编程,通过手动对基地址的设置,直接从特定的地址内存中读取数据。若采样速度要求不高,它是很方便直观的方法;其二,利用LabVIEW的Functions模板内Advanced子模板中CIN(Code Interface Node)图标,它适用于直接调用文字编程语言(如VC)所编写的代码。用CIN结点生成A/D驱动程序的子VI的方法可充分发挥A/D的高转换速度,获得高的采样速率。但编程较烦杂,不能由LabVIEW直接修改;其三,用LabVIEW的Functions模板内Advanced子模板中Call Library Function Node图标,动态链接数据采集卡的DLL库函数。DLL实际上是一个函数库,只在应用程序运行时DLL中的函数才被随时调用和连接。和静态连接库相比,DLL可以和其他应用程序共享库中的函数和资源。许多数据采集插卡生产商提供DLL库函数形式的驱动程序,用户可使用某种DLL链接库的编程工具,如VC、VB编写应用程序来调用它。同样,LabVIEW也提供了该功能,就是图标Call Library Function Node,放在Function模板内的Advanced子模板中,通过设置该节点来直接调用DLL。?
在本研究系统中采用第三种方法,实现了在线切削力的数据采集。采用基于ISA总线的数据采集卡ACL-8111,DLL直接由生产厂家提供。?
输入信号范围:±5V,±2.5V,±1.25V,±0.625V,±0.3125V(软件编程选择);最高采样频率:30kHz;触发模式:软件、在板可编程定时器或外触发;数据传输:程序控制、中断控制;IRQ级别:可编程IRQ2,3,4,5,6,7;通道数:8路单端通道。
本系统输入信号范围±5V,采样频率2000Hz,A/D数据转换触发模式采用在板可编程定时器触发,数据传输采用中断控制,中断级别设置为5,通道数为3,三个通道分别采集和传输获得X,Y、Z三向切削力。?
待采集的模拟信号通过电荷放大器放大,根据预先设定选择不同的增益;输出的信号进行A/D转换,转换结束后,将12位转换结果自动存在数据寄存器中,然后通过中断控制将数据取出,送入计算机内存进行处理。在使用时,将采集卡直接插入计算机ISA插槽中,使用其预先设定的基地址220H。?
本系统输入信号范围±5V,采样频率2000Hz,A/D数据转换触发模式采用在板可编程定时器触发,数据传输采用中断控制,中断级别设置为5,通道数为3,三个通道分别采集和传输获得X,Y、Z三向切削力。?
待采集的模拟信号通过电荷放大器放大,根据预先设定选择不同的增益;输出的信号进行A/D转换,转换结束后,将12位转换结果自动存在数据寄存器中,然后通过中断控制将数据取出,送入计算机内存进行处理。在使用时,将采集卡直接插入计算机ISA插槽中,使用其预先设定的基地址220H。?