馬朋朋 盧曉春


摘要:首先介紹了測試儀的系統組成,然后對測試軟件的開發環境、架構、功能模塊的實現和數據采集、處理方法進行了闡述。該測試軟件已對控制艙(以下簡稱產品)進行了實際測試,測試結果準確可靠,能夠真實反映產品的狀態,自動化程度和穩定性滿足產品的測試需求。
關鍵詞:Labwindows/CVI;模塊控制;數據采集;數據處理
中圖分類號:TB文獻標識碼:Adoi:10.19311/j.cnki.1672-3198.2019.05.088
1系統組成
測試儀由測控組件、測試平臺、氣源單元三部分組成。其中測控組件主要由PXI系統(包括AD數據采集卡、422通訊卡等)、測試軟件、產品電源、設備電源、信號轉接單元等部分組成。測控組件主要完成測試任務的管理、測試流程控制、測試數據的采集、顯示和存儲;提供測試儀和產品所需的各路直流電源;產品信號輸入/輸出控制、調理和轉換。測試平臺用于裝夾產品。氣源單元在測試時為產品提供所需的特定壓力、流量的氣體。
2軟件設計
測試軟件安裝在測控組件的PXI系統的計算機上,是全系統的控制核心和數據信息處理中心,與測試儀硬件構成完整的測試系統,共同完成對產品的測試任務。測試軟件與測控組件、測試平臺和氣源單元之間的外部接口主要包括模擬量采集,總線通訊控制,接口關系如圖1所示。產品輸出的信號由電氣轉接單元引入多功能卡AD通道由測試軟件進行信號采集,測試軟件對產品的加電、狀態控制通過多功能卡DO通道控制電氣轉接單元的繼電器動作來實現。測試軟件通過RS422總線與程控電源和測試平臺進行交互,通過RS232接口與氣源單元進行交互。
在進行產品測試時測試軟件主要完成測試環境確認,測試資源的檢查和復位;產品供電及工作時序的控制;產品輸出信息的接收、存儲和實時顯示;產品測試項目的檢測和判讀。測試儀對產品參數進行動態檢測的過程中,能夠實時顯示系統測試狀態、測試數據和測試曲線,并直觀顯示測試的最終結果。
測試軟件采用NI公司LabWindows/CVI2010進行開發,CVI2010將功能強大、使用靈活的C語言與測控技術領域專業工具有機結合,適用于自動測試、自動控制、測試儀器通信、測試硬件控制和信號分析處理的軟件開發,是一種基于C語言的虛擬儀器開發平臺。其集成化開發環境、交互式編程方法、豐富的控件和庫函數等特點使其成為工程技術人員開發測控系統軟件的重要工具。
3軟件實現
3.1軟件架構設計
測試軟件采用分層次的模塊化設計,從結構上劃分為兩層,硬件驅動層通過各硬件模塊將數據采集并存入內存中特定的單元,或者從內存中取出所需的數據并發送出去。測試功能層負責完成測試流程控制,測試數據的記錄、分析和顯示,其只關注具體的測試信號及這些信號數據可從內存中的那個地址取得,而不用關心這些數據是通過那些硬件操作的,對于硬件資源與具體測試信號之間的關聯由專門的配置文件提供綁定,用這種方法提供強大的測試通道重組功能。
3.2軟件界面設計
測試儀軟件界面是用戶直接操作測試儀的接口,設計以簡潔為原則,具有直觀性。整個界面劃分為測試項目區、測試結果區、過程顯示區、狀態監控區和功能選擇區五個區域,軟件界面如圖2所示。
3.3數據通訊模塊的實現
測試過程中測試軟件需要對程控電源、測試平臺、氣源進行控制和任務調度,使被測產品處于所需要的測試狀態。
測試軟件與程控直流電源通過RS422通訊卡的端口4實現指令發送和應答接收控制,電源地址6,波特率4800,數據位8位,停止位1位,采用奇校驗。
測試軟件與測試平臺通過RS422通訊卡的端口1實現指令發送和應答接收控制,波特率4800,數據位8位,停止位1位,無校驗。
測試軟件與氣源單元通過計算機RS232接口實現指令發送和應答接收控制,波特率9600,數據位8位,停止位1位,無校驗。
3.4數據采集和處理模塊實現
測試軟件通過AD卡采集產品輸出的信號,AD接口設置和數據采集采用NI DAQ接口函數集來完成。在進行產品測試時為了真實反映產品工作狀態,需要通過軟件算法對產品輸出的個別信號進行頻率、時間間隔和波形實時跟蹤顯示等測試。本文利用LabWindows/CVI軟件自帶的多線程機制,采用線程和異步定時器相互結合的方法來實現數據實時采集和數據處理。
將用戶界面處理放在主線程中,同時創建一個線程專門用于循環采集AD數據,并將采集到的數據存儲于開辟的緩沖區中。這樣,在用戶對界面進行操作時,操作系統將進行線程切換,為數據采集線程提供完成任務所需的時間,這樣就能最大限度的保證數據采集的實時性,又能及時響應用戶的其他操作。異步定時器負責從緩沖區中取出數據進行處理和顯示。
AD采集線程:
hThread_AD=CreateThread(NULL,0,TestFunc_AD,0,0,&threadID_AD)。
通過TestFunc_AD()函數將采集的數據存儲于緩沖區static double* m_pAIVal[32]中。信號的實時監控采用異步定時器timer=NewAsyncTimer(0.1,-1,1,Signal_Test,NULL)實現,刷新周期為100ms。
4結論
該測試儀軟件基于Labwindows/CVI開發環境進行設計,采用分層次、模塊化設計思路,實現了模塊控制、數據采集、數據處理等,便于軟件維護,提高了軟件可靠性。該測試軟件已對批量產品進行了實際測試,涵蓋了產品的主要性能參數、測試結果準確可靠,能夠真實反映產品的狀態。
參考文獻
[1]張鳳均等.LabWindows/CVI開發入門和進階[M].北京:北京航空航天大學出版社,2001.
[2]陳莉,林圳杰.基于LabWindows/CVI多線程研究與工程應用[J].工業控制技術,2006,10(1):92-94.