1 引言
虚拟仪器(简称为VI)的开发环境有很多,但NI公司的LabVIEW最为著名。LabVIEW不同于基于文本的编程语言(如Fortran和C),是一种图形编程语言——通常称为G编程语言,其编程过程是通过图形符号描述程序的行为。LabVIEW使用的是科学家和工程师们所熟悉的术语www.cechina.cn,还使用了很易于识别的构造G语言的图形符号,即使具有很少编程经验的人也能学会使用LabVIEW。
在实验的物理量测量中,对各种参数的测量都希望能够做到精确和实时。对于测量一些变化较快的物理量,就必须借助仪器本身的缓冲存储器或者使用计算机对仪器进行自动化控制。目前大多的实验仪器都提供了与计算机的接口,所以完全可以用计算机通过各种接口自动地控制仪器数据的测量、数据存储以及基本的数据处理和分析。在编程中,软件使用的是功能比较强大的虚拟仪器编程软件LabVIEW,以及从网上下载的一些基本仪器驱动函数,程序主要实现了数据的实时连续采集显示和缓冲采集指定数据两种功能。
&n
bsp; 2 程序设计
2.1 采集方法分类及其特点
根据测量要求的不同,控制方法分为缓冲采集、实时采集和定时采集三种。这三种方法可以满足一般实验数据采集的要求。(1)当实验要求在仪器允许的条件下,尽可能快地获取测量得到的数据时,就要使用仪器本身的缓冲存储器来采集大量的数据,并显示在计算机上,这样快速采集的数据,才能反应物理量在短时间内的变化。(2)实时采集是指采集、显示数据同时进行,这样可以直观地看出测量物理量的变化,它对数据速率要求不是很高,程序的主要部分是数据处理和显示,用户控制参数有屏幕显示个数以及数据采集时间间隔等。如果采集物理量的变化频率太快,一方面接口受传输数据速率的限制,另一方面计算机受处理能力的限制,使得实时采集不能真正显示数据的变化,实时采集就不能使用。所以当实验采集的物理量变化不是很大的时候,使用实时采集,得到的结果更加直观www.cechina.cn,便于实验者把握实验数据总趋势控制工程网版权所有,并且显示数据的动态曲线图。(3)数据定时采集也是非常常见和重要的,一般希望仪器在规定时间内采集一段数据。
2.2 程序流程
三种程序流程为:(1)实时采集是控制仪器进行实时地数据采集,每得到一个或一组数据后都通过仪器与计算机的接口传输到计算机控制工程网版权所有,并显示,用户可以根据这些实时数据观察当前实验的一些现象,并保存当前数据。(2)缓冲采集应用在实验仪器本身有存储器的时候,控制仪器参数设置,将采集数据后放入存储器,再通过计算机和仪器接口把数据传输到计算机,交由计算机控制,仪器暂停采集,进行下一步数据处理和分析。如果实验仪器本身没有存储器,为了提高采集速度只有先不考虑数据的处理,直接得到原始数据放入数组函数,等到一定量的时候再放入文件进行存储处理。(3)数据定时采集在程序中加入时间判断语句,当设定的采集时间到了,就调用缓冲采集(或实时采集)数据程序,采集数据并存储数据。
下面主要介绍缓冲和实时采集。在编程时,可以根据仪器的编程手册来设置仪器参数。
2.2.1数据缓冲采集
首先,程序开始时把给定的提示信息(“Please Waiting…”)输入到面板上显示表明程序开始运行,请用户等候;然后设置仪器缓冲的各个参数,如采集量,存储个数等,数据采集存储完后再从缓冲中读出数据通过接口(如GPIB)传输到计算机中,显示数据和图形;最后在仪器面板上显示采集完毕信息(“Transmission has been done!”),恢复初始显示采集数据状态,将得到的数据放入表格中,数据图形显示用LabVIEW的WAVEFORM GRAPH 控件。主要程序流程图如图1。
图1:数据缓冲采集主要流程
2.2.2数据实时采集
数据实时采集与数据缓冲采集类似,首先设置仪器基本参数,然后编辑控制显示两个子函数的程序:StrChangeData和ScrDisplay。当设置完仪器采集类型,精度等参数后,则读取仪器面板信息,分析得到数据,通过程序设置参数来控制动态显示数据和图形。主要程序流程如图2。
图2:数据实时采集主要流程
子函数介绍:StrChangeData是将包含测量数据,测量单位等信息字符串转换成实际数据。ScrDisplay是根据用户设置的参数(屏幕显示个数等)实时调整显示数据和图形。
⑴、StrChangeData子函数:
图3:StrChangeData子函数
根据仪器编程手册上命令将面板上测量信息字符串读取出来,字符串一般包含了数据大小,数据单位量级和数据单位。将字符串连接到一个判断中控制工程网版权所有,根据仪器量程,判断语句中有