(完整版)在LabVIEW中驱动数据采集卡的三种方法_第1页
(完整版)在LabVIEW中驱动数据采集卡的三种方法_第2页
(完整版)在LabVIEW中驱动数据采集卡的三种方法_第3页
(完整版)在LabVIEW中驱动数据采集卡的三种方法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在 LabVIEW 中驱动数据采集卡的三种方法作者 :EEFOCUS 文章来源 :EDN China一、引言近年来,面向仪器的软件开发平台,如美国 NI 公司 LabVIEW 的成熟和商业化,使用者在 配有专用或通用插卡式硬件和软件开发平台的个人计算机上, 可按自己的需求, 设计和组建各种 测试分析仪器和测控系统。由于 LabVIEW 提供的是一种适应工程技术人员思维习惯的图形化编 程语言,图形界面丰富,内含大量分析处理子程序, 使用十分方便,个人仪器发展到了使用者也 能设计,开发的新阶段。鉴于是工程技术人员自己编制, 调用软件来开发仪器功能, 软件成了仪器的关键。 故人们也 称这类个人仪器为

2、虚拟仪器,称这种主要由使用者自己设计,制造仪器的技术为虚拟仪器技术 ( Virtual Instrumentation Technology )。使用虚拟仪器技术,开发周期短、仪器成本低、界面友 好、使用方便、可靠性高 , 可赋于检测仪初步智能,能共享 PC 机丰富的软硬件资源,是当前仪 器业发展的一个重要方面。虚拟仪器的典型形式是在台式微机系统主板扩展槽中插入各类数据采集插卡, 与微机外被测 信号或仪器相连,组成测试与控制系统。但 NI 公司出售的,直接支持 LabVIEW 的插卡价格十 分昂贵,严重限制着人们用 LabVIEW 来开发各种虚拟仪器系统。在 LabVIEW 中如何驱动其它 低

3、价位的数据采集插卡,成为了国内许多使用者面临的关键问题。二、三种在 LabVIEW 中使用国产数据采集插卡的方法笔者将近年来工程应用中总结出的三种在 LabVIEW 中驱动通用数据采集插卡的方法介绍如下。介绍中,以某市售 8 通道 12 位 A/D 插卡为例。设插卡基地址为base=0x100 ,在 C 语言中,选择信号通道ch的指令是 _outp (base, ch),启动A/D的指令是np (base),采样量化后的 12位二进制数的高 4位存于base+2中,低8位存于base+3中。1 、直接用 LabVIEW 的 In Port , Out Port 图标编程LabVIEW 的 Fu

4、nctions 模板内 Adevanced Memory 中的 In Port 、Out Port 图标,与 _inp、 _outp 功能相同,因此可用它们画程序方框图 , 设计该 A/D 插卡的驱动程序。 N 个通道扫描,各 采集 n 点数据的 LabVIEW 程序方框图如图 1 所示。 图中用 LabVIEW 的计时图标控制扫描速率。图1 N个通道扫描,各采集 n点数据的程序方框图显然,若采样速率要求较低,这不失为最方便、直观的方法,而且可随画随改。2、用LabVIEW 的CIN图标生成A/D插卡驱动程序的子 VILabVIEW 的 Functions 模板内 Adevaneed 中有一个

5、 CIN ( Code InteRFace Node)图标,用来 在LabVIEW 程序方框图中直接调其它编程语言(如VC )写的代码。现以生成一个对指定的通道采集n点数据的LabVIEW 子VI为例,其主要步骤为:01 艸001002ill?U32图2 CIN图标(1) 在LabVIEW 下,点岀CIN图标,拖大并联接入两个控件和一个显件,如图2所示。 其中控件用于选择模拟信号输入通道和选择数据采集点数,数组显件显示所采集的数据。(2) 在CIN图标上单击鼠标右键弹岀菜单,选Create .c file.,产生并存入一个 xxC程序 框架。(3)在VC+5.0下完成xxx;C程序框架的数据采

6、集部分的编写,编译该 XXXC程序(示例 见附1 ),生成 xxxobj代码。在 coustom build方式下用nmake / f xxivm 指令将xxxivm接口 程序(示例见附 2)编译成xxxisb代码。(4) 在LabVIEW 的CIN图标下装载xxx.lsb。运行成功后将该CIN作成子VI ,存入某个文件夹在以后的LabVIEW 应用程序框图中,该子VI图标即可作此 A/D插卡驱动图标使用。若A/D插卡上有晶振作基准时钟,有可编程计数/定时器,附录1示例的C语言程序还可加入定时采集语句,以实现在子 VI中选择采样速率。图 3是调用按上述步骤生成的子 VI编程所 采集的方波信号及

7、其自功率谱。9匸莊哉I1.C-0.0-H.0-2. 5-& 00 0.010 020.C3 0.04 005 0Jt砂D6 C. 07 0 0 0.09 0 10一频谙一0.5-0.01000. C 2000.03000.0400C.05000.图3采集的方波信号及其自功率谱用CIN结点生成A/D插卡驱动程序的子VI的方法可较充分发挥A/D的高转换速度,获得高的采样速率。但编程较烦杂,不能由 LabVIEW 直接修改3、用LabVIEW 的Call Library Functions图标,动态链接数据采集插卡的.DLL库函数许多数据采集插卡附有.DLL库函数形式的驱动程序,用户可使用某种DLL

8、链接库的编程工具,女口 VC、VB,编写应用程序来调用它。LabVIEW也提供了一个动态链接库函数的图标CallLibrary Function,放在Functions模板内的 Adevaneed子模板中。在 example/dll目录中有使用该 图标的例子,可参照它们完成对数据采集插卡的.DLL库函数的调用。三、两个测试系统实例1、滚动轴承振动虚拟检测仪该滚动轴承振动虚拟检测仪是为检测低噪声轴承强调的异音”而开发的。目前国内滚动轴承岀厂振动分类检测的行业标准和检测仪器(如S0910型)都只能检测振动加速度的均方根值,远不能适应低噪声轴承的要求。我们在 LabVIEW 下,用 PC 机加国产

9、12 位 A/D 插卡,开发出的虚拟检测仪,采样速率最 高达 80KHz 。按每 2 秒检测一个轴承的迫节,以加速度均方值的分贝值,峰值因子,峭度,超 某幅值峰数四个参数来综合评定轴承振动级别。PC机14的CRT,对检验员有极佳的可视性,检测确定的轴承等级由软指示灯闪烁显示, 在面板上十分醒目, 便于检验后归类。 每个轴承的检 验结果自动写入当班统计文件中, 供生产和质检部门使用。 检测程序读入各类设置文件便可适应 不同类型轴承或不同的检测分类标准。2、空调散热器试验测温系统为对某空调散热器进行散热性能试验,开发出多点热电偶测温的虚拟仪器系统。硬件选用一国产有 A/D 及 DIO 的 PC 机

10、插卡,外串接三块前端信号处理板。每块前端信号 处理板提供一个冷端补偿电路,并可接 16 路热电偶。每块前端板的冷端补偿电压和热电偶电势 各占用插卡的一个模拟输入通道,由插卡的发出的 4位数字输出选择各热电偶电势输入。由于温度采集速率甚低,直接用 LabVIEW 的 In Port , Out Port 图标编程完全可满足要求。 编程中调用了 LabVIEW 中 Functions 模板内 Data Acquisition Signal ConditioningConvert Thermcouple Reading 图标,稍作修改,生成了各类标准热电偶温度转换为电压,电压转换为温 度的新的子 V

11、I 。编程十分简便,且能用于各类标准热电偶测温。附1 XXX. C源程序/* CIN source file */#include c:labviewcintoolsextcode.h#include conio.h typedef struct int32 dimSize;float32 arg11; TD1;typedef TD1 *TD1Hdl;CIN MgErr CINRun(int32 *n, TD1Hdl xarray, int32 *ch);CIN MgErr CINRun(int32 *n, TD1Hdl xarray, int32 *ch) /* ENTER YOUR CODE HERE */int base , i, ns,c;uInt8 h,l;float *xarrayElmtp;ns=*n;/* 采样点数 */ c=*ch;/* 模入通道号 */ SetCINArraySize(UHandle)xarray,1,ns);(*xarray)-dimSize=ns; xarrayElmtp=(*xarray)-arg1;base=0x100; /* 数据采集插卡基地址 */ _outp(base,c); /* 选择模入通道 */ for (i=0;i_outp(base+1,0); /* 启动 A/D*/ do ; while (_inp(0x101)&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论