便携式数据采集测试系统

时间:2022-04-22 05:04:46

便携式数据采集测试系统

摘要:为了满足外场测试系统的便携性要求,本文利用NI公司的CompactRIO-9068嵌入式控制器和七块C系列数据采集模块,构建了一款便携式多通道实时数据采集测试系统。利用LabVIEW FPGA开发了CompactRIO的底层FPGA模块,实现了对数据采集模块的调度与管理;利用LabVIEW RT开发了CompactRIO的底层实时操作系统,实现了对采集数据的组织、管理及与上位机通信;最后利用LabVIEW对上位机进行了软件的开发,实现测试数据的实时显示和数据存储充分满足了外场测试的便携式多功能的需求。

关键词:数据采集 CompactRIO LabVIEW FPGA RTOS

中图分类号:TP274.2 文献标识码:A 文章编号:1007-9416(2016)06-0000-00

Abstract: In order to meet the requirements of portable field testing system in this paper, the NI’s CompactRIO 9068 embedded controllers and seven C Series data acquisition modules are used to built a portable multi-channel real-time data acquisition test system. LabVIEW FPGA is used to develop the FPGA module underlying the CompactRIO while implementing the control and management of data acquisition module. The LabVIEW RTOS are used to develop the real-time operating system inside the CompactRIO while implementing the organization, management of acquisition data and communicating with the host. Finally, LabVIEW are used to develop the host software and implement the real-time display and storage of acquisition data. fully meet the needs of portable multifunction field testing.

Keywords: Data Acquisition; CompactRIO; LabVIEW; FPGA; RTOS

随着现代电子技术的不断发展和应用,数据采集测试系统的研制正在朝着多功能,多通道,低功耗的方向发展,便携式数据采集测试系统更是要求达到更高的速度、更小的体积以及更低的成本。国内现在已有不少数据采集和测试系统,但很多系统存在功能单一、采集通道少、采集速率低、操作复杂,并且对测试环境要求较高等问题[1]。传统的便携式数据采集系统,难以满足大部分需求,采样电路的添加使得系统的可靠性和兼容性有所降低[2]。

基于小型化、集成化、原位化、便携化的设计目标,本文利用虚拟仪器LabVIEW图形化语言对NI公司的CompactRIO控制器进行开发,研制出一套运行稳定、精度高、功耗低、数据存储量大的便携式数据采集测试系统。充分利用其丰富的硬件资源,系统能有效的实现实时多通道数据采集,数据流实时存盘,试验数据的分析处理,历史数据查询和波形回显,生成及打印试验报告等功能。

1系统组成及工作原理

便携式数据采集测试系统主要由上位机和下位机两部分构成,上位机主要完成指令的发送和实时数据的接收、处理、显示、储存、回放等任务;然而,下位机的任务是完成各个采集模块的调度,以及数据的采集、预处理和发送,实现多通道多变量的同步,如图1所示。

上位机选用笔记本计算机,预装NI LabVIEW 2014、NI LabVIEW Real-Time、NI LabVIEW FPGA、Xilinx Vivado2013.4和NI RIO 14f1等软件。一方面作为 LabVIEW 软件图形化编程开发平台,另一方面通过以太网接口实现CRIO数据采集系统的配置以及测试数据的读取分析 存储和人机交互。

LabVIEW 2014图形化开发语言,利用计算机强大的图形环境,采用可视化的图形编程语言和平台,完成对上位机的软件开发;LabVIEW Real-Time模块为创建可靠独立的嵌入式系统提供了图形化编程的完整解决方案。LabVIEW Real-Time模块有助开发和调试图形化应用程序,这些程序可下载至嵌入式硬件设备(CompactRIO)并在这些设备上执行;LabVIEW FPGA提供了一个高度集成的开发环境和一个由IP库、高保真仿真器和多个调试功能组成的大型生态系统,大大提高了对FPGA复杂系统的开发效率;Xilinx Vivado2013.4(FPGA Compile Worker)用于多机式、任务转交式、并行式FPGA编译的软件,用于创建现场服务器以轻松管理FPGA编译,完成FPGA.vi的编译并生成比特位文件。

下位机由NI CompactRIO嵌入式控制器和NI C系列I/O模块构成。

2004年,NI推出的CompactRIO提出了可重构的解决方案,将自定义设计的灵活性与快速上市的现成即用产品相结合,重新定义了嵌入式市场。CompactRIO控制器包括一个处理器和可重配置FPGA。该处理器运行的是确定、可靠的NI Linux Real-Time操作系统,可实现网络通信、数据记录、控制和处理等应用; NI C系列I/O模块在设计上属于自我包含(self-contained)的测量模块。模块自身包含信号调理与隔离等所有用于特定测量的电路。

2系统硬件构建

本系统由NI CompactRIO-9068控制器和NI C系列I/O模块构成。其中C系列I/O模块分别选用NI-9213,16通道热电偶输入模块、NI-9217,4通道热电阻PT100模块采集温度;NI-9205,16路差分模拟输入模块采集电压;NI-9375,16路7?s漏极数字输入模块、NI-9425 32路7 ?s漏极数字输入模块采集开关量;NI-9401,8路5 V/TTL高速双向数字I/O模块采集频率,共7块I/O模块。便携式数据采集测试系统实物如图2所示,可见该系统可实现温度、压力、开关量和速度信号等多个通道的同步在线采集测试,其参数见表1。

2.1 控制器:NI CompactRIO-9068

NI cRIO-9068在单个机箱中结合了双核处理器、可重配置FPGA和8个用于C系列I/O模块的插槽。该系统配备一个运行NI Linux Real-Time操作系统和Artix-7 FPGA的667 MHz双核ARM Cortex-A9处理器,非常适合用于高级嵌入式控制和监测应用。CRIO-9068的工作温度范围为-40℃至70℃,配有9V至30 VDC双电源输入,适用于需要坚固耐温控制器的应用。 该设备具有用于嵌入式操作的512MB DDR3内存、用于数据记录的1 GB非易失性内存以及各种连接选项,包括两个千兆以太网端口、一个USB高速端口和三个串行端口。加上高效的图形化开发语言LabVIEW,非常适合用于上位机存储的实时数据采集测试系统的开发。

2.2 温度采集:热电偶NI 9213、热电阻NI 9217

NI 9213是一款针对C系列外盒的高密度热电偶模块,专为高通道数系统设计。在高速模式下,每个通道的采样速率达75 S/s。本系统仅使用了4路,每路通道的最大采样率可增加至100 S/s。

具有4通道、24位分辨率的NI 9217电阻温度探测器(RTD)模拟输入模块。可配置成两种不同的采样率模式。高采样率模式下,每通道采样率可达100 S/s,而高分辨率模式下, 每通道采样率为1.25 S/s,并配有50/60 Hz内置式去噪功能,可提供每通道1 mA的电流激励,精度误差小于1℃。

2.3 模拟量采集:NI 9205

NI 9205具有32路单端或16路差分模拟输入,16位分辨率和250 kS/s的最高采样率。每个通道具有±200 mV、±1 V、±5 V和±10 V可编程的输入范围。为了防止信号瞬变,NI 9205的输入通道和COM之间还具有高达60 V的过压保护。 另外,NI 9205还具有通道-地面-接地双重隔离保护,实现了安全性、抗扰性和高共模电压范围。 它具有1,000 Vrms的瞬时过压保护。

2.4 开关量采集:NI 9375、NI 9425

NI 9375是一款数字I/O混合模块,16条专用数字输入线均可兼容12V和24V的逻辑电平,该模块结合工业逻辑电平和信号,可直接连接至各种工业开关、传感器和其他设备。

NI 9425是一款32通道7?s漏极数字输入C系列模块,每条通道都兼容12 V和24 V电平,并具有通道至地面的1000 Vrms瞬时过压保护。本系统将NI 9375与NI 9425相结合,完成40路开关量采集。

2.5 转速采集:NI9401

NI 9401是一款8通道、100 ns的双向数字输入模块,可根据输入和输出需要,以半字节(4位)为单位灵活配置NI 9401上各条数字线的方向。因此,NI 9401可编程为3种配置:8路数字输入、8路数字输出或4路数字输入和4路数字输出。借助Compact RIO,可使用NI LabVIEW FPGA模块对NI 9401进行编程,以实现自定义高速计数器/定时器、数字通信协议、脉冲生成等。每个通道可兼容5 V/TTL信号,且I/O通道和背板之间具有1000 Vrms的瞬态隔离电压。

3软件开发

本测试系统以CompactRIO的硬件结构体系为基础,CompactRIO系统是一款结合RT(Real-time)和 FPGA技术的工业级数据采集系统,其开发模式有两种:扫描模式与FPGA模式。扫描模式简单方便,只需编写部署在CRIO实时控制器端的RT.vi 程序,就可在程序中直接调用预先开发好的I/O扫描接口,实现数据采集,但是CRIO系统工作在扫描模式下可支持的最大扫描速率仅仅1kHz。在本测试装置中采用的是FPGA接口模式,在该模式下通过LabVIEW Real-Time中的FPGA接口VI来访问I/O模块,FPGA的特定数字化功能支持高达40 MHz的计数器,可为用户提供更多自定义的可能。可以实现数据的高速采集(大于1kHz)、最大的数据吞吐率及访问的灵活性,提高I/O模块的工作性能。

系统的软件开发分为上位机和下位机两部分,FPGA和RT均集成在CompactRIO中,通常称为下位机。基于NI公司的LabVIEW开发平台,整个软件可分成三部分,分别是FPGA.vi、RT.vi和Host.vi。其中,FPGA.vi模块主要实现数据采集功能;RT.vi 模块主要实现数据的读取、预处理和发送;Host.vi模块主要实现人机交互功能,如显示数据、发送命令、管理数据等。

3.1 FPGA主程序

FPGA.vi主程序由上位机LabVIEW FPGA模块开发,用FPGA Compile Worker编译生成比特位文件并通过以太网部署到FPGA机箱中,按照配置的采集速率实现数据采集并将数据送到显示控件或存放在DMA FIFO缓冲区,主要实现数据采集功能。

FPGA的开发为包含初始化、数据采集和结束三部分的一个顺序平铺结构,每部分为一帧。第一帧便是初始化FPGA及各个模块的采样率和I/O的设置,如图3所示。第二帧为各模块独立的while循环,各模块并行采集互不干扰。循环内部读取各模块的I/O节点数据并捆绑写入DMA FIFO缓存或显示控件,如图4所示。其中,除了NI 9205模块采用DMA FIFO与RT端进行数据传输外,其他模块(如NI 9213、NI 9217、NI 9375、NI 9425、NI 9401)均采用读写控件的方式向RT传送数据。另外,本系统中采集转速,所采用的方法是周期测量法,读取每一路脉冲单周期内的FPGA时钟个数,FPGA的40MHz的时钟进一步提高了测试精度,如图4-e所示。

3.2 RT主程序

RT.vi主程序由上位机LabVIEW Real-Time开发并部署到实时控制器中运行,定时读取显示控件的数值或取出DMA FIFO缓冲区中数据,稍作处理后通过以太网总线发送到上位机,主要实现数据的读取、预处理和发送。

RT主程序需要驾驭整个测试系统的核心――CompactRIO控制器,同时保证与上位机Host.vi和FPGA.vi两部分的通讯,完成指令和数据的输送。本文采用模块化编程思想[3]将RT主程序按功能划分为数据采集和网络通信两个模块,上位机通过网络通信模块将指令(如Start、Stop等)送到数据采集模块实现RT的控制及FPGA的调度,如图5-a所示;FPGA.vi采集的数据则通过采集模块将数据送到网络通信模块进而送至上位机,如图5-b所示。

实时控制器与上位PC机之间可以通过不同的方式进行通信,不同的通信方式具有各自的优缺点,常见的通信方式有:网络共享变量、TCP/ IP、网络流/队列等,共享变量传输数据较慢[4],相对来说,TCP具有非常好的灵活性,而且是标准的协议,可以与别的语言(C语言)进行网络通讯,较仅限NI协议的共享变量更易于开发拓展,故这里采用TCP队列技术,上位机通过TCP/IP协议将控制命令下达至下位机开始采集,将采集到的数据写入队列中,再次利用TCP协议将数据上传。

3.3 Host主程序

本文Host.vi主程序正是由虚拟仪器LabVIEW开发,运行于上位机中,通过以太网发送指令、接收数据,PC机处理数据、显示数据,如图6所示。

4实验及结果

为了验证该测试系统的准确性、稳定性等功能,在实验室现有的条件下,用J型热电偶采集温度可控焊台的温度、用PT100采集室温、用三节7号电池分别作模拟量的三路信号源、用安捷伦DG1002U信号源模拟两路霍尔传感器的脉冲型号,经过多次试验,采集大量的数据,分别用TDMS查看器和Excel打开TDMS文件看到测试结果如图7 所示,5个传感器的数据分别存储在5个通道组中,每个通道组中通道的个数由图7-b可看出。通过分析,完全接近理论值,同时该实验过程操作方便、简洁、画面直观,为研究提供了大量的实验数据。

5结语

本文通过对NI公司的CRIO控制器和若干C系列I/O模块的集成,经过虚拟仪器LabVIEW的开发,研制出一套便携式数据采集测试系统。试验表明,该装置能多线程同时采集并实时显示5种传感器输出的数据,并可实现数据存储、回放及分析等功能。LabVIEW软件的图形化特性使得此测试系统具有友好的交互界面[5],大大简化了复杂系统的测量,同时,由于CRIO系统结构坚固、灵活便携且易于功能扩展,并具有离线数据采集记录功能,可以根据被测对象的实际情况,安装在适当的位置,最大限度地满足用户现场测试的要求

参考文献

[1] 张枫,孙壮.多通道数据采集测试系统的研究[J].价值工程,2010.(18):214-215.

[2] 刘苍,王建业,张景伟.基于ARM的便携式数据采集存储系统设计[J].仪表技术与传感器,2013.(8):89-92.

[3] 李振,李一波.航空发动机地面便携式测试仪开发[D].沈阳航空航天大学,2012.10: 39-40.

[4] 王树东,何明,王焕宇.基于LabVIEW的数据采集和存储系统[J].电气自动化,2015.37(1):99-101.

[5] 费莉,王博,刘述喜.基于 LabVIEW 的数据采集及测试系统设计[J].重庆理工大学学报,2012. 26(10):38-41.

上一篇:ACL技术在医院信息系统中的应用 下一篇:雷达探测技术的对抗与发展