劉濤++李云芝++張璐
摘要:本文立足于當(dāng)前民機(jī)試飛模式,從縮短試飛數(shù)據(jù)處理時(shí)間、提高試飛效率出發(fā),基于.NET框架,利用Measurement Studio組件開發(fā)設(shè)計(jì)了試飛數(shù)據(jù)實(shí)時(shí)監(jiān)控平臺(tái)。相較于傳統(tǒng)的監(jiān)控模式,該軟件平臺(tái)采用多線程工作模式,集成了快速傅里葉變換、數(shù)字濾波等處理算法,同時(shí)加入了工程量數(shù)據(jù)實(shí)時(shí)存儲(chǔ)及回放功能。通過試驗(yàn),本軟件平臺(tái)以UDP數(shù)據(jù)包為數(shù)據(jù)源,實(shí)現(xiàn)了試飛數(shù)據(jù)的實(shí)時(shí)顯示、存儲(chǔ)、分析、回放,為后續(xù)民機(jī)試飛模式的創(chuàng)新提供了參考依據(jù)。
關(guān)鍵詞:實(shí)時(shí)存儲(chǔ);實(shí)時(shí)分析;實(shí)時(shí)回放;多線程
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)17-0064-04
The Flight Data Real-time Monitoring Platform Design with Data Storage and Analysis,Play-back Based on the Measurement Studio Instrumentation Department
LIU Tao, LI YUN-zhi, ZHANG Lu
(Instrumentation Department of the COMAC Flight Test Center, Shanghai 200232, China)
Abstract: Based on the current flight modes of civil aircraft, in this paper, aiming at shortening the flight data processing time as well as improving flight efficiency,a real-time monitoring platform is designed and developed with the measurement studio. Compared with conventional monitoring modes, the software proposed in this paper is developed with multi-threaded work mode, and this platform was integrated with such algorithms as Fast Fourier Transformation, digital filtering, etc., besides, it is also equipped with functions like real-time storage and inquiry for large quantities of engineering data. After completion of the platform, experiments are carried out and with the conclusion that with UDP packet as its data source, the platform developed in this paper has realized the real-time displaying, storage, analysis and replaying of the flight data which can be as reference to the following flight modes innovation.
Key words: real-time storage; real-time analysis; real-time replay;multi-thread
1 概述
實(shí)時(shí)監(jiān)控系統(tǒng)是民機(jī)試飛過程中不可或缺的重要系統(tǒng),是直接面向試飛工程師、設(shè)計(jì)人員、技術(shù)人員等試飛保障人員的決策支持平臺(tái),其主要實(shí)現(xiàn)原理是利用試飛數(shù)據(jù)實(shí)時(shí)驅(qū)動(dòng)相關(guān)可視化控件,真實(shí)形象的再現(xiàn)飛機(jī)試飛狀態(tài),為指揮人員提供判斷依據(jù)。由此可見,實(shí)時(shí)監(jiān)控系統(tǒng)對于豐富試飛指揮手段、改進(jìn)試飛方法、調(diào)整試飛策略、提高試飛效率等具有重要意義。
在當(dāng)前民機(jī)試飛模式下,實(shí)時(shí)監(jiān)控僅僅是對工程量化后的試飛數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示,并未作任何處理,因此技術(shù)人員需要在試飛任務(wù)結(jié)束后對試飛數(shù)據(jù)進(jìn)行二次解析、分析,同時(shí)利用試飛數(shù)據(jù)回放以檢查飛機(jī)性能、排除飛機(jī)故障。對試飛數(shù)據(jù)重復(fù)解析無疑增加了數(shù)據(jù)處理時(shí)間,對于縮短試飛周期是極為不利的。因此,設(shè)計(jì)開發(fā)出具有對試飛數(shù)據(jù)實(shí)現(xiàn)實(shí)時(shí)存儲(chǔ)、實(shí)時(shí)分析、實(shí)時(shí)回放等功能的實(shí)時(shí)監(jiān)控平臺(tái)十分必要。
常用的實(shí)時(shí)監(jiān)控系統(tǒng)開發(fā)軟件包括LabView、DataView以及與工業(yè)監(jiān)測相關(guān)的組態(tài)軟件,如中航工業(yè)試飛院就利用了LabView軟件實(shí)現(xiàn)了ARJ21-700飛機(jī)試飛狀態(tài)的實(shí)時(shí)監(jiān)控。但是,以上軟件的功能實(shí)現(xiàn)策略較為封閉、邏輯編寫較為復(fù)雜,不利于用戶定制開發(fā)。
本文采用Measurement Studio組件,基于.NET框架,利用C#編程語言設(shè)計(jì)開發(fā)了實(shí)時(shí)監(jiān)控平臺(tái),對實(shí)時(shí)存儲(chǔ)、實(shí)時(shí)分析、實(shí)時(shí)回放等功能實(shí)現(xiàn)的可行性進(jìn)行了研究,通過采用多線程技術(shù)實(shí)現(xiàn)了UDP/IP通信模式下試飛數(shù)據(jù)的快速傅里葉變換、數(shù)字濾波、曲線回放以及數(shù)據(jù)存儲(chǔ)。
2 系統(tǒng)實(shí)現(xiàn)
Measurement Studio是NI公司研發(fā)的為Visual Studio .NET提供的一個(gè)集成式套件,包括了各種常用測量和自動(dòng)化控件、工具和類庫[4]。本實(shí)時(shí)監(jiān)控平臺(tái)利用動(dòng)態(tài)曲線、雙態(tài)燈、數(shù)值顯示、滾動(dòng)條、儀表、罐裝圖等顯示控件集成,整體效果如圖1所示。
2.1實(shí)時(shí)存儲(chǔ)
實(shí)時(shí)存儲(chǔ)是指實(shí)時(shí)監(jiān)控平臺(tái)在顯示試飛數(shù)據(jù)的同時(shí)完成試飛數(shù)據(jù)的存儲(chǔ),避免試飛任務(wù)后試飛數(shù)據(jù)重復(fù)的工程量解析,以縮短數(shù)據(jù)處理周期。實(shí)現(xiàn)方法是利用多線程技術(shù)在實(shí)時(shí)監(jiān)控的同時(shí)啟動(dòng)數(shù)據(jù)存儲(chǔ)線程,開辟相應(yīng)內(nèi)存資源,完成數(shù)據(jù)文件的創(chuàng)建、數(shù)據(jù)的寫入及保存,實(shí)現(xiàn)流程如圖2所示。
在存儲(chǔ)線程中,主要利用.NET框架中輸入輸出空間中的文本流StreamWriter實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)存儲(chǔ),實(shí)現(xiàn)偽代碼如下:
If Exist(The data file) then
If Length>0 then
Header=”Time” + ”Parameter Name”
Write the Header to the data file.
Data=”Parameter Value”
Write the Data to the data file
Else
Return
End If
Else
Return
End If
2.2實(shí)時(shí)分析
本實(shí)時(shí)監(jiān)控平臺(tái)集成了快速傅里葉變換(FFT)、數(shù)字濾波等兩種常用數(shù)字信號(hào)處理算法對實(shí)時(shí)分析的可行性進(jìn)行了驗(yàn)證。
1) FFT
FFT是計(jì)算離散傅里葉變換的快速方法,對于復(fù)數(shù)序列
其中,模擬離散化是模擬濾波器轉(zhuǎn)換為數(shù)字濾波器的關(guān)鍵步驟,主要任務(wù)是實(shí)現(xiàn)模擬濾波器傳統(tǒng)傳遞函數(shù)
實(shí)現(xiàn)的偽代碼為:
If Length>0 then
The FFT data array D1.Add(data)
The Filter data array D2.Add(data)
The Result of FFT array A1=Fft(D1)
The Result of Filter array A2=Filter(D2)
Display the result cure.
Else
Return
End If
2.3實(shí)時(shí)回放
實(shí)時(shí)回放是指在試飛數(shù)據(jù)實(shí)時(shí)監(jiān)控過程中,根據(jù)實(shí)際需求對參數(shù)進(jìn)行全程回放,回放結(jié)束后切換至實(shí)時(shí)監(jiān)控狀態(tài)。實(shí)現(xiàn)思路是在實(shí)時(shí)監(jiān)控的過程中,利用內(nèi)存資源存儲(chǔ)回放參數(shù),一旦觸發(fā)數(shù)據(jù)回放操作,將立即啟動(dòng)回放線程,調(diào)用內(nèi)存存儲(chǔ)數(shù)據(jù)進(jìn)行實(shí)時(shí)回放,回放結(jié)束后切換至實(shí)時(shí)監(jiān)控線程,整個(gè)過程可表示為如圖6所示的流程。
3 試驗(yàn)
為了驗(yàn)證整個(gè)實(shí)時(shí)監(jiān)控平臺(tái)的性能,利用仿真數(shù)據(jù)源對軟件平臺(tái)進(jìn)行測試。數(shù)據(jù)源采用UDP傳輸協(xié)議,每隔20ms發(fā)出20個(gè)參數(shù),發(fā)出的數(shù)據(jù)結(jié)構(gòu)如圖7所示。
1) 實(shí)時(shí)監(jiān)控
實(shí)時(shí)監(jiān)控平臺(tái)接收到UDP數(shù)據(jù)包后解析數(shù)據(jù)獲取如上圖所示的參數(shù)字符串,以參數(shù)分隔符拆分為參數(shù)數(shù)組,并根據(jù)參數(shù)標(biāo)識(shí)符識(shí)別參數(shù)順序,利用相對應(yīng)的顯示控件顯示參數(shù)數(shù)值。實(shí)時(shí)監(jiān)控狀態(tài)如圖8所示。
試驗(yàn)時(shí),記錄UDP包的裝包絕對時(shí)間
2) 實(shí)時(shí)存儲(chǔ)
試飛數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)至軟件啟動(dòng)目錄下的Txt文檔中,存儲(chǔ)過程穩(wěn)定且不影響實(shí)時(shí)監(jiān)控狀態(tài),存儲(chǔ)的數(shù)據(jù)順序與發(fā)送數(shù)據(jù)一致,文件格式如圖9所示。
3) 實(shí)時(shí)分析
進(jìn)行實(shí)時(shí)分析的數(shù)據(jù)源由10HZ、幅值為30的正弦信號(hào)和20HZ、幅值為60的正弦信號(hào)以及頻率為25HZ、幅值為90的正弦信號(hào)組成的復(fù)合信號(hào),即
FFT以采樣頻率為
4) 實(shí)時(shí)回放
實(shí)時(shí)回放以按鈕單擊形式進(jìn)行觸發(fā),觸發(fā)后顯示回放起始及終止時(shí)間,回放時(shí)由曲線回放區(qū)域顯示回放曲線,回放效果如圖11所示。
4 結(jié)論
實(shí)時(shí)監(jiān)控作為試飛任務(wù)實(shí)施過程中至關(guān)重要的環(huán)節(jié),是試飛任務(wù)順利、安全進(jìn)行的保證。在對試飛數(shù)據(jù)實(shí)現(xiàn)實(shí)時(shí)監(jiān)控的同時(shí)完成工程量數(shù)據(jù)存儲(chǔ),避免事后的重復(fù)處理,同時(shí)在實(shí)時(shí)的狀態(tài)下提供數(shù)據(jù)分析、回放,為飛機(jī)性能評估、故障排除提供參考依據(jù),有效的縮短了數(shù)據(jù)處理時(shí)間,對于提高試飛效率具有積極意義。
本文充分模擬實(shí)際試飛狀態(tài),以UDP/IP為通信協(xié)議,構(gòu)建了實(shí)時(shí)監(jiān)控平臺(tái)對試飛數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)、實(shí)時(shí)分析、實(shí)時(shí)回放等功能進(jìn)行了驗(yàn)證,試驗(yàn)表明,通過合理的分配線程、利用計(jì)算機(jī)內(nèi)存資源成功實(shí)現(xiàn)了對數(shù)據(jù)的實(shí)時(shí)監(jiān)控、存儲(chǔ)、信號(hào)分析及回放,為試飛數(shù)據(jù)監(jiān)控及處理模式的技術(shù)革新提供了參考依據(jù)。
參考文獻(xiàn):
[1] 陳亞勇..MATLAB信號(hào)處理詳解[M].北京:人民郵電出版社,2001.
[2] 萬永革.數(shù)字信號(hào)處理的MATLAB實(shí)現(xiàn)[M]北京:科學(xué)出版社,2012.
[3] 鄭阿奇.Visual C#網(wǎng)絡(luò)編程[M].北京:電子工業(yè)出版社,2011.
[4] 張易知.虛擬儀器的設(shè)計(jì)與實(shí)現(xiàn)[M]西安:西安電子科技大學(xué)出版社,2002.
[5] 周林.數(shù)據(jù)采集與分析技術(shù)[M].西安:西安電子科技大學(xué)出版社,2005.