摘 要: 介绍了非NI 公司的数据采集卡的三种驱动方式:I/O 方式;C IN 方式;CLF 方式。利用CLF驱动方式对PCI -1802L 数据采集卡进行了双通道连续数据采集系统的设计,实践表明,Lab VIEW具有良好的开放性,在该平台下不仅能方便的使用NI 数据采集卡,也能灵活地使用非NI 数据采集卡采集数据,这是Lab VIEW 与其它测试软件相比的特色之一。
关键词: LabVIEW;数据采集;NI
引言
虚拟仪器(V I )是现代计算机技术和仪器技术深层次结合的产物,是仪器的软件化。它由计算机硬件资源, 仪器与测试系统硬件资源和虚拟仪器软件资源三者的有效结合,所谓虚拟仪器, 就是在以计算机为核心的硬件平台上, 由用户设计与定义功能, 具有虚拟面板, 并由测试软件来实现测试功能的一种计算机仪器系统。数据采集卡是虚拟仪器进行测试必不可少的硬件, 外界信号需由它采集, 然后经过一系列的信号调理, 输入到虚拟仪器测试系统。数据采集卡可以分为两类:一类是由NI 公司提供,并且NI 公司提供了上百种驱动程序,Lab VIEW 支持这种采集卡3。因此,在Lab VIEW环境下应用这类数据采集卡采集数据无需专门的驱动程序; 另一类为非NI 数据采集卡,Lab VIEW 不支持,需要编写相应的驱动程序使之被 Lab VIEW 所识别,从而完成数据采集工作。
一.通用数据采集卡的驱动方法
L a b V I E W 提供的通用数据采集卡的驱动方式有三种, 分别是直接端口读写方式(I/O 方式);调用C 语言源代码方式(C IN 方式);调用动态链接库方式(CLF 方式)。
1.直接用In Port,Out Port 图标****编程驱动
L a b V I E W 中有两个直接访问底层设备的图标,既In Port.vi 和Out Port .vi ,这两个函数分别完成从设备的物理地址直接读取和输出数据功能, 通过直接读写寄存器可以提高数据的传输速率, 采集卡的工作方式为: 软件驱动, 查询方式读取采样结果。In Port.vi 和Out Port . vi 图表存放在Memory 子模板上,这两个图标的调用路径分别如下:
Functions>>Advanced>> Memory>>In Port.vi
Functions>>Advanced>>
Memory>>Out Port.vi
直接读取端口方式实现起来比较简单, 适用于采集精度要求不高的情况。对于精度要求高且复杂的采集系统, 如包含对内存大量操作的情况, 这种方式就不能满足需要。
2.调用C 语言源代码方式(CIN 方式)驱动2
在实际设计中, 经常会碰到某些想实现的功能但利用L a b V I E W 中现成的图标无法实现, 而利用其他编程语言很容易实现的情况, 这时就需要利用Lab VIEW 中的接口图标,以实现L a b V I E W 与其他编程语言的之间的连接,C I N 图标就是其中的一种,它是Lab VIEW 与C 语言的接口, C I N 通过输入,输出端口实现两种语言之间的数据传递。输入, 输出端口的个数可由设计者根据实际需要确定。当Lab VIEW 的程序运行到C IN节点时,数据由C I N 的输入端口传递给C 源代码图标,程序转去执行C源代码,代码执行完后,得到的数据结果由C IN 的输出端返回给LabVIEW,
具体实现步骤如下:
(1)确定C I N 图标的输入,输出参数的个数和数据类型;
(2)生成C 源代码编辑格式文件;
( 3 )在编辑格式文件中的规定位置上填写实现某种测量功能的C源代码,生成最终的C 源代码文件;
(4)在LabVIEW 指定的环境下编译(3 )中生成的C 源代码文件,并生成可执行文件;
(5)调用C IN 的功能菜单将生成的可执行文件载入C I N 图标.这样就基本形成了一个具备某种功能的 C IN 图标。
◆ 1 6 个数字输入/1 6 个数字输出通道;
◆可编程低增益为0.5、1、2、4、8;
◆内部/ 外部触发;
◆ 2 个独立的可编程数摸转换器;每个通道最大数据流量为2 M H z。
本文设计的数据采集系统由三部分子模块组成: 数据采集模块; 数据存储模块; 数据回放模块。
1.LabVIEW驱动接口的设计
这里以函数P180x-AdsPacer 为例加以说明调用动态连接库创建驱动接口的方法,其他函数接口的创
3.调用动态连接库的方式(CLF方****式)驱动
动态连接库是一种应用程序在运行时与库文件连接起来的技术,动态连接库是在应用程序运行时被装入和链接的, 而不是把源代码复制到应用程序中去, 因此使用动态连接库可以实现多个应用程序之间代码和资源的共享。动态连接库通常由数据采集卡生产厂商提供, 通过L a b V I E W 的C L F (调用路径为 Function>>Advanced>>Call Libra ry Function)功能模块来调用。详细用法将在后面的数据采集系统设计中进行说明。
二.PCI1802L 数据采集卡数据采集系统设计
PCI1802L 是非NI 公司生产的即插即用数据采集卡,它可以在D O S和Windows 环境下实现330KHz 的连续平滑数据采集,它有两个A D 转换模式:固定通道模式和魔术扫描模
式,其主要性能如下:
◆12 位330KHz A/D 转换;
◆32 个单端/16 个差分输入,8K字FIF O 缓存;
◆单通道,多通道工作时,采样速率均为330K S/s;
◆3 种灵活的外触发方式: 前触发、后触发、中触发;
建方法同理。
P180x -AdsPacer 函数的功能是硬件定时器触发模式下,对一个通道的模拟输入信号进行A /D 转换,返回转换值。要在L a b V I E W 中应用该函数功能,必须创建该函数在 L a b V I E W 环境中的驱动接口。首先在F u n c t i o n s 模板中选择 Adcanced>>Call Library Function Node 子模板,如图5 -9 所示。
