楊仁寶 ,杜 兵 ,楊 操 ,焦蓬斐 ,周 淦
(1.中國電子信息產(chǎn)業(yè)集團(tuán)有限公司第六研究所,北京 102209;2.31432部隊(duì),遼寧 沈陽 110020)
傳統(tǒng)的指顯系統(tǒng)一般是在Windows操作系統(tǒng)上使用微軟工具開發(fā),不滿足可移植性和國產(chǎn)化的要求,同時(shí)在二次開發(fā)、快速生成顯示頁面等方面不能滿足日益繁重的任務(wù)需求。因此,在進(jìn)行新的指顯系統(tǒng)設(shè)計(jì)時(shí),軟件平臺(tái)的通用性、可移植性、可擴(kuò)展性成為亟待解決的問題,有必要進(jìn)行基于組件技術(shù)的通用指揮系統(tǒng)框架設(shè)計(jì)研究。指揮顯示軟件以提高航天器測控綜合管理能力為目標(biāo),以國產(chǎn)化計(jì)算機(jī)系統(tǒng)建設(shè)的需求為牽引,從頂層需求和用戶需求出發(fā),設(shè)計(jì)能夠滿足未來任務(wù)要求和職能拓展的軟件系統(tǒng)。
航天測控信息具有實(shí)時(shí)性強(qiáng)、信息量大、可靠性要求高等特點(diǎn)[1],指顯系統(tǒng)作為測控中心軟件系統(tǒng)的一個(gè)重要組成部分,用于收集航天測控任務(wù)執(zhí)行過程中的各類信息并以多種方式進(jìn)行集中顯示,為各級各類人員提供監(jiān)視服務(wù)的通用平臺(tái),并為指揮員的指揮決策提供參考和依據(jù)[2]。
組件(component)技術(shù)是實(shí)現(xiàn)軟件復(fù)用的重要方法[3-4]。用戶可以將多個(gè)組件結(jié)合在一起,快速構(gòu)成一個(gè)新的應(yīng)用程序,能夠提高開發(fā)速度,降低開發(fā)成本,增強(qiáng)軟件可擴(kuò)展性[5]。
基于組件技術(shù)業(yè)務(wù)系統(tǒng)的框架如圖1所示,由提供支撐的公共組件、平臺(tái)組件、顯示組件等組成。顯示組件用于業(yè)務(wù)數(shù)據(jù)的展示,不關(guān)注業(yè)務(wù)數(shù)據(jù)?;诮M件技術(shù)的系統(tǒng)抽象程度高,可重用性更好[6]。
圖1 組件技術(shù)框架
Qt是 Qt Company公司于 1991年開發(fā)的 C++圖形用戶界面應(yīng)用程序開發(fā)框架,支持跨平臺(tái)運(yùn)行。Qt是面向?qū)ο蟮目蚣埽褂靡恍┖暌约疤厥獾拇a生成擴(kuò)展(MOC,元對象編譯器),其易于擴(kuò)展并允許真正地組件化編程。Qt具有良好的封裝機(jī)制,可重用性好,模塊化程度高。
Qt通過抽象出不同平臺(tái)核心模塊的原理和特色,針對不同平臺(tái)所提供的API分別進(jìn)行實(shí)現(xiàn),實(shí)現(xiàn)了跨平臺(tái)機(jī)制,通過Qt進(jìn)行開發(fā)通用指揮系統(tǒng),可實(shí)現(xiàn)系統(tǒng)跨平臺(tái)復(fù)用特性[7]。另外,Qt具備“信號與槽”、元對象系統(tǒng)、事件系統(tǒng)等機(jī)制[8],可實(shí)現(xiàn)軟件快速開發(fā)。
結(jié)合指顯系統(tǒng)需求,在國產(chǎn)化計(jì)算機(jī)和操作系統(tǒng)下,采用Qt圖形用戶界面應(yīng)用程序開發(fā)框架進(jìn)行GDCA設(shè)計(jì)。指顯系統(tǒng)架構(gòu)共分為5層,如圖2所示。
輔助層提供底層服務(wù),為上層提供數(shù)據(jù)和管理支撐,主要包括數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)回放、數(shù)據(jù)庫訪問、版本管理、遠(yuǎn)程控制、地理信息服務(wù)。
數(shù)據(jù)層完成數(shù)據(jù)處理相關(guān)服務(wù),包括數(shù)據(jù)接收、發(fā)送、緩存、解析轉(zhuǎn)換、檢索服務(wù)以及實(shí)時(shí)數(shù)據(jù)的監(jiān)控功能。
圖2 指揮顯示系統(tǒng)架構(gòu)分層圖
平臺(tái)層負(fù)責(zé)完成對綜合顯示軟件的運(yùn)行支撐,包括多任務(wù)場景支持、界面插件控制、運(yùn)行日志管理、頁面組件管理、頁面顯示管理、數(shù)據(jù)訂閱分發(fā)、用戶分類管理、數(shù)據(jù)回放控制、大屏投影管理、軟件集中管控。
設(shè)計(jì)層具備對曲線、表格、二三維地圖、邏輯框圖、Web等組件的管理功能,用戶通過頁面編輯器加載組件庫,能快速生成各種監(jiān)視頁面,并通過模擬數(shù)據(jù)進(jìn)行頁面驗(yàn)證。
應(yīng)用層綜合顯示軟件加載可視化設(shè)計(jì)平臺(tái)生成的頁面文件,接入實(shí)時(shí)/非實(shí)時(shí)測控?cái)?shù)據(jù)進(jìn)行頁面展示。具備航天器早期測控、長期在軌管理數(shù)據(jù)監(jiān)視和模擬訓(xùn)練等應(yīng)用場景的功能。
指揮顯示系統(tǒng)包括數(shù)據(jù)預(yù)處理軟件(Data Preprocessing Software,DPS)、綜合顯示軟件(General Displaying Software,GDS)、可視化設(shè)計(jì)平臺(tái)(Visual Design Platform Software)、運(yùn)維支持軟件(Operation and Support Software,OSS),如圖 3 所示。
圖3 指揮顯示系統(tǒng)功能結(jié)構(gòu)圖
數(shù)據(jù)預(yù)處理軟件用于接收、處理并存儲(chǔ)所有接入到指揮顯示系統(tǒng)的數(shù)據(jù),對接入的數(shù)據(jù)進(jìn)行格式化校驗(yàn),對通過校驗(yàn)的數(shù)據(jù)進(jìn)行數(shù)據(jù)解析。格式化是為了便于顯示數(shù)據(jù)的內(nèi)部形式,并根據(jù)顯示需求將數(shù)據(jù)發(fā)布給綜合顯示軟件的界面集成框架進(jìn)行數(shù)據(jù)顯示。
綜合顯示軟件是指揮顯示系統(tǒng)的核心部分,負(fù)責(zé)各類測控?cái)?shù)據(jù)集中監(jiān)視,是指揮顯示系統(tǒng)的人機(jī)交互部分。主要包括:中心對內(nèi)/對外信息交換的情況、各類實(shí)時(shí)傳輸數(shù)據(jù)的處理結(jié)果、軌道和控制計(jì)算分析子系統(tǒng)計(jì)算的各類計(jì)算結(jié)果等數(shù)據(jù),以及為用戶提供打印、保存圖片、數(shù)據(jù)記盤與數(shù)據(jù)回放等多項(xiàng)服務(wù);完成組件加載、與數(shù)據(jù)預(yù)處理軟件的數(shù)據(jù)注冊并接收數(shù)據(jù)等各項(xiàng)功能,并以表格、曲線和圖形等方式向用戶提供各類測控?cái)?shù)據(jù)的實(shí)時(shí)或準(zhǔn)實(shí)時(shí)顯示。功能結(jié)構(gòu)如圖4所示。
圖4 綜合顯示軟件功能結(jié)構(gòu)圖
可視化設(shè)計(jì)平臺(tái)包括頁面編輯器和組件庫,前者用于創(chuàng)建、編輯和設(shè)計(jì)頁面,整合組件、理論彈道、參數(shù)字典、資源文件,為用戶提供拖拽、屬性設(shè)置、參數(shù)綁定等操作,幫助維護(hù)人員在頁面中開展“可見即所得”的頁面設(shè)計(jì)與布局調(diào)整。組件庫是根據(jù)指顯系統(tǒng)需求提煉出來的通用顯示組件,能滿足通用航天器指顯系統(tǒng)需求,組件庫為頁面編輯器和綜合顯示軟件提供組件資源,包括表格組件、曲線組件、遙測源碼組件、二維地圖組件、三維空間組件、框圖組件、網(wǎng)頁組件等,為頁面設(shè)計(jì)和實(shí)時(shí)顯示提供組件化支撐。
運(yùn)維支持軟件負(fù)責(zé)數(shù)據(jù)支持、版本管理、遠(yuǎn)程控制、日志管理等功能。
指揮顯示系統(tǒng)內(nèi)部各軟件模塊間接口關(guān)系如圖5所示。系統(tǒng)內(nèi)部接口的數(shù)據(jù)信息如表1所示。
圖5 指揮顯示系統(tǒng)內(nèi)部接口關(guān)系圖
按照GDCA設(shè)計(jì)要求,基于64位的操作系統(tǒng),開發(fā)語言采用Qt 5.12.5版本,實(shí)現(xiàn)GDCA原型軟件。
表1 指揮顯示系統(tǒng)內(nèi)部接口關(guān)系說明
表2 曲線組件測試結(jié)果
在該框架原型下對曲線組件進(jìn)行了測試,測試結(jié)果如表2所示。其中,數(shù)據(jù)總點(diǎn)數(shù)是指組件接收的所有數(shù)據(jù)點(diǎn)數(shù),顯示點(diǎn)數(shù)是指曲線中實(shí)際顯示的數(shù)據(jù)點(diǎn)數(shù)。曲線組件的CPU和內(nèi)存占用率滿足航天測控任務(wù)需求。
本文基于組件技術(shù)構(gòu)建了GDCA框架,使用Qt進(jìn)行了原型軟件開發(fā),結(jié)果證明GDCA框架具備較強(qiáng)的二次開發(fā)能力。用戶通過圖形化設(shè)計(jì)界面,快速生成顯示頁面,降低了頁面配置生成的難度,提高了生產(chǎn)效率,本文研究成果為快速構(gòu)建指顯系統(tǒng)提供了參考,在航天測控領(lǐng)域具有一定的推廣價(jià)值。但在組件的研制方面,目前主要對曲線和表格等進(jìn)行了驗(yàn)證,下一步還需研究構(gòu)建更多的組件,以滿足航天測控的任務(wù)需求。