李 斌 尚 超
(91388部隊94分隊 湛江 524001)
?
基于Compact RIO的遠程數據采集系統(tǒng)設計*
李斌尚超
(91388部隊94分隊湛江524001)
摘要論文提出了一種基于Compact RIO嵌入式系統(tǒng)的遠程數據采集系統(tǒng)。該系統(tǒng)能夠實現(xiàn)多通道數據自動采集、存儲,并將采集到的信號通過網線傳輸到上位機。通過結合Compact RIO高速數據處理能力和LabVIEW圖形化開發(fā)環(huán)境,實現(xiàn)了實時的高速采集和信號處理。文章對Compact RIO的數據采集模塊、信號存儲模塊及遠程監(jiān)測和控制模塊進行了詳細論述,并列舉了一個實驗室對系統(tǒng)測試的例子,驗證了整個系統(tǒng)的可行性和實用性。
關鍵詞Compact RIO; 遠程監(jiān)測; LabVIEW FPGA模塊; LabVIEW RT模塊
Class NumberTP393
1引言
傳統(tǒng)的信號采集是采集卡通過USB、PCI、PXI等總線連接PC機,采集卡完成對信號的采集,通過總線將采集到的信號發(fā)送到PC機,在PC機上完成對信號的存儲、顯示和處理分析。但總線的長度有限,不能適應遠程分布式信號采集的需求,因此,本文提出了一種基于Compact RIO的遠程自動數據采集系統(tǒng),利用Compact RIO對信號進行采集,同時通過網線將采集到的信號傳輸到PC機,在PC機上即可以對信號存儲和分析,又可以對Compact RIO進行參數的設置和程序的編寫。所以,只要有網絡的地方,就可以對Compact RIO監(jiān)測和設置,真正實現(xiàn)了對待測信號的分布式監(jiān)測。
2系統(tǒng)結構簡介
系統(tǒng)主要由傳感器模塊、數據采集模塊和遠程控制監(jiān)測模塊組成,傳感器模塊選擇帶前置放大的水聽器,信號采集模塊選擇NI公司新推出的Compact RIO(可編程控制器),遠程控制監(jiān)測模塊選用PC機。
圖1 系統(tǒng)結構框圖
NI Compact RIO硬件平臺是一個基于FPGA技術的嵌入式系統(tǒng),包含一個嵌入式實時處理器和一個可重復配置I/O FPGA核的底板。FPGA芯片是Compact RIO體系結構的核心,內置數據傳輸機制,負責把數據傳到嵌入式處理器以進行實時分析、離線處理、數據記錄或與聯(lián)網主機通信。同時,利用LabVIEW FPGA基本的I/O功能,用戶可以直接訪問Compact RIO平臺的每個I/O模塊的輸入輸出電路。所有的I/O模塊都包含內置的接口,信號調理、轉換電路(如ADC或DAC),以及可選的隔離屏蔽,用戶根據測試需求可選用不同的I/O模塊。通過改變控制器上的I/O模塊,就可以實現(xiàn)不同的功能,I/O模塊包括各種模擬采集卡、數字采集卡、串口通訊卡等模塊。本系統(tǒng)選用的是CRIO9014編程控制器和NI 9215采集卡,采集卡的分辨率為16位,4路差分模擬輸入,每路最大采樣率為100kS/s。Compact RIO實物如圖2所示。
圖2 Compact RIO實物圖
3遠程數據采集系統(tǒng)程序設計
為了縮短信號采集及處理平臺軟件開發(fā)的周期,同時又便于程序的可讀性與可維護性,設計過程中采用了模塊化和結構化編程的基本思路。軟件設計基于LabVIEW 2011開發(fā)環(huán)境,利用Real-Time和FPGA工具包,并借助信號采集及處理函數實現(xiàn)信號的采集、存儲、網絡傳輸等功能。軟件結構分為兩層:Compact RIO平臺的程序設計以及上位PC機的程序設計。
3.1數據采集模塊
數據采集模塊是整個軟件的核心,只有采集到正確的信號才能夠對信號進行后續(xù)的處理,Compact RIO的數據采集是利用FPGA技術控制采集卡采集信號,通過FIFO將采集的信號傳送到RT上。
在FPGA程序中,主要用到兩個控件:FPGA I/O Node控件和Write FIFO控件。FPGA I/O Node控件用來執(zhí)行數據采集的操作,Write FIFO控件是將采集到的數據寫入FIFO中,在數據傳輸時,F(xiàn)PGA程序將采集到的數據先存儲到FIFO中,RT程序再從FIFO中讀取數據。通過FIFO實現(xiàn)了FPGA與RT的數據傳遞。FPGA VI部分程序框圖如圖3所示,While循環(huán)中,采用順序結構執(zhí)行定時采集四通道的數據采集。數據在緩存過程中,由于是四通道的數據采集,為了保證通道之間的數據互不影響,使用函數選板中Build Array函數建立一維數組,然后將數據依次寫入DMA FIFO緩存區(qū)中。
圖3 FPGA程序框圖
在進行數據采集時,必須協(xié)調同步FPGA程序和RT程序,兩者工作采用握手方式,使RT程序通過觸發(fā)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遠程監(jiān)測和控制模塊
Compact RIO可實現(xiàn)對水下聲信號的采集,將Compact RIO和采集卡置于水下就可實現(xiàn)對水下目標的探測,Compact RIO控制器上有一個網口,只需一根網線就可以將信號傳輸給上位機,所以只要聯(lián)網的任意一臺計算機都可以實現(xiàn)對采集卡的監(jiān)測和控制。同時,上位機可以對Compact RIO進行設置,進行自動運行,也可以編寫信號采集程序和信號處理程序,實現(xiàn)對信號的保存和處理。
LabVIEW語言的編程中對測量數據共享有TCP/IP、Data Socket和VI Sever等技術。TCP/IP協(xié)議是計算機網絡協(xié)議的實施工業(yè)標準,LabVIEW開發(fā)軟件中提供了TCP/IP的開發(fā)工具包來實現(xiàn)在Internet中的通信功能;Data Socket是National Instrument提供的一種編程技術,為底層通訊協(xié)議提供了一致的API,借助它無需進行底層TCP編程就可以在不同的應用程序和數據源之間共享數據;VI Serve通過 Internet調用遠程機上的VI,就像調用本地Sub VI一樣完成參數傳遞,控制它的運行。
本系統(tǒng)的遠程測控采用LabVIEW中的TCP/IP的開發(fā)工具包,Compact RIO端為服務器,編寫相應的程序,上位機為客戶端,客戶端軟件首先要建立與服務器端的TCP/IP連接,并對用戶的儀器操作產生相應的SCPI指令,然后發(fā)往服務器端,并從服務器端讀取數據,然后在相應的面板上顯示出來。實現(xiàn)功能的子VI的流程圖如下圖5和圖6所示。
圖5 服務器端部分程序框圖
圖6 客戶端程序框圖
4試驗與結果分析
為了驗證系統(tǒng)的可行性,在實驗室對整個系統(tǒng)進行了實驗,利用信號發(fā)生器發(fā)射頻率為10KHz,寬度為10ms的單頻信號, 利用換能器將信號發(fā)射出來,Compact RIO的采集卡通過連接的接收水聽器接收換能器發(fā)出的水聲信號。本文選擇的是NI CRIO-9014及9215采集卡,可實現(xiàn)四通道的動態(tài)信號采集,每通道最大采樣率為100kS/s。基于Compact RIO平臺實現(xiàn)四通道的數據采集,上位PC通過以太網進行實時遠程監(jiān)測,四路水聽器接收水聲信號,經NI 9215采集卡采集后在CRIO-9014的FPGA底版上直接進行信號處理,通過FIFO將信號傳導RT端,在RT可以實現(xiàn)信號的存儲和進一步信號處理,用戶還可以通過點擊數據處理與分析模塊中不同選項來查看時域、頻域以及其它信息。結果表明,本文開發(fā)的遠程數據采集系統(tǒng)能夠滿足測試的要求。
圖7 遠程監(jiān)測平臺采集的水聲信號
5結語
本文利用虛擬儀器技術,結合NI公司的Compact RIO編程控制器及主控計算機,實現(xiàn)了一套集數據采集、存儲、顯示和信號實時處理于一身的綜合系統(tǒng)。與傳統(tǒng)的采集系統(tǒng)相比,本系統(tǒng)開發(fā)周期短、效率高,其可靠性、穩(wěn)定性、測試精度等方面性能優(yōu)越,并具備良好的擴展性和可維護性。同時,基于遠程監(jiān)測的模式,用戶可以在網絡上任意節(jié)點對設備的運行狀態(tài)進行監(jiān)測和對設備出現(xiàn)的異常狀態(tài)進行診斷,可實現(xiàn)分布式監(jiān)測和控制,有廣泛的應用前景。
參 考 文 獻
[1] 李猛,金世俊.基于Compact RIO的應變采集系統(tǒng)的設計和實現(xiàn) [J].研究與開發(fā),2007,26(7):12-14.
[2] 林正盛.虛擬儀器技術及其應用[J].微型機與應用,1997(3):24-26.
[3] 何芝霞,黃昶等.共享變量技術在Compact RIO中的應用[J].計算機系統(tǒng)應用,2008,12:121-123.
[4] 于平.兩種水聲導航定位算法的應用與分析[J].靶場試驗與測量,2004(1):21-23.
[5] 蔡國英,張宏群.基于LabVIEW的信號產生與分析系統(tǒng)[J].國外電子測量技術,2007,26(7):12-14.
[6] 佟春明,王天利.基于LabVIEW的信號處理系統(tǒng)開發(fā)[J].遼寧工學院學報,2003,23(6):17-20.
[7] 連海洲,趙英俊.基于LabVIEW技術的虛擬儀器系統(tǒng)[J].儀器與測控,2001(8):21-23.
[8] 劉麗桑.基于LabVIEW的虛擬信號處理系統(tǒng)[J].工業(yè)控制計算機,2007(9):53-54.
[9] 張旭,張春梅,王尚錦.虛擬儀器軟件LabVIEW和數據采集[J].微機發(fā)展,2004(3):77-79.
[10] 王俊峰.基于Labview的信號處理虛擬實驗系統(tǒng)[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