LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式,是开发测量或控制系统的理想选择。PCIE-1840/1840L是研华125M/80M高速采集卡,16位高分辨率,完美支持Labview。研华提供了丰富的Labview例子程序以方便用户进行参考,包括
除了数据采集之外,高速采集还需要数据显示和数据存储做特殊的处理。
1、采集通道设定:使用十六进制格式替代浮点数格式;
2、显示设定:在采集和存储数据时,使用抽样显示替代实时显示;
3、存储设定:使用Labview 高级TDMS函数进行数据存储;
编程说明
一、采集通道设定
数据采集卡输出的原始格式是十六进制,一般为了方便后续的处理,会同时提供转换后的浮点数(电压值),但这种转换是以增加CPU的负担为代价的,对于超高速采集一般采用直接读取十六进制的方式。研华Labview驱动提供两种方式:Express(向导模式)和Polymorphic(多态模式)。
Express设定如下:
Polymorphic设定如下:
Labview具体实现参见程序框图的第1红框注释
二、显示优化设定:
在采集数据是往往需要实时观察信号的变化趋势,因PCLE-1840每秒钟会采集到125M-500M采样,如果全部显示到实时曲线会消耗大量的CPU资源。人的肉眼可见的画面分为静止的画面和动态的画面,人眼的视觉暂留时间是0.05秒,因此,当连续的图象变化超过每秒24帧画面的时候,人眼便无法分辨每幅单独的静态画面,看上去是平滑连续的视觉效果,因此采用抽样显示的方式可以在不影响实时显示的前提下减少CPU占用。
Labview具体实现参见程序框图的第2红框注释
三、存储设定:
TDMS是一种能实现高速数据记录的二进制文件格式。启用TDMS数据记录后,DAQNavi可将数据直接从设备缓冲区以流盘方式写入硬盘。将原始数据写入TDMS文件,提高了写入速度并降低了对硬盘的影响。写入原始数据的同时,换算信息也同时被写入文件供日后读取文件时使用。写入数据至磁盘的同时也可读取数据。 TDMS文件的逻辑格式遵循TDM三层结构,文件、通道组、通道三层。DMS内部结构的核心概念是segment,如下图。
每次写数据,每次往TDMS文件中flush to disk的时候就在文件的后面添加这样一个segment,而不去关心之前的segment中包含了什么样的信息。这个特点非常关键,这就可以使得我们写文件的速度非常快,我们并不关心之前文件中包含了什么信息,也就使得我们写TDMS文件的速度并不和TDMS文件的大小成正比或者有任何关系。
TDMS包括Express函数、通用函数和高级函数,高速的读写需要用到高级函数。
高级TDMS VI和函数可用于对.tdms文件进行高级I/O操作(例如,异步读取和写入),可以使用函数测试磁盘读写速度,例如对普通SATA硬盘的测试写速度位493M。
Labview具体实现参见程序框图的第3红框注释.
该程序的前面板运行结果如下:
实用综合完整例程
完整的高速数字化仪包括数据采集设定、实时曲线显示、历史数据调用和显示、数据分析和处理等。下面是一个综合例子,左框是数据采集和实时显示(抽样显示),点击“Acquisition&Save”按钮进行数据采集,采集结束后,数据自动存储到TDMS文件中;右框为数据回放,点击“Read&Display”按钮读取刚才采集到的文件,进行曲线回放和数据分析。
程序框图如下,主循环包括两个部分,上半部分为数据采集存储TDMS,下半部分为读取TDMS数据和回放分析。
该程序在研华DAQNavi4.0.3和Labview2012下运行。
程序运行动画如下: //v.qq.com/txp/iframe/player.html?