劉濤++李云芝++張璐
摘要:本文立足于當前民機試飛模式,從縮短試飛數(shù)據(jù)處理時間、提高試飛效率出發(fā),基于.NET框架,利用Measurement Studio組件開發(fā)設(shè)計了試飛數(shù)據(jù)實時監(jiān)控平臺。相較于傳統(tǒng)的監(jiān)控模式,該軟件平臺采用多線程工作模式,集成了快速傅里葉變換、數(shù)字濾波等處理算法,同時加入了工程量數(shù)據(jù)實時存儲及回放功能。通過試驗,本軟件平臺以UDP數(shù)據(jù)包為數(shù)據(jù)源,實現(xiàn)了試飛數(shù)據(jù)的實時顯示、存儲、分析、回放,為后續(xù)民機試飛模式的創(chuàng)新提供了參考依據(jù)。
關(guān)鍵詞:實時存儲;實時分析;實時回放;多線程
中圖分類號:TP311 文獻標識碼:A 文章編號: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 概述
實時監(jiān)控系統(tǒng)是民機試飛過程中不可或缺的重要系統(tǒng),是直接面向試飛工程師、設(shè)計人員、技術(shù)人員等試飛保障人員的決策支持平臺,其主要實現(xiàn)原理是利用試飛數(shù)據(jù)實時驅(qū)動相關(guān)可視化控件,真實形象的再現(xiàn)飛機試飛狀態(tài),為指揮人員提供判斷依據(jù)。由此可見,實時監(jiān)控系統(tǒng)對于豐富試飛指揮手段、改進試飛方法、調(diào)整試飛策略、提高試飛效率等具有重要意義。
在當前民機試飛模式下,實時監(jiān)控僅僅是對工程量化后的試飛數(shù)據(jù)進行實時顯示,并未作任何處理,因此技術(shù)人員需要在試飛任務(wù)結(jié)束后對試飛數(shù)據(jù)進行二次解析、分析,同時利用試飛數(shù)據(jù)回放以檢查飛機性能、排除飛機故障。對試飛數(shù)據(jù)重復(fù)解析無疑增加了數(shù)據(jù)處理時間,對于縮短試飛周期是極為不利的。因此,設(shè)計開發(fā)出具有對試飛數(shù)據(jù)實現(xiàn)實時存儲、實時分析、實時回放等功能的實時監(jiān)控平臺十分必要。
常用的實時監(jiān)控系統(tǒng)開發(fā)軟件包括LabView、DataView以及與工業(yè)監(jiān)測相關(guān)的組態(tài)軟件,如中航工業(yè)試飛院就利用了LabView軟件實現(xiàn)了ARJ21-700飛機試飛狀態(tài)的實時監(jiān)控。但是,以上軟件的功能實現(xiàn)策略較為封閉、邏輯編寫較為復(fù)雜,不利于用戶定制開發(fā)。
本文采用Measurement Studio組件,基于.NET框架,利用C#編程語言設(shè)計開發(fā)了實時監(jiān)控平臺,對實時存儲、實時分析、實時回放等功能實現(xiàn)的可行性進行了研究,通過采用多線程技術(shù)實現(xiàn)了UDP/IP通信模式下試飛數(shù)據(jù)的快速傅里葉變換、數(shù)字濾波、曲線回放以及數(shù)據(jù)存儲。
2 系統(tǒng)實現(xiàn)
Measurement Studio是NI公司研發(fā)的為Visual Studio .NET提供的一個集成式套件,包括了各種常用測量和自動化控件、工具和類庫[4]。本實時監(jiān)控平臺利用動態(tài)曲線、雙態(tài)燈、數(shù)值顯示、滾動條、儀表、罐裝圖等顯示控件集成,整體效果如圖1所示。
2.1實時存儲
實時存儲是指實時監(jiān)控平臺在顯示試飛數(shù)據(jù)的同時完成試飛數(shù)據(jù)的存儲,避免試飛任務(wù)后試飛數(shù)據(jù)重復(fù)的工程量解析,以縮短數(shù)據(jù)處理周期。實現(xiàn)方法是利用多線程技術(shù)在實時監(jiān)控的同時啟動數(shù)據(jù)存儲線程,開辟相應(yīng)內(nèi)存資源,完成數(shù)據(jù)文件的創(chuàng)建、數(shù)據(jù)的寫入及保存,實現(xiàn)流程如圖2所示。
在存儲線程中,主要利用.NET框架中輸入輸出空間中的文本流StreamWriter實現(xiàn)數(shù)據(jù)的實時存儲,實現(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實時分析
本實時監(jiān)控平臺集成了快速傅里葉變換(FFT)、數(shù)字濾波等兩種常用數(shù)字信號處理算法對實時分析的可行性進行了驗證。
1) FFT
FFT是計算離散傅里葉變換的快速方法,對于復(fù)數(shù)序列
其中,模擬離散化是模擬濾波器轉(zhuǎn)換為數(shù)字濾波器的關(guān)鍵步驟,主要任務(wù)是實現(xiàn)模擬濾波器傳統(tǒng)傳遞函數(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ù)據(jù)實時監(jiān)控過程中,根據(jù)實際需求對參數(shù)進行全程回放,回放結(jié)束后切換至實時監(jiān)控狀態(tài)。實現(xiàn)思路是在實時監(jiān)控的過程中,利用內(nèi)存資源存儲回放參數(shù),一旦觸發(fā)數(shù)據(jù)回放操作,將立即啟動回放線程,調(diào)用內(nèi)存存儲數(shù)據(jù)進行實時回放,回放結(jié)束后切換至實時監(jiān)控線程,整個過程可表示為如圖6所示的流程。
3 試驗
為了驗證整個實時監(jiān)控平臺的性能,利用仿真數(shù)據(jù)源對軟件平臺進行測試。數(shù)據(jù)源采用UDP傳輸協(xié)議,每隔20ms發(fā)出20個參數(shù),發(fā)出的數(shù)據(jù)結(jié)構(gòu)如圖7所示。
1) 實時監(jiān)控
實時監(jiān)控平臺接收到UDP數(shù)據(jù)包后解析數(shù)據(jù)獲取如上圖所示的參數(shù)字符串,以參數(shù)分隔符拆分為參數(shù)數(shù)組,并根據(jù)參數(shù)標識符識別參數(shù)順序,利用相對應(yīng)的顯示控件顯示參數(shù)數(shù)值。實時監(jiān)控狀態(tài)如圖8所示。
試驗時,記錄UDP包的裝包絕對時間
2) 實時存儲
試飛數(shù)據(jù)的實時存儲至軟件啟動目錄下的Txt文檔中,存儲過程穩(wěn)定且不影響實時監(jiān)控狀態(tài),存儲的數(shù)據(jù)順序與發(fā)送數(shù)據(jù)一致,文件格式如圖9所示。
3) 實時分析
進行實時分析的數(shù)據(jù)源由10HZ、幅值為30的正弦信號和20HZ、幅值為60的正弦信號以及頻率為25HZ、幅值為90的正弦信號組成的復(fù)合信號,即
FFT以采樣頻率為
4) 實時回放
實時回放以按鈕單擊形式進行觸發(fā),觸發(fā)后顯示回放起始及終止時間,回放時由曲線回放區(qū)域顯示回放曲線,回放效果如圖11所示。
4 結(jié)論
實時監(jiān)控作為試飛任務(wù)實施過程中至關(guān)重要的環(huán)節(jié),是試飛任務(wù)順利、安全進行的保證。在對試飛數(shù)據(jù)實現(xiàn)實時監(jiān)控的同時完成工程量數(shù)據(jù)存儲,避免事后的重復(fù)處理,同時在實時的狀態(tài)下提供數(shù)據(jù)分析、回放,為飛機性能評估、故障排除提供參考依據(jù),有效的縮短了數(shù)據(jù)處理時間,對于提高試飛效率具有積極意義。
本文充分模擬實際試飛狀態(tài),以UDP/IP為通信協(xié)議,構(gòu)建了實時監(jiān)控平臺對試飛數(shù)據(jù)的實時存儲、實時分析、實時回放等功能進行了驗證,試驗表明,通過合理的分配線程、利用計算機內(nèi)存資源成功實現(xiàn)了對數(shù)據(jù)的實時監(jiān)控、存儲、信號分析及回放,為試飛數(shù)據(jù)監(jiān)控及處理模式的技術(shù)革新提供了參考依據(jù)。
參考文獻:
[1] 陳亞勇..MATLAB信號處理詳解[M].北京:人民郵電出版社,2001.
[2] 萬永革.數(shù)字信號處理的MATLAB實現(xiàn)[M]北京:科學出版社,2012.
[3] 鄭阿奇.Visual C#網(wǎng)絡(luò)編程[M].北京:電子工業(yè)出版社,2011.
[4] 張易知.虛擬儀器的設(shè)計與實現(xiàn)[M]西安:西安電子科技大學出版社,2002.
[5] 周林.數(shù)據(jù)采集與分析技術(shù)[M].西安:西安電子科技大學出版社,2005.