吳智哲



摘要:為了滿足外場測試系統的便攜性要求,本文利用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 NIs 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中,通常稱為下位機?;贜I公司的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.