楊 哲,王 鵬,徐 茜
(中國飛行試驗研究院,西安 710089)
?
基于RTR的遙測數(shù)據(jù)實時處理軟件的設(shè)計與實現(xiàn)
楊哲,王鵬,徐茜
(中國飛行試驗研究院,西安710089)
為了對飛行遙測數(shù)據(jù)進行實時處理,以Qt為軟件開發(fā)平臺,采用直接接收寬帶遙測接收機(RTR)發(fā)送的網(wǎng)絡(luò)遙測數(shù)據(jù)包的方法,結(jié)合機載測試系統(tǒng)的采集格式、參數(shù)測試信息、校準(zhǔn)信息和ICD信息,完成遙測數(shù)據(jù)的實時解算、工程量轉(zhuǎn)換和原始數(shù)據(jù)保存,同時將關(guān)心的參數(shù)物理量通過網(wǎng)絡(luò)實時的發(fā)送給客戶端監(jiān)控軟件,以供試飛工程師進行實時監(jiān)控;實際試驗試飛結(jié)果表明,此軟件運行穩(wěn)定和數(shù)據(jù)準(zhǔn)確可靠,完全滿足實時監(jiān)控的需求,具有良好的實用性和發(fā)展前景。
遙測數(shù)據(jù);RTR;實時處理;Qt;飛行試驗
在飛行試驗中,遙測實時監(jiān)控系統(tǒng)可以大大提高試飛效率,避免了各種飛行事故,甚至是機毀人亡的重大事故,它發(fā)揮著不可替代的作用。而遙測數(shù)據(jù)實時處理又是其中最重要的一個環(huán)節(jié),它的實時性和準(zhǔn)確性直接關(guān)系到飛行試驗的安全性。
傳統(tǒng)的遙測數(shù)據(jù)實時處理系統(tǒng)是通過接收RTR(寬帶遙測接收機)解調(diào)后的遙測基帶PCM數(shù)據(jù)流,再由專用的信號解調(diào)板對PCM信號進行同步和反變換加工處理[1]?,F(xiàn)在基于PCM解調(diào)板卡種類多,這就需要針對特定的板卡進行軟件研制,雖暫時能滿足實時處理的需求,但都存在著開發(fā)周期長、系統(tǒng)成本高、維護不方便等缺點;同時遙測信號經(jīng)過電纜送到各個監(jiān)控大廳再由專用的服務(wù)器進行數(shù)據(jù)解調(diào),在傳輸?shù)倪^程中遙測信號強度會隨距離的增加而衰減,從而導(dǎo)致遙測數(shù)據(jù)信號質(zhì)量的下降。
針對以上問題,本文采用直接接收RTR已經(jīng)同步和解調(diào)好的網(wǎng)絡(luò)遙測數(shù)據(jù)包,完成工程量的解算。實時監(jiān)控系統(tǒng)構(gòu)成如圖1所示。
圖1 實時監(jiān)控系統(tǒng)構(gòu)成
1.1通信協(xié)議
要得到遙測數(shù)據(jù),首先需要先了解RTR遙測數(shù)據(jù)網(wǎng)絡(luò)通訊協(xié)議。根據(jù)RTR的相關(guān)技術(shù)資料,RTR遙測數(shù)據(jù)傳輸必須要由客戶端通過TCP協(xié)議發(fā)送遙測請求包來觸發(fā),之后RTR檢查它的有效性并按要求發(fā)送遙測消息包給客戶端。
遙測請求包結(jié)構(gòu)[2]如圖2所示。
0x499602D20x400x02……0xB669FD2E
圖2遙測請求包結(jié)構(gòu)
每個偏移量占4個字節(jié),第一位和最后一位是TCP/IP數(shù)據(jù)包的包頭和包尾,第二位表示這個數(shù)據(jù)包的大小,第三位代表向RTR接收機的哪個通道發(fā)出請求,因為RTR本身有3個通道供客戶端選擇。
根據(jù)RTR接收機的TCP/IP通信協(xié)議,遙測消息包可以從3070端口獲取,因為RTR消息打包以及RTR打時標(biāo)等原因,每個消息包的結(jié)構(gòu)為:包頭(64字節(jié))+遙測幀+包尾(4字節(jié)),其結(jié)構(gòu)如圖3所示。
0x499602D2……遙測幀數(shù)據(jù)0xB669FD2E016~N-2N-1
圖3遙測消息包結(jié)構(gòu)
1.2軟件功能設(shè)計
在飛行試驗時,遙測數(shù)據(jù)實時處理軟件最核心的部分是實時準(zhǔn)確的解算遙測數(shù)據(jù),得到所有飛機參數(shù)的工程量數(shù)據(jù),另外根據(jù)實際飛行試驗需要,同時應(yīng)具有把飛機的部分?jǐn)?shù)據(jù)通過網(wǎng)絡(luò)發(fā)送給客戶端用于實時監(jiān)控;有時為了查看某些參數(shù)的數(shù)值和變化規(guī)律,軟件界面能實時顯示參數(shù)的當(dāng)前值并以曲線的形式顯示參數(shù)的時間歷程;數(shù)據(jù)保存和回放是以純幀的形式保存在本地磁盤上,以便飛行完后,對感興趣的飛行數(shù)據(jù)實現(xiàn)現(xiàn)場再現(xiàn),完成特定時間段的數(shù)據(jù)回放。
基于RTR的遙測數(shù)據(jù)實時處理軟件為了便于維護和日后升級,采用模塊化設(shè)計思路,軟件功能模塊如圖4所示。
圖4 軟件功能模塊圖
軟件的實現(xiàn)主要分為2大部分:獲取完整的遙測數(shù)據(jù)和根據(jù)格式格柵文件對遙測數(shù)據(jù)進行實時解算。
2.1獲取完整的遙測數(shù)據(jù)
實際上,客戶端通過TCP從3070端口獲得網(wǎng)絡(luò)數(shù)據(jù)包并不是一個單獨的完整的遙測消息包,使用wireshark網(wǎng)絡(luò)封包分析軟件抓取了大量的網(wǎng)絡(luò)數(shù)據(jù),如圖5所示。
圖5 實際的網(wǎng)絡(luò)數(shù)據(jù)
從圖5中可以看到RTR接收機每次實際發(fā)送過來的網(wǎng)絡(luò)數(shù)據(jù)包大小不一致,這對后面判斷數(shù)據(jù)包的有效性帶來了困難,更為重要的是很難拼接出一個完整的遙測幀,這里,通過采用設(shè)置TCP讀緩存區(qū)的大小為一個遙測請求包的大小,每次只接收一個遙測子幀,在Qt中可以通過下面的代碼實現(xiàn)[3]:
隨著我國風(fēng)電的不斷發(fā)展,風(fēng)電裝機容量不斷增加,風(fēng)電并網(wǎng)比例也極大提升。圖1為2010—2017年我國的風(fēng)電裝機容量。圖2為我國“十三五”電力系統(tǒng)規(guī)劃中非化石發(fā)電量的占比。風(fēng)電并網(wǎng)將會給電力系統(tǒng)帶來兩方面的影響,一是風(fēng)電機組將會替代一部分傳統(tǒng)化石能源機組出力,減少化石能源的消耗以及污染物的排放,符合我國“十三五”電力系統(tǒng)規(guī)劃的要求;二是為解決風(fēng)電并網(wǎng)后所帶來的風(fēng)電消納問題,系統(tǒng)將配置更多的旋轉(zhuǎn)備用去消納風(fēng)電,不僅會導(dǎo)致系統(tǒng)成本上升,而且在某些極端情況下,風(fēng)電解列還會造成大量的功率缺額,使整個電力系統(tǒng)面臨風(fēng)險。因此,對風(fēng)電備用問題的研究具有極為重要的現(xiàn)實意義和工程意義。
tcpSendSocket = new QTcpSocket(this);
……
tcpSendSocket->setReadBufferSize(rtrDataCount*2);
接著提取子幀中的ID字(ID字是標(biāo)識子幀在幀中的序號),通過循環(huán)判斷ID字的連續(xù)性就可以拼接出一個完整的全幀,實現(xiàn)過程如圖6所示。
圖6 獲取全幀的流程圖
2.2實時解算
在拼接出一個完整的全幀之后,需要在全幀中根據(jù)飛機的格式格柵文件進一步解析出各個參數(shù)的物理量,但當(dāng)飛機參數(shù)量多的時候,需要較長的時間解算,這就有可能造成遙測數(shù)據(jù)的丟失和延遲,為了保證數(shù)據(jù)的實時性和完整性,本文采用多線程技術(shù)解決這個問題。
在Qt應(yīng)用程序中提供多線程是非常簡單的:只需要子類化QThread并且重新實現(xiàn)其run()函數(shù)就可以了,這樣,只需要在run函數(shù)中實現(xiàn)數(shù)據(jù)的解算。但實際應(yīng)用中,試圖在子線程中調(diào)用GUI類是不可能的,也就是說解算出來的數(shù)據(jù)不能直接顯示在界面上。Qt特有的跨線程的信號和槽機制打開了子線程和GUI線程通訊的方便之門[4],通常情況下,信號和槽機制可以同步操作,這就意味著在子線程解算完數(shù)據(jù)后,采用信號與槽,發(fā)射信號,GUI界面上就可以顯示結(jié)果了。
獲得一個完整的全幀后,就進入解析線程,結(jié)合飛機的格式格柵信息,解算數(shù)據(jù),具體的解算流程圖如圖7所示。
圖7 實時解算流程圖
在獲得實時的飛行數(shù)據(jù)后,就可以在主界面上顯示數(shù)據(jù),同時保存數(shù)據(jù),把部分關(guān)鍵參數(shù)數(shù)據(jù)發(fā)送給客戶端子系統(tǒng)用于監(jiān)控,整個軟件的設(shè)計流程圖如圖8所示。
圖8 基于RTR的遙測數(shù)據(jù)實時處理軟件邏輯流程圖
本軟件集成了實時數(shù)據(jù)采集、顯示、存儲、網(wǎng)絡(luò)發(fā)送、圖形顯示、數(shù)據(jù)回放等功能。既滿足了遙測數(shù)據(jù)處理的實時性要求,又能查看部分參數(shù)值和時間歷程曲線。
本文提出了一種基于RTR接收機的網(wǎng)絡(luò)遙測數(shù)據(jù)實時處理的方法,經(jīng)過大量飛行試驗證明,本軟件運行穩(wěn)定和數(shù)據(jù)完整可靠,不僅完全滿足普通科目實時監(jiān)控的要求,而且經(jīng)過改進滿足顫振等特殊科目參數(shù)高采樣的監(jiān)控需要;另外,與現(xiàn)有實時數(shù)據(jù)處理方式相比,具有配置簡單,使用靈活,可以安裝在局域網(wǎng)中的任意一臺電腦上,就可以構(gòu)建一套遙測實時數(shù)據(jù)
處理系統(tǒng),更加符合監(jiān)控資源網(wǎng)絡(luò)化、分布式的發(fā)展趨勢。
[1] 高陪先,張俊芳,喬東峰.遙測實時系統(tǒng)深層次設(shè)計缺陷分析與測試[J].電子測量技術(shù),2007(2):182-183.
[2] IN-SNEC,STI 100013_RTR[Z]. 2009.
[3] 閆鋒欣,曾泉人,張志強.C++ GUI Qt 4 編程(第二版)[M].北京:電子工業(yè)出版社,2011.
[4] 蔡志明,盧傳富,李立夏.精通Qt4編程(第2版)[M].北京:電子科技出版社,2011.
Design and Realization of Telemetry Data Real-time Processing Software Based on RTR
Yang Zhe,Wang Peng,Xu Qian
(Chinese Flight Test Establishment,Xi’an710089,China)
To dispose the telemetry real-time data, by receiving network telemetry data from Radio Telemetry Receiver(RTR) directly, the soft based on Qt finish the functions of real-time calculating、quantities conversion and save raw data combined airborne test system acquisition formats、parametric test information、 calibration information and ICD information,while the physical parameters of interest in real time sent to the client monitoring software for real-time monitoring of flight test engineer through the network. Experimental results shows the soft run stabilitiesly and the data is integrity and reliable, which is satisfied with the real-time monitoring and has good availability and development potential.
telemetry data; RTR; real-time processing; Qt; flight test
2015-06-16;
2015-11-20。
楊哲(1985-),男,陜西西安人,碩士研究生,工程師,主要從事試飛數(shù)據(jù)處理及相關(guān)軟件的開發(fā)方向的研究。
1671-4598(2016)01-0165-03
10.16526/j.cnki.11-4762/tp.2016.01.046
TP319
A