You are on page 1of 3

第 14 卷  第 3 期               微  机  发  展 14 N o .

V ol. 3
2004 年 3 月 Microcomputer Development                 M ar .2004

虚拟仪器软件 Labview 和数据采集


关  旭 , 张春梅 , 王尚锦
(西安交通大学 能动学院 赛尔机泵研究中心 , 陕西 西安 710049)

摘 要 :
Labview 系统是著名的虚拟仪器开发平台。 和传统的编程语言 C, Fortran 等用于虚拟仪器的开发平台相比, Lab-
view 开发平台程序编写简单、灵活, 易于掌握, 用户不必花费大量的时间用于程序编写 , 可以将更多的精力投入到数据的分
析、处理中。 Labview 开发平台使用图形语言, 界面友好、直观, 非常适合试验数据采集 。 文中阐述了 Labview 的开发环境 ,
结合 USB9100ms 数据采集卡介绍了 Labview 如何进行数据采集 。
关键词 :
实验室虚拟仪器集成环境 ;
数据采集 ;
数据采集卡
+
中图分类号 :
T P274 .2      文献标识码:
A       文章编号:
1005-3751(2004)03 -0077-03

Virtual Instrument Software Labview and Data Acquisition

GUAN Xu , ZHANG Chun-mei , WANG Shang-jin


(Sch .of Energy and Power Eng .
, Xi' an Jiaotong U niv .
, Xi' an 710049 , China)

Abstract:G raphical programming environment Labview is a famous virt ual development plat form f or instrument s .Comparing w ith t radi-
t ional programming language C , Fort ran used in t he virtual inst rument developing platf orm , Labview is very si mple and flexible , w hi ch is
easy t o grasp .U sers can spend more time not in programming but in analyzing and dealing wit h data .G raphical programming is used i n
Labview , and it s int erface i s very f riendly , w hich can be w at ched di rect ly , so Labview is very suitable f or acquiring dat a.
The development
envi ronment of Labview is int roduced in t his paper , and how t o acquire dat a by Labview t aking a U SB9100ms D AQ Card is int roduced .
Key words :
Labview ;dat a acqui si tion ;DA Q card

0  引  言 行顺序是依方块图间数据的传递来决定的 , 因此可以设计
Labview 是美国国家仪器公司(National Instruments , 出可同时执行多个程序的流程图 。
N I)开发的基于图形编译语言( G 语言)的实验室虚拟仪器
集成环境(Laboratory Virtual Instrument Engineering Work- 1  Labview 的开发环境
[ 1] Labview 的开发环境分为三部分 :
前面板(Panel)、框图
bench) , 它具有十分强大的功能 ,包括函数数值运算 、数
据采集 、数据分析 、信号生成 、信号处理 、输入/输出控制 , 程序(Diagram Programme)和图标/连接端口(Icon/Term i-
以及图像获取 、处理和传输等等 。与传统编程采取的文本 nal)。前面板就是图形化用户界面 , 用于设置输入数值和
语言相比 , Labview 使用图形语言(各种图标 、图形符号 、连 观察输出量 。 在前面板中 , 输入量被称为控制(Control),
线等)G 语言编程 , 界面友好直观 , 都是人们熟悉的开关 、 输出量被称为指示(Indicator),它们通过各种图标如按钮 、
旋钮 、波形图等 , 是一种直觉式图形程序语言 。 传统的编 旋钮 、开关 、图表等出现在前面板上 , 模拟真实仪器 。 框图
程语言如 C 、Fortran 等用于虚拟仪器控制 , 需要工程人员 程序由节点(Node)和数据连线(Wire)组成 , 它利用图形语
有相当丰富的编程经验 ,他们必须将自己关于仪器和应用 言对前面板上的控制对象即输入量和输出量进行控制 , 节
的知识转化成一行行的程序代 码 , 以 形成程序测试 。 而 点用来实现函数和功能调用 , 数据连线表示程序执行过程
Labview 编程无须太多的编程经验 , 只要以很直觉的方式 的数据流 , 它定义了程序框图内的数据流动方向 。 图标/
建立前面板人机界面和方块图程序 , 便可完成编程过程 , 连接端口用于把 Labview 程序定义为一个子程序 , 从而实
这样就可以使没有丰富编程经验的工程师从繁重的程序 现模块化编程 , 图标是子程序在其它程序框图中被调用的
文字编码中解脱出来 , 把更多的精力放在试验的测试上 。 节点表现形式 , 连接端口则表示节点数据的输入 、输出口 。
不像传统的编程语言程序必须逐行地执行 , Labview 的执 Labview 具有三个可移动的图形化工具模板 : 工具模
板(Tools Palette)、控件模板(Controls Palette)和功能模板
(Function Palette)。工具模板提供了用于图形操作的各种
收稿日期 :
2003 -08 -24
作者简介 :
关  旭(1976 —), 男 , 陕西户 县人 , 硕士 研究生 , 主 要从事 工具 , 比如定位 、标注 、断点 、连线 、文字注释等 ;
控件模板
离心压缩机的优化研究 。 提供了前面板编辑所需的图像图标 、一些特殊的图形 ; 功
         
· 78 ·                微 机 发 展                     第 14 卷

能模板则提供了一些基本的数学函数和其他功能函数 。 确定输入模拟信号的电压范围 :
0 代表 -10V ~ +10V , 1
这三个模板是 Labview 编程的主要工具 。 代表 -5V ~ +5V , 2 代表 -2 .
5V ~ +2 .
5V , 3 代表 -1 .
25V ~ +1 .
25V , 4 代表 0 ~ 10V ,5 代表 0 ~ 5V , 6 代表 0 ~
2  Labview 用于数据采集 2.
5V ,7 代表 0 ~ 1 .
25V ;
ReadCount 用来确定每个通道采
数据采集(Data Acqusition)是所有测试测量的首要工 集数据的个数 ;
ScanRate 用来确定采样频率 , 根据实际测
作 , 试验测试产生的物理信号通过传感器转换为电压或者 试来指定 ;
Buffer 用来存放总共采集的数据 , 必须大于或
电流一类的电信号 ,然后通过数据采集卡将电信号采集传 等于 ReadCount ×(Channel +1), 它是一个一维数组 ;
Sync-
入 PC 机 , 借助软件控制数据采集卡进行数据分析 、处理 。 mode 用来确定测试系统是否同步或异步模式 ,1 代表同步
Labview 以其简便的程序编写 、不同数据采集卡的支 测试 ,2 代表异步测试 , 本系统采用同步模式 ;
Buffer2 用于
持 、强大的数据处理 、友好的人机界面使其成为控制 、开发 存放采集的数据 。
数据采集卡的最佳软件 。 (3)USB9100ms Continuous Vscale VI(见图 3)。
下面以 USB9100ms 数采卡 为例 , 介 绍 Labview 在数
据采 集 中 的 应 用 。 笔 者 用 Labview 开 发 出 控 制
USB9100ms 数采卡进行数据采样的程序 , 进行压力 、温度
值的现场采样 。
2.
1  USB9100ms 数据采集卡
USB9100ms 数采卡是 ADLINK 公司生产的外置可携
[ 2 , 3]
带即插即用多功能数据采集卡 。 该卡最大采样通道 图 3 USB9100ms 连续 A/ D 转换 V I
为 8 通道 。当用于 8 通道的差分模拟输入时 ,最高连续采 用来将采集的数据按指定的范围转化为电压值 。它
样速率达 100kHz ;
当用于 4 通道的模拟输入时 , 最高瞬态 也是系统中很重要的驱动子 V I 。 Device Number 同(1);
采样速率可达 500kHz 。USB9100ms 数采卡并有 8 通道隔 AdRange 同(2);
ReadingArray 读入采集的数据 ,它和(2)中
离数字输入和 8 通道隔离数字输出 。 的 Buffer2 一致 ;
Count 就是所用通道总共的采样个数 , 比
2.
1.1  US B9100ms 的主要驱动程序 如 ReadCount =1000 ,说明每个通道采集 1000 个数据 , 假
USB9100ms 带有用 Labview 开发的驱动程序库 , 其中 设有 Channel =5 , 共 6 个通道 同时采 样 , 那么总 共采集
的 VI 有几十个 ,适合于不同的场所 。从驱动程序库中找 1000 ×6 =6000 个数据 , Count =6000 ;
VoltageArray 同(2)
出适合所作测试工作的 VI ,各 VI 的功能如下 。 中的 Buffer 一致 ;
VoltageArray2 存放所设置通道采样的电
(1)USB9100ms initial VI(见图 1)。 压值 , 它是一个一维数组 。
(4)USB9100ms Release Device VI(见图 4)。

图 1  U SB9100ms 初始化 VI
用来初始化 9100ms 卡 。 Device Number 用来输出存 图 4 U SB9100ms 设备释放 V I
在的 9100m s 卡卡号 ,系统仅一个 9100ms 卡 ,取默认值 0 。 用来释放 9100ms 卡 , 使其在完成数据采集后处于闲
(2)USB9100ms AI Continuous Scan Channels V I(见图 置状态 , 以便下次调用 。 Device Number 和(1)所取一致 。
2)。 以上 4 个子 VI 中的 Error -No , Error - In , Error -Out
彼此相连 ,用来判断 9100ms 数采卡的工作状态是否正常 ,
Error -Out 默认输出值为 0 , 表示工作状态正常 。 若 Er-
ror -Out 输出不是 0 , 那么说明数采卡工作状态出错 , 可根
[ 2]
据输出数据查阅 9100ms 说明书来解决问题 。 图 5 是
USB9100m s 数据采集卡数据采集程序流程图 。
图 2 U SB9100ms 连续多通道数据采集 V I
用来连续进行多通道的数据采集 。 这是系
统中最重要的驱动子 VI , 其功能是软件触发一
次指定 A/D 卡 、采样通道 、采样个数 、采样频率 、
输入电压范围和采样通道的 A/D 转换 。 Device
Number 同(1);
Channel 用来确定同时工作的通
道数 , 0 至 7 分别代表 1 至 8 通道 ;
AdRange 用来 图 5 USB9100ms 数据采集卡数据采集程序流程图
第 3 期               关  旭等 :
虚拟仪器软件 L abview 和数据采集 · 79 ·

2.
1.2  US B9100ms 的数据采集程序设计
此 USB9100ms 数据采集系统主要用于测试试验有关
设备的压力 、温度值的采集 ,在采集数据之前 ,首先要对数
据采集的初端设备 ———压力变送器和温度标定仪进行标
定 , 求标定系数 ,具体数学描述如下 :
设 Y 代表压力(温度)值 , X 代表电压值 :
Y = ê1 X n +ê 2 X n +1 +… +ê nX +ê n +1 ,
n =1 , 2 , … , ∞ (1)
ê 1 , ê 2 , … , ê n+1 为所求的标定系数 , n 取值越大 ,计算
的压力(温度)值就越精确 。 Labview 带有强大的数学函数
分析功能 , 可用其自带的函数分析子程序求得相应数目的
标定系数 。图 6 是 USB9100msDAQ8 通道数据采集系统
标定部分 。该图显示 5 个通道同时进行压力变送器标定 。 图 7 USB9100ms8 通道数据采集系统

该程序采用 Labview 自带的数学函数分析 ,可以设定 n 值 以上用 Labview 开发的数据采集程序可用于不同场


和计算标定系数所用的方法 , 同时采用了 Labview 自带的 合测试试验中压力 、温度值的采集 。 试验中的采样频率 、
曲线拟合图表分析 , 可以使用户观察曲线拟合的线性情 采样个数 、测量电压范围都根据实际测试现场制定 。
况 ,及时发现错误 , 清除不合理数据 。由于系统所用的压 图 6 ~ 图 7 充分显示了 Labview 开发的虚拟仪器试验
力变送器具有良好的线性 , 采取一次线性函数(此时 n = 平台具有界面直观清晰 、操作简捷方便的特点 。

1)基本可以保证测试值的精确 。
3  结  论
Labview 是一个功能强大的虚拟仪器编译环境 , 它简
化了编程过程 ,给予用户更多的灵活性 。 编程者无须知道
数据采集卡的硬件知识 , 只要了解和掌握其驱动程序的功
能 , 就能利用 Labview 进行数据程序的开发 , 同时 Labview
简单的编写语言和易于掌握的控制控件 , 使用户从繁重的
程序编写中解脱出来 , 能将更多的精力投入到试验测试 、
数据分析和处理中 。

参考文献 :
[ 1]  杨乐平, 李海涛 , 肖相生 , 等.Labview 程序设计与应用[ M]
图 6  U SB9100ms8 通道数据采集系 统标定部分 .北京:
电子工业出版社, 2001.
求得标定系数后 , 再通过(1)式 , 根据采集的电压值即 [ 2]  USB -Labview Function Reference[ Z] .
Adlink Technology

可计算出压力(温度)值 。图 7 是 USB9100ms8 通道数据 Inc , 2001 .

采集系统 , 该图显示了 5 通道同时采集压力数据 。 [ 3]  USB-Labview User' s Guide[ Z] .


Adlink Technology Inc,
2001.

(上接第 45 页)
4  结束语
文中详细介 绍了 XML 文件的表示 方法 、有效性验
证 、格式化方法 , 和 JSP 网站中 XM L 文件进行上传下载
的方法 。

参考文献 :
图 3 文件下载 [ 1]  陈会安.
XM L 网页制作切底研究[ M] .
北京:
中国铁道出版

其中上传是通过一个名为 UploadBean 的 JavaBean 来 社 , 2003.

完成的 , 下载是通 过一个名为 Dow nload4jServlet 的 一个 [ 2]  Javazoom .


Servlets[ EB/ O L] .http:
// www .javazoom .
net/
jzservlets/ servlets.
html, 1999-2003.
Servlet 来完成的 。

You might also like