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