賈 雨,王 爽,覃楊森,齊禪穎
(1.中國飛行試驗研究院,陜西 西安 710089;2.西安遠方航空技術發展總公司,陜西 西安 710089)
基于組態的試飛實時監控技術
賈 雨1,王 爽2,覃楊森1,齊禪穎1
(1.中國飛行試驗研究院,陜西 西安 710089;2.西安遠方航空技術發展總公司,陜西 西安 710089)
針對當前飛行試驗強度不斷加大,驗證科目特別是風險科目越來越多,試飛實時監控軟件設計時間緊、修改頻繁的問題,提出了基于組件的試飛自主實時監控平臺軟件設計方法。通過采用組件式設計思想,利用組件式方法在Visual Studio平臺下開發實現了基于組件的自主監控平臺。解決了以往“一個監控科目,一套監控畫面軟件”的技術瓶頸問題,改變了以往實時監控軟件開發代碼復雜龐大、重復性開發工作量巨大、不具備根據新要求實時動態修改的能力等固有缺陷。軟件實現了圖形元素可重組、參數算法可定義和兼容多個實時系統平臺,用戶可以利用組態軟件的功能,不用進行繁瑣復雜的編程操作,只需要通過鼠標點擊創建所需功能組件并進行相應的參數配置,即可構建一套最適合自己的實時監控軟件。經過飛行試驗使用驗證,證明了該平臺能夠實現安全監控畫面的動態設計,同時能夠根據試飛需求對監控畫面進行快速調整,有效提高了試飛監控準備效率。
飛行試驗;實時監控;監控畫面設計;組態軟件
飛行試驗遙測監控技術一直是國內外飛行試驗領域研究的關鍵技術之一,是實現飛行試驗實時監控、確保試飛安全、提高試飛效率、縮短試飛周期的重要手段。近年來,隨著國內試飛型號任務的增加,實時監控課題也越來越多。為滿足日益增長的實時監控需求、提高監控效率,如何提升“一個監控科目,一套監控畫面軟件”的實時監控模式,已成為飛行試驗實時監控系統技術研究中重點解決的難題。另外,隨著飛行試驗“智能化監控技術”研究方向的提出,對地面飛行實時監控系統的開發在“多目標多科目實時自主監控”方面提出了新的目標,并需要進行更廣、更深、更細的研究,有規劃分階段逐步突破所面臨的技術難題。
近年來,國內外基于組態[1-2]的監控技術取得了飛速發展,應用領域也日趨拓展,吸引了國內外眾多自動化公司紛紛投資開展相關技術的研究。組態監控軟件具備靈活、便捷的開發環境,集成了非常多的監控功能,因而可以適應不同工業自動化領域,具有很強的通用性。其通用性特征,為其贏得了廣泛的應用領域,但是同時也帶來了一定的后果:組態監控軟件產品集成了非常多的功能,使得系統過于龐雜,開發成本和使用成本急劇增加,而對于某一特定應用環境,提供的許多“大而全”的功能對于多數用戶并不適用,造成極大的資源浪費。通用式的組態軟件,由于其開發面向各行業用戶,沒有針對某行業進行特定的優化,導致行業開發人員在開發某一專用系統時一些專業性的ActiveX控件[3-4]和特殊的I/O設備的驅動需要手動添加,與基于傳統程序設計語言開發相比,實際上并沒有減輕多少工作量。據統計,監控組態軟件產品的功能只能發揮30%以下。遙測實時監控系統針對飛行試驗地面實時監控的特定需求,其數據接口、數據傳輸模式[5]、監控軟件組成結構、數據表現形式都有其自身特點。針對試飛實時監控的特殊需求,目前還沒有一款相關軟件能夠滿足實時監控任務。
針對上述問題,該項目借鑒工業化組態軟件設計方法[6],采用模塊化設計思想,研發基于組件的自主監控平臺,實現了組件對象可重組、參數算法可定義,為數據處理工程師提供快速構建監控軟件的平臺。平臺使用靈活的組件方式(而不是編程方式),使用戶能根據監控需求任意組態,設計完成實時監控軟件。項目中根據實時監控中的實際需求,編寫設計一套完整的數字、曲線、儀表、柱狀圖、飛機平顯及通用電子地圖等監控組件,數據處理工程師能夠按照實時/預處理任務書中監控參數的要求表現形式選擇相應組件并進行相應的參數配置,即可快速完成監控軟件的設計,而不要求數據處理工程師具備專業的編程知識,有效提高了監控軟件準備效率,降低了監控軟件設計的難度和復雜度;在監控過程中,數據處理工程師、試飛工程師可以根據任務需求實時進行監控參數的調整;此外,該平臺實現了數據處理常用的基本算法,滿足常規的數據處理需求,使得監控參數以正確的形式呈現給試飛工程師及地面指揮人員。
自主實時監控組態軟件平臺以功能模塊劃分為設計主導思路,劃分為三個功能模塊:數據I/O模塊、運行管理模塊、圖形界面模塊。三個部分接口清晰、功能獨立,總體架構如圖1所示。

圖1 軟件總體架構圖
(1)I/O驅動模塊:是試飛實時監控組態軟件中必不可少的部分,由于和I/O設備通信,互相交換數據,包括接口模塊、實時通信模塊等。它是實時監控軟件與遙測前端數據處理系統的橋梁,是該軟件的基礎,為整個軟件提供數據來源,向下為實時監控客戶端提供監控參數名,向上提供實時遙測數據。
(2)運行管理模塊:用于管理和維護工程中的各種信息,如監控軟件通信配置信息、監控頁面參數配置信息等,同時還將接收到的網絡數據處理為可理解和便于進一步利用的結果,并把處理結果遞交給圖形界面模塊以驅動監控組件。此外,該模塊還負責新建工程、工程備份等功能。
(3)圖形界面模塊:是一個進行圖形系統生成工作所依賴的開發環境。圖形界面是監控系統的前端,通過建立一系列用戶數據文件及操作,生成最終的圖形目標應用系統。生成的目標應用程序可在圖形運行環境中運行。在圖形界面上還具備報警通知及確認、報表組態及打印、顯示功能。各種報警、報表、趨勢都是動畫連接的對象。其數據源都可以通過圖形界面指定,然后通過運行模塊,取得各種處理好的參數,把監控對象通過儀表、曲線、告警燈等形式反映給試飛工程師。
平臺主要實現的功能包括:
(1)實現監控畫面軟件的動態編輯設計;
(2)使用靈活的組件方式(而非編程方式),實現組件對象可重組、參數算法可定義,為數據處理工程師提供快速構建監控畫面的平臺;
(3)在監控過程中,數據處理工程師、試飛工程師可以根據任務需求實時進行監控參數的動態調整;
(4)實現試飛數據二次處理常用算法動態配置功能,滿足常規的數據處理需求。
2.1圖形界面的設計及實現
圖形界面模塊為試飛人員提供了與平臺交互的接口,是整個軟件的核心部分,用戶可以方便地通過鼠標拖拽組件的方式而不是編程方式進行控件的創建和配置編輯工作。監控畫面的制作過程完全是一個可視化操作,利用鼠標等輸入設備,動態創建所需要的監控組件并對其進行任意縮放和拖動位置以及進行參數和運算配置,從而實現用戶對監控畫面的自由組態。編輯好的畫面進入運行狀態后,各組件接收過程邏輯層解算好的參數實現實時狀態刷新。該模塊的實現主要包括監控組件模型庫的開發[3]以及組件的動態調用。
2.1.1 組件模型庫開發
在試飛遙測實時監控過程中,需要通過數字、儀表、曲線、柱狀圖等多種數據表現形式對機上測試參數進行地面復現,自主實時監控組態軟件需要搭建完備的組件模型庫以供用戶選擇。因此,根據試飛監控中的實際需求,開發了一組基于MFC的監控組件,如儀表、曲線、柱狀圖等,以及飛機平顯、地圖等專用組件。監控組件的開發分為靜態和動態兩部分,靜態部分沒有參數驅動,一般為控件的基本屬性部分(如背景、參數名稱等)。動態部分的任務是以直觀的動畫來模擬現場,反映被控對象的變化,其通過實時接收的數據流來驅動。
監控過程中,通常需要創建很多監控組件,并對其進行移動、縮放等操作,這種情況下,會產生嚴重的閃爍現象,給用戶帶來很大的不便。產生閃爍的原因是:窗口需要重繪時,總是先用背景色將顯示區域清除,然后才調用OnPaint進行繪制,由于背景色與繪圖內容差別較大,就會產生閃爍現象。該系統采用雙緩沖機制[7]繪制圖形,在繪圖區域顯示想要的畫面之前,先在內存中創建一個與繪圖區域一致的對象,將圖形繪制到這個內存對象上,再一次性將這個對象上的圖形拷貝到屏幕上,加快繪圖的速度,從而避免閃爍現象。
中國飛行試驗研究院遙測實時監控在幾十年的發展過程中,開發積累了相當多的界面友好、功能強大的通用平臺監控組件。軟件平臺中對常用的部分監控組件進行提取和封裝優化,滿足了基本的監控軟件設計監控組件元素的需求。平臺綜合加載了自定義組件、專用組件以及通用平臺組件,并對外提供統一接口形式進行管理,以實現組件的無差別動態生成、參數配置、運算配置與解析以及組件配置信息的存儲與解析。同時,具有良好的擴展性,新開發組件按照接口定義規則可以方便加入到平臺中。豐富的組件選擇為畫面的動態生成提供了極大的靈活性。
2.1.2 組件的動態調用
為了實現監控組件的動態生成,位置移動和縮放,軟件在實現過程中為每一個監控組件添加一個運行時包裝類。通過這種方法,可以實現將自定義組件如儀表曲線以及封裝好的通用平臺組件以統一的表現形式呈現給開發人員,實現二者的統一靈活加載。軟件運行時,用戶點擊一個組件圖標并拖放到指定位置,實際上就是為該組件的包裝類創建一個對象并進行顯示,同時可以用線框選中該組件,進行組件的移動、縮放,實現良好的人機交互。組件創建好之后,為該組件添加雙擊相應事件,在彈出的對話框中設置該組件的基本屬性如組件名稱及背景顏色等、配置要監控的參數以及參數的運算信息。每一個組件的創建與運行都是獨立的,單個組件的修改與增刪不會對系統的運行產生任何影響。圖2是一幅監控畫面的一般設計過程。

圖2 畫面生成過程
2.2運行管理模塊設計
2.2.1 參數運算動態配置及解析實現
參數解算模塊接收到的PCM參數通常是由服務器軟件已經解算好的物理量,對于該類參數,解算模塊不做任何操作直接輸出到該組件的數據驅動接口。但是,同時也存在著部分服務器無法完成解算或解算過于復雜的參數,如一個PCM[8-9]字中包含了多個開關量。對于這部分參數,則需在監控畫面中進行計算以得到正確的物理量。遙測數據處理常用算法包括多PCM字合并、取位以及表達式運算,圖3是一個組件完整的參數提取解算過程。
表達式動態解析[10-11]是該模塊實現的重點與難點。表達式解析是通過詞法分析和堆棧操作對表達式進行重新組合,形成一棵表達式樹,表達式計算是自上而下地深度遍歷表達式樹,計算每一個樹節點的值,根節點的值就是表達式最后的值。

圖3 參數提取過程
2.2.2 配置信息管理
在一個監控軟件參數配置文件中,所有組件呈樹狀關系,如圖4所示。在畫面存儲時希望也能夠保持這種層次關系。該軟件采用XML(eXtensible Makeup Language)文檔來表示這種樹狀關系。XML[12-14]定義了利用簡單、易懂的標簽對數據進行標記的一般語法,提供了計算機文檔的一種標準格式。利用XML文檔存儲編輯好的監控畫面,不但結構清晰,而且完全以文本方式存儲,可以通過任何一種編輯工具進行查看和修改,使用戶編輯十分方便。同樣,當需要打開一幅畫面時,就可以根據XML文件中的節點及其屬性生成正確的圖形組件。

圖4 畫面存儲結構
對于不同型號不同科目監控軟件的配置信息,采用結構化層次劃分進行管理,通過型號及科目劃分建立分層的配置信息庫結構,從而實現所有監控軟件配置信息的結構化存儲管理。
2.3I/O驅動模塊設計
系統通過建立Socket套接字的方式與遙測實時數據處理前端進行數據交換。當前,常用的網絡數據傳輸協議包括TCP(Transmission Control Protocol,傳輸控制協議)和UDP(User Datagram Protocol,用戶數據報協議)兩種。TCP是一種面向連接的協議,允許從一臺計算機發出的字節流無差錯地發往網絡上的其他計算機。兩臺TCP主機間進行數據交換之前,必須通過三次握手機制先相互建立會話,通過確認和按順序傳遞數據來確保數據的可靠傳輸,其在發生丟包時會進行數據包重傳。TCP一般應用在要求數據傳輸具有較高可靠性的場合。UDP提供盡量傳遞的無連接數據服務,它不能確保或確認數據傳遞或數據順序,由使用UDP的程序負責提供傳輸數據所需的可靠性。對同一個局域網來說,使用UDP能夠獲得良好的性能,它能夠滿足數據傳輸量不太大、數據實時性較高的應用場合,在這種情況下,UDP的低開銷和多播能力比TCP更合適。
試飛實時監控網絡屬于專用網絡,網絡規模較小,數據一般不需要在交換設備間進行多級跳轉,因此,數據包丟失或出現錯序的幾率較低。同時,試飛實時監控對數據實時性具有很高的要求,因此,選用UDP傳輸協議具有其特定的優勢,PCM數據處理前端服務器與該自主實時監控組態軟件建立UDP鏈接,從而將遙測數據“推送”到監控軟件畫面,確保數據的實時性。圖5是監控軟件數據傳輸流程圖。

圖5 監控軟件數據傳輸流程
將軟件安裝到實際飛行試驗中的監控客戶端主機上,為試飛工程師及飛行指揮員提供快速構建的監控畫面及實時監控平臺,并通過配置信息庫對其進行管理,如圖6所示。
在試飛過程中,試飛工程師根據任務需求通過鼠標“拖拽”方式創建儀表、曲線等某一特定監控組件,然后綁定監控參數數據源并對其運算信息進行動態配置,自主實時監控組態軟件自動接入遙測實時監控系統,便可完成試飛課題所關心機載測試參數的實時監控,極大簡化了實時監控任務準備流程,有效降低了任務準備壓力和復雜度。目前,該軟件已成功應用于運輸機、ARJ21支線客機等型號的多架飛機試飛實時監控當中,在確保試飛安全和保障試飛任務高質量完成中發揮著重要作用。

圖6 自主實時監控組態軟件應用場景圖
為解決試飛實時監控軟件設計時間緊、修改頻繁的問題,提出了基于組件的試飛自主實時監控平臺軟件設計方法,并構建了試飛自主實時監控平臺。該自主實時監控組態軟件平臺在Visual Studio平臺下,采用組態軟件設計思想和模塊化方法開發完成。通過該平臺,數據處理工程師根據監控參數的表現形式選擇相應的監控組件進行參數配置和運算配置,即可完成監控畫面的編輯任務;試飛工程師在監控過程中可以靈活調整監控參數和畫面布局;軟件根據配置參數接收網絡數據并根據定義的運算進行相應解算,驅動整個監控畫面圖形元素的運行,為指揮人員和地面試飛工程師提供及時、準確的飛機狀態信息。與傳統的基于LabVIEW和C++ Builder監控畫面相比,能夠有效提高畫面準備效率,提高畫面編輯的靈活性。
[1] 王亞民,陳 青,劉暢生,等.組態軟件設計與開發[M].西安:西安電子科技大學出版社,2003.
[2] 趙民正.面向監控的組態軟件—技術分析和設計[D].杭州:浙江大學,2002.
[3] 余志文,申輝軍.基于ActiveX的WebGIS實現技術[J].測繪通報,2003(2):53-56.
[4] 查衛翔,譚南林.ActiveX控件在基于B/S結構的遠程監控中的應用[J].北方交通大學學報,2002,26(1):58-62.
[5] 謝東亮,侯朝楨,楊國勝,等.無線局域網中異步數據傳輸模式分析及其應用[J].計算機工程與應用,2002,38(11):149-151.
[6] 韓 立,尹愛軍.基于組態技術的測控軟件開發及測試[J].中國測試,2010,36(4):66-69.
[7] Baldwin D R.System and method using double-buffer preview mode:US,US5329630[P].1994.
[8] 宋政斌,張國旺.基于IRIG106固態記錄器記錄標準的PCM數據處理技術研究[J].計算機測量與控制,2014,22(2):531-533.
[9] 衛保國,蔡 偉,郝志浪,等.航電ARINC429總線監測系統的設計與實現[J].電子設計工程,2014,22(3):37-41.
[10] 鄭致力.算術表達式解析引擎的設計及實現[D].北京:北京郵電大學,2012.
[11] 鄧緒斌.基于最優樹聯配的正則表達式學習算法[J].復旦學報:自然科學版,2011,50(6):797-802.
[12] 莫正波,宋 玲,呂 強,等.XML文檔語義檢索方法研究[J].計算機工程與應用,2013,49(11):121-125.
[13] 董 欣,陳曉鷗.XML文件的顯示與瀏覽[J].計算機應用,2000,20(8):29-32.
[14] 王 茹,宋瀚濤.XML文檔結構定義規范-XML Schema[J].計算機應用研究,2002,19(1):127-129.
A Real-time Monitoring Technology of Flight Test Based on Configuration
JIA Yu1,WANG Shuang2,QIN Yang-sen1,QI Chan-ying1
(1.Chinese Flight Test Establishment,Xi’an 710089,China; 2.Xi’an Yuanfang General Aviation Technology Development Corporation,Xi’an 710089,China)
In view of the problem that flight test strength increasing,verified subjects especially risk subjects becoming more and more currently,and real-time monitoring software in tight design time and modified frequently,a software design method for autonomous real-time monitoring platform based on components is proposed.By adopting the thought of component designing,an independent monitoring platform is developed by using the component method on the platform of Studio Visual,which has solved the technical bottleneck of "a monitoring subject,a set of monitoring screen software" and changed the inherent defects of complex and huge developing code for previous real-time monitoring software,heavy workload of repetitive development,and not having dynamic modification in accordance with new requirements.It is realized for software that the graphic elements are restructuring,the algorithm parameters are defined and real-time system platform is compatible.Users can use the functions of configuration software,and without the complex programming operation,only need to create the required functional components by mouse click and conduct the corresponding parameter configuration,which can build a real-time monitoring software most suitable for their own.After flight test,it is proved that the platform can realize the dynamic designing of the safety monitoring picture and adjust the monitor screen quickly according to the test requirements,which can effectively improve the flight test monitor preparation efficiency.
flight test;real-time monitoring;monitoring picture designing;configuration software
2016-08-31
:2016-12-07 < class="emphasis_bold">網絡出版時間
時間:2017-07-05
國防基礎科研項目(A0520132031)
賈 雨(1988-),男,碩士研究生,研究方向為飛行試驗實時監控及數據處理。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170705.1650.046.html
TN06
:A
:1673-629X(2017)09-0145-05
10.3969/j.issn.1673-629X.2017.09.032