APP下载

基于Compact RIO的远程数据采集系统设计*

2016-06-21

舰船电子工程 2016年5期

李 斌 尚 超

(91388部队94分队 湛江 524001)



基于Compact RIO的远程数据采集系统设计*

李斌尚超

(91388部队94分队湛江524001)

摘要论文提出了一种基于Compact RIO嵌入式系统的远程数据采集系统。该系统能够实现多通道数据自动采集、存储,并将采集到的信号通过网线传输到上位机。通过结合Compact RIO高速数据处理能力和LabVIEW图形化开发环境,实现了实时的高速采集和信号处理。文章对Compact RIO的数据采集模块、信号存储模块及远程监测和控制模块进行了详细论述,并列举了一个实验室对系统测试的例子,验证了整个系统的可行性和实用性。

关键词Compact RIO; 远程监测; LabVIEW FPGA模块; LabVIEW RT模块

Class NumberTP393

1引言

传统的信号采集是采集卡通过USB、PCI、PXI等总线连接PC机,采集卡完成对信号的采集,通过总线将采集到的信号发送到PC机,在PC机上完成对信号的存储、显示和处理分析。但总线的长度有限,不能适应远程分布式信号采集的需求,因此,本文提出了一种基于Compact RIO的远程自动数据采集系统,利用Compact RIO对信号进行采集,同时通过网线将采集到的信号传输到PC机,在PC机上即可以对信号存储和分析,又可以对Compact RIO进行参数的设置和程序的编写。所以,只要有网络的地方,就可以对Compact RIO监测和设置,真正实现了对待测信号的分布式监测。

2系统结构简介

系统主要由传感器模块、数据采集模块和远程控制监测模块组成,传感器模块选择带前置放大的水听器,信号采集模块选择NI公司新推出的Compact RIO(可编程控制器),远程控制监测模块选用PC机。

图1 系统结构框图

NI Compact RIO硬件平台是一个基于FPGA技术的嵌入式系统,包含一个嵌入式实时处理器和一个可重复配置I/O FPGA核的底板。FPGA芯片是Compact RIO体系结构的核心,内置数据传输机制,负责把数据传到嵌入式处理器以进行实时分析、离线处理、数据记录或与联网主机通信。同时,利用LabVIEW FPGA基本的I/O功能,用户可以直接访问Compact RIO平台的每个I/O模块的输入输出电路。所有的I/O模块都包含内置的接口,信号调理、转换电路(如ADC或DAC),以及可选的隔离屏蔽,用户根据测试需求可选用不同的I/O模块。通过改变控制器上的I/O模块,就可以实现不同的功能,I/O模块包括各种模拟采集卡、数字采集卡、串口通讯卡等模块。本系统选用的是CRIO9014编程控制器和NI 9215采集卡,采集卡的分辨率为16位,4路差分模拟输入,每路最大采样率为100kS/s。Compact RIO实物如图2所示。

图2 Compact RIO实物图

3远程数据采集系统程序设计

为了缩短信号采集及处理平台软件开发的周期,同时又便于程序的可读性与可维护性,设计过程中采用了模块化和结构化编程的基本思路。软件设计基于LabVIEW 2011开发环境,利用Real-Time和FPGA工具包,并借助信号采集及处理函数实现信号的采集、存储、网络传输等功能。软件结构分为两层:Compact RIO平台的程序设计以及上位PC机的程序设计。

3.1数据采集模块

数据采集模块是整个软件的核心,只有采集到正确的信号才能够对信号进行后续的处理,Compact RIO的数据采集是利用FPGA技术控制采集卡采集信号,通过FIFO将采集的信号传送到RT上。

在FPGA程序中,主要用到两个控件:FPGA I/O Node控件和Write FIFO控件。FPGA I/O Node控件用来执行数据采集的操作,Write FIFO控件是将采集到的数据写入FIFO中,在数据传输时,FPGA程序将采集到的数据先存储到FIFO中,RT程序再从FIFO中读取数据。通过FIFO实现了FPGA与RT的数据传递。FPGA VI部分程序框图如图3所示,While循环中,采用顺序结构执行定时采集四通道的数据采集。数据在缓存过程中,由于是四通道的数据采集,为了保证通道之间的数据互不影响,使用函数选板中Build Array函数建立一维数组,然后将数据依次写入DMA FIFO缓存区中。

图3 FPGA程序框图

在进行数据采集时,必须协调同步FPGA程序和RT程序,两者工作采用握手方式,使RT程序通过触发FPGA程序相应的属性控制FPGA程序运行。在运行过程中,RT程序中首先需要配置FIFO的存储深度,设置采集卡的采样率,每次采集信号的采样长度,同时完成信号的的存储和分析。

图4 RT程序框图

3.2信号存储模块

Compact RIO存储信号有两种方式,一种是在RT上直接存储信号,但RT内存空间只有2G,不能进行大数据的存储;另外一种方式是在Compact RIO的USB接口连接移动硬盘,完成大数据量的存储,本文选择的是连接512G的移动硬盘,将原始信号完好地存储下来。数据存储模块子程序可以利用写入测量文件VI存储文件,在写入测量文件VI的属性中可以设置保存文件的类型,文件的类型主要有文本格式和二进制格式。如设置文件格式为基于文本的测量文件(.lvm),则在文件名称中设置文件扩展名为.lvm,如设置文件格式为二进制测量文件(.tdms),则在文件名称中设置文件扩展名为.tdms,本程序存储的是tdms文件,以采集时刻的时间为文件名。

3.3远程监测和控制模块

Compact RIO可实现对水下声信号的采集,将Compact RIO和采集卡置于水下就可实现对水下目标的探测,Compact RIO控制器上有一个网口,只需一根网线就可以将信号传输给上位机,所以只要联网的任意一台计算机都可以实现对采集卡的监测和控制。同时,上位机可以对Compact RIO进行设置,进行自动运行,也可以编写信号采集程序和信号处理程序,实现对信号的保存和处理。

LabVIEW语言的编程中对测量数据共享有TCP/IP、Data Socket和VI Sever等技术。TCP/IP协议是计算机网络协议的实施工业标准,LabVIEW开发软件中提供了TCP/IP的开发工具包来实现在Internet中的通信功能;Data Socket是National Instrument提供的一种编程技术,为底层通讯协议提供了一致的API,借助它无需进行底层TCP编程就可以在不同的应用程序和数据源之间共享数据;VI Serve通过 Internet调用远程机上的VI,就像调用本地Sub VI一样完成参数传递,控制它的运行。

本系统的远程测控采用LabVIEW中的TCP/IP的开发工具包,Compact RIO端为服务器,编写相应的程序,上位机为客户端,客户端软件首先要建立与服务器端的TCP/IP连接,并对用户的仪器操作产生相应的SCPI指令,然后发往服务器端,并从服务器端读取数据,然后在相应的面板上显示出来。实现功能的子VI的流程图如下图5和图6所示。

图5 服务器端部分程序框图

图6 客户端程序框图

4试验与结果分析

为了验证系统的可行性,在实验室对整个系统进行了实验,利用信号发生器发射频率为10KHz,宽度为10ms的单频信号, 利用换能器将信号发射出来,Compact RIO的采集卡通过连接的接收水听器接收换能器发出的水声信号。本文选择的是NI CRIO-9014及9215采集卡,可实现四通道的动态信号采集,每通道最大采样率为100kS/s。基于Compact RIO平台实现四通道的数据采集,上位PC通过以太网进行实时远程监测,四路水听器接收水声信号,经NI 9215采集卡采集后在CRIO-9014的FPGA底版上直接进行信号处理,通过FIFO将信号传导RT端,在RT可以实现信号的存储和进一步信号处理,用户还可以通过点击数据处理与分析模块中不同选项来查看时域、频域以及其它信息。结果表明,本文开发的远程数据采集系统能够满足测试的要求。

图7 远程监测平台采集的水声信号

5结语

本文利用虚拟仪器技术,结合NI公司的Compact RIO编程控制器及主控计算机,实现了一套集数据采集、存储、显示和信号实时处理于一身的综合系统。与传统的采集系统相比,本系统开发周期短、效率高,其可靠性、稳定性、测试精度等方面性能优越,并具备良好的扩展性和可维护性。同时,基于远程监测的模式,用户可以在网络上任意节点对设备的运行状态进行监测和对设备出现的异常状态进行诊断,可实现分布式监测和控制,有广泛的应用前景。

参 考 文 献

[1] 李猛,金世俊.基于Compact RIO的应变采集系统的设计和实现 [J].研究与开发,2007,26(7):12-14.

[2] 林正盛.虚拟仪器技术及其应用[J].微型机与应用,1997(3):24-26.

[3] 何芝霞,黄昶等.共享变量技术在Compact RIO中的应用[J].计算机系统应用,2008,12:121-123.

[4] 于平.两种水声导航定位算法的应用与分析[J].靶场试验与测量,2004(1):21-23.

[5] 蔡国英,张宏群.基于LabVIEW的信号产生与分析系统[J].国外电子测量技术,2007,26(7):12-14.

[6] 佟春明,王天利.基于LabVIEW的信号处理系统开发[J].辽宁工学院学报,2003,23(6):17-20.

[7] 连海洲,赵英俊.基于LabVIEW技术的虚拟仪器系统[J].仪器与测控,2001(8):21-23.

[8] 刘丽桑.基于LabVIEW的虚拟信号处理系统[J].工业控制计算机,2007(9):53-54.

[9] 张旭,张春梅,王尚锦.虚拟仪器软件LabVIEW和数据采集[J].微机发展,2004(3):77-79.

[10] 王俊峰.基于Labview的信号处理虚拟实验系统[J].国外电子测量技术,2006(10).

Remote Data Acquisition System Design Based on Compact RIO

LI BinSHANG Chao

(Unit 94, No. 91388 Troops of PLA, Zhanjiang524001)

AbstractThis article proposes a remote data acquisition system based on NI Compact RIO. Multi-channel data acquisition and remote transmission are realized based on the Compact RIO platform. A high-speed sampling of real-time control and signal-processed has been implemented by a combination of strong data-processing capacity and LaBVIEW graphical development environment. each module of the system is discussed and a specific experimental example is listed, the feasibity and practicability of the system are validated.

Key WordsCompact RIO, remote monitoring, LabVIEW FPGA module, LabVIEW RT module

* 收稿日期:2015年11月13日,修回日期:2015年12月21日

作者简介:李斌,男,工程师,研究方向:水声信号处理。

中图分类号TP393

DOI:10.3969/j.issn.1672-9730.2016.05.030