传统数据采集系统一般由单片机与硬件采集电路或数据采集卡配置计算机组成。这种数据采集系统存在开发难度大、可移植性差、数据采集效率低、实时存储容量小等缺点。其存储容量取决于数据采集卡的板载内存的大小,一般只有8 MB或12 MB,而现代工程运用中的数据采集系统需具有很高的采样速率,完成海量数据的实时存储。针对传统数据采集系统存在的不足,这里采用虚拟仪器(LabVIEW)和高速数字化仪NI PCI-5124设计一种可以长时间连续采集、实时存储的数据采集系统。
本系统只使用PC机、数据采集卡以及编程语言即可在Windows操作系统下实现对数据的采集、存储、处理,开发成本低,通讯能力强,易于使用。系统改善了传统数据采集系统的存储量小、采集效率低等缺点,可实现信号的长时间实时采集、存储、回放、分析、报表打印等功能。
1 系统硬件设备简介
该系统硬件设计结构原理框图如图l所示。
系统硬件设计主要包括PC控制机和高速数据采集卡。由于许多插入式的数据采集DAQ(Data Acquisition)设备采集数据不仅受到采样速率的限制,而且受到板载内存和数据到PC机内存的传输速率的限制。
针对以上问题,本设计选用插入式DAQ产品中价位低、速率快、精度高的高速数字化仪NI PCI-5124。它可以直接插入计算机的PC捕槽,即插即用使用方便,具有200 MS/s的实时采样至4.0 GS/s的等效时段采样;标准8~256 MB大容量板载内存;基于PCI总线的12位分辨率的双同步采样通道;使用新技术实现在2个150 MHz带宽的、带有去噪和抗混叠滤波器的输入信道中同步采样;高达75 dBc的无寄生动态范围SFDR(Spufious-Free Dynamic Range);基于NI同步和存储核心SMC (SynchronizaTIon and Memory Core)构架,具备每通道512 MB板载内存、快速数据传输和紧密的同步功能。工程师们可以在几十皮秒(ps)内同步基于SMC的模块化仪器,主要有边缘、视窗、滞环、视频和数字等触发方式,主要用于高通道和混合信号应用。
专用数据采集长的驱动方式分为外挂式驱动和内置式驱动两种。对于NI公司生产的各种专用数据采集卡,可使用LabVIEW内的DAQ库直接对端口进行各种操作,即内置式驱动。NI数据采集卡提供对LabVIEW丰富且完备的支持,驱动函数在底层的基础函数上进行高度封装,用户无需深入了解采集卡的具体工作,只要掌握驱动函数输入/输出端口的意义,就能进行数据采集开发。因此用户使用NI PCI-5124时,只需将所需接口从程序中直接调用至系统开发环境中,即可实现采集、存储以及回放等功能。
2 数据采集系统设计
2.1 程序设计
LabVIEW是一种基于图形语言编程的可视化软件开发平台,与VC、VB等其他可视化编程语言相比,其函数库丰富、调试方便,而且开发界面简单,界面风格与传统仪器相似。LabVIEW是一个外观和操作均能模仿实际仪器的程序开发环境,类似于C、BASIC等编程语言。但LabVIEW的特点在于使用图形化编程G语言在流程图中创建源程序,而非使用基于文本的语言产生源程序代码。与传统C、C++等编程语言不同,LabVI-EW采用强大的图形化语言编程,面向测试工程师而非专业程序员,编程方便,人机交互界面直观友好,具有强大的数据可视化分析和仪器控制能力。
本实验系统主要由数据采集、存储和数据处理等部分组成。其中数据采集包括采集设置和数据采集波形显示;数据处理包括信号时频域参量测量、信噪比测量以及报表打印等。系统工作流程如图2所示。
本系统基本工作过程是:肩动LabVIEW程序后,首先设置高速数据采集卡PCI-5124的通道、采样模式、采样频率、触发类型、触发电平等,然后启动采集,进行长时间连续的数据采集并利用流艋技术将采集到的信息实时存储于计算机硬盘,由于采集到的信息量很大,因此对采集到的数据进行离线处理,以减轻计算机CPU负担,提高数据处理速度。
2.2 数据采集模块
数据采集是从传感器和其他待测设备等模拟和数字被测单元中自动采集各种参量(物理、化学、生物量等)信息的过程。数据采集操作的结果直接影响后续数据处理、分析,数据采集功能模块利用NI-Scope函数进行数据采集,为了让数据采集设备在后台连续采集数据并送入缓存区,首先,初次安装好NI PCI-5124数据采集卡和驱动程序以后,计算机将自动设置其I/O地址和中断号,并分配内存资源,打通LabVIEW程序和底层驱动NI-Scope的通道。其次,在程序界面设置采样频率、采集通道、数据存储方式并启动程序实时采集。由于需要触发某事件后(例如点击“运行采集”按钮)进行采集,本设计采用可编程扫描和当前软件触发采集模式:采集启动后,下层NI-Scope驱动程序独立控制硬件高速数字化仪PCI-5124进行数据采集,并将采集结果利用流盘存储方式跳过采集卡的缓冲区直接读取到应用软件的计算机硬盘中,处理数据。数据采集波形如图3所示,该模块完成连续数据采集,实时显示信号并刷新。
2.3 数据存储回放模块
数据存储功能模块由文件的类型簇、数据文件存储路径、TDMS Dialog函数、open TDMS函数、write TDMS函数、close TDMS函数以及error函数组成,本程序中调用openTDMS函数打开TDMS文件,当运行至此时,数据会依据原先设置的存储路径和类型将数据持续写入指定计算机文件中。由于本设计要存储海量数据,因此采用基于流盘技术的存储方式。流盘是一项在进行多次写操作时保持文件打开的技术,即持续从或者向存储器(Memory)中传输数据。存储器可以是设备的板上缓存(Onboard Memory)、控制器上的RAM或计算机上的硬盘,本设计使用“文件I/O函数”设计合理的流盘存储基本架构。
回放是为了使用户存实时采集存储和数据分析测量结束后,还可以在需要时重新观察和深入分析所采集的数据。数据回放功能程序运行至open TDMS函数时,将运行连接至open(只读),即可打开对应的数据存盘文件,采集到的波形数据按照带索引的二进制TDMS文件形式存放于计算机硬盘中。在选择波形回放时,后台程序首先要确定波形数据中数组元素所对应的采样时刻,当选择同放按钮时,给定的初始运行时间会与待同放的波形数据的第1个元素所对应的时刻进行比较,从而确定待回放数据的第1个数据元素的时刻,从此开始回放数据波形,直到用户发出停止指令。整个文件完全是Windows系统文件,大大提高存储和释放的速率,加快数据处理速度,回放波形如图4所示。
2.4 数据分析模块
数据分析主要包括测量信号参量、幅度相位谱和功率谱。时域分析是一种直接在时问域中对系统进行分析的方法,具有直观、准确的优点,可以提供数据采集系统时间响应所需的全部信息。本系统主要是标定所采集信号的周期、平均值、周期均方根、有效值以及频率等,实时了解信号各种参数。
数据报表打印主要是将所采集信号的原始波形和回放波形以图片格式传递至打印样式子VI,并设置该子VI,使得程序需要打印时,就可通过调用该子VI打开前面板的采集波形和回放波形,显示报表内容并进行打印预览。
3 结论
进行系统实验测试时,使用主频为1.8l GHz、处理器为64位,512 M内存的PC;采样速率为20MByte/s的高速数字化仪PCI-5124,实现长达30 min的连续数据采集和海量数据存储。利用虚拟仪器LabVIEW和高速数字化仪PCI-5124开发的长时间连续采集存储系统完成了信号实时的采集、显示、存储以及对采集历史数据进行回放的功能。
与传统数据采集仪器相比,该系统具有性价比高、开发时间短、通用性强、数据处理准确简单、可移植性强(可以将VC、C、MATLAB等程序进行递归调用)、人性化界面设计、易于操作等优点,LabVIEW简单的编写语言和易于编写的控制,控件,简化了编程过程,用户无需掌握数据采集卡的硬件知识,只需了解和掌握其驱动程序的功能,就能利用LabVIEW进行数据程序的开发和运用,这将成为未来数据采集发展的趋势。
责任编辑:gt
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』