基于LabVIEW的数据采集系统分析与设计
扫描二维码
随时随地手机看文章
0 引言
现代技术的进步,特别是以计算机技术为代表的不断革新的计算机技术,正从各个层面上影响并引导着各行各业的技术革新,基于计算机技术的虚拟仪器系统技术也正以不可逆转的力量推动着测量控制技术、数据采集和分析等技术的发展。传统仪器主要由信号采集与控制模块、分析与处理模块、以及测量结果的表达与输出模块这三大功能模块组成。传统仪器的这些功能都是以硬件(或固化的软件)形式存在的。而虚拟仪器则是将这些功能移植到计算机上完成。它在计算机上插上数据采集卡,然后利用软件在屏幕上生成仪器面板,并利用软件进行信号的分析与处理。相对于传统仪器,虚拟仪器具有性能高、扩展性强、开发时间少、完美的集成功能等特点。
LabVIEW是一款优秀的虚拟仪器软件开发平台。LabVIEW以其直观、简便的编程方式,众多的源码级设备驱动程序,多种多样的分析和表达支持功能,可为用户快捷地构建实际生产中所需要的仪器系统创造有力的基础条件。其中数据采集与仪器控制是LabVIEW最具竞争力的核心技术。
1 系统整体方案设计
一个完整的LabVIEW程序主要包括前面板、程序框图、连接器三部分。前面板是一种交互式图形化用户界面,用于设置输入数值和观察输出:框图是定义VI 功能的图形化源代码,可利用图形语言对前面板的控制量和指示量进行控制;图标和连接器窗格用于把程序定义成一个子程序,以便在其他程序中加以调用。本系统包括波形信号采集、保存标准信号、信号处理和分析、采集数据回放四个部分。图1是信号采集与分析系统框图。
1.1 波形信号的采集
该部分主要利用外部触发方式发出触发信号,以使发出信号和通道的采集达到同步。以信号发生器发出信号为例;为了分析有限个波形的数据,必须保证采集卡采集的数据是发出的全部信号并且只有一个发出信号。本系统通过采集卡输出一个脉冲信号来触发信号发生器,以使采集卡的输入通道和脉冲输出通道同步。实际上,正是基于这一点,其发出的任意信号才必须被无遗漏的同步采集过来。本设计正好满足了此要求。该部分的前面板控件包括采集信号参数的设置控件、脉冲输出端口、信号输入端口以及存放信号处理后峰值点位置的三个数组。其中采样率的设置比较重要,例如根据需要发出的信号周期是0.4ms,每个周期采集200个点,采 5个周期就需要rate=l MHz,那么,每个点之间的时间间隔就是lμs,这样推理便于后面的信号处理。
程序中可利用数据采集的工具DAQmx中的各种子vi来实现数据的通信,并可通过Get Terminal Name with Device Prefix.vi来实现输入与输出之间的同步。最后通过波形图显示所采集到的信号,同时通过Waveform Peak Detection for l Chan.vi获得信号超过阈值的峰值点。其数据采集程序框图如图2所示。
1.2 信号处理与分析
此部分首先选择以前保存过的标准信号作为信号处理的标准。选择路径后,相应的标准会存放到处理中的位置。然后点击前面板中的“信号处理”按钮,这样,相应的处理结果就会显示出来。标准信号和采集信号峰值点的位置和个数相应的显示出来,最后的相减结果也以数组的形式给出。其中无论是重新选择的标准信号还是以前默认的信号,都可以通过波形再次回放出来。通过一个选择结构来实现用什么样的标准信号来处理,其信号处理子模块的程序框图如图3所示。
l.3 信号的保存
在信号采集模块中,每次采集都默认保存,而且采集信号每次保存后都会覆盖上一个,这样,在程序运行过程中,用户可以随机地保存标准信号。其方法是把默认目录下的test.1vb文件复制到想要保存的路径下,然后通过读取测量文件把该目录下的波形提取出来。在此,标准信号的回放在信号处理的过程中已经用波形图的形式显示出来,但要用到此处保存路径的属性节点。其保存标准信号的程序框图如图4所示。
2 设计模式的选择
该程序的设计模式是基于事件结构的人机界面(UI EventLoop),即用控件的事件结构来响应用户操作。它可以避免因轮询导致的CPU浪费,而且会自动产生事件队列,从而避免丢失事件。