OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » (转帖)三种在LabVIEW中使用国产数据采集插卡的方法

共1条 1/1 1 跳转至

(转帖)三种在LabVIEW中使用国产数据采集插卡的方法

菜鸟
2006-11-23 21:13:00    评分
三种在LabVIEW中使用国产数据采集插卡的方法



笔者将近年来工程应用中总结出的三种在LabVIEW中驱动通用数据采集插卡的方法介绍如下。介绍中,以某市售8通道12A/D插卡为例。设插卡基地址为base=0x100,在C语言中,选择信号通道ch的指令是 _outpbasech,启动A/D的指令是_inpbase,采样量化后的12位二进制数的高4位存于base+2中,低8位存于base+3中。


2.1 直接用LabVIEW In Port , Out Port 图标编程


LabVIEWFunctions模板内Adevanced \ Memory中的In Port Out Port 图标,与_inp_outp功能相同,因此可用它们画程序方框图, 设计该A/D插卡的驱动程序。N个通道扫描,各采集n点数据的LabVIEW程序方框图如图1所示。图中用LabVIEW的计时图标控制扫描速率。


显然,若采样速率要求较低,这不失为最方便、直观的方法,而且可随画随改。


2.2 LabVIEWCIN图标生成A/D插卡驱动程序的子VI


LabVIEWFunctions模板内Adevanced 中有一个CINCode Interface Node)图标,用来在LabVIEW程序方框图中直接调其它编程语言(如VC)写的代码。现以生成一个对指定的通道采集n点数据的LabVIEWVI为例,其主要步骤为:


(1) 在LabVIEW下,点出CIN图标,拖大并联接入两个控件和一个显件,如图2所示。其中控件用于选择模拟信号输入通道和选择数据采集点数,数组显件显示所采集的数据。


(2) 在CIN图标上单击鼠标右键弹出菜单,选Create .c file.,产生并存入一个×××.C程序框架。


(3) 在VC++5.0下完成×××.C程序框架的数据采集部分的编写,编译该×××.C程序(示例见附1),生成×××.obj代码。在coustom build方式下用nmake / f ×××.lvm 指令将×××.lvm接口程序(示例见附2)编译成×××.lsb代码。


(4) 在LabVIEWCIN图标下装载×××.lsb。运行成功后将该CIN作成子VI,存入某个文件夹。


在以后的LabVIEW应用程序框图中,该子VI图标即可作此A/D插卡驱动图标使用。


A/D插卡上有晶振作基准时钟,有可编程计数/定时器,附录1示例的C语言程序还可加入定时采集语句,以实现在子VI中选择采样速率。图3是调用按上述步骤生成的子VI编程所采集的方波信号及其自功率谱。


CIN结点生成A/D插卡驱动程序的子VI的方法可较充分发挥A/D的高转换速度,获得高的采样速率。但编程较烦杂,不能由LabVIEW直接修改。


2.3 LabVIEWCall Library Functions图标,动态链接数据采集插卡的 .DLL库函数


许多数据采集插卡附有.DLL库函数形式的驱动程序,用户可使用某种DLL链接库的编程工具,如VCVB,编写应用程序来调用它。LabVIEW也提供了一个动态链接库函数的图标Call Library Function,放在Functions模板内的Adevanced子模板中。在example/dll目录中有使用该图标的例子,可参照它们完成对数据采集插卡的.DLL库函数的调用。




关键词: 转帖     种在     LabVIEW     使用     国产     数据采集         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]