舒 暢
(1.武昌工學院,武漢 430065;2.陸軍工程大學軍械士官學校,武漢 430075)
軍事裝備武器系統(tǒng)間的無縫鏈接、協(xié)調和配合、信息交互是未來戰(zhàn)爭發(fā)揮整體效能,最大程度滿足作戰(zhàn)需要的必經(jīng)之路,各系統(tǒng)需要在同一導調系統(tǒng)的控制和指揮下,按照時間軸、信息流、人員配置合理規(guī)劃作戰(zhàn)方案,也是充分發(fā)揮全系統(tǒng)效能的必然要求。過去,分散的武器系統(tǒng)各自為政,自成體系,沒有統(tǒng)一的導調系統(tǒng)指揮協(xié)調,最多也就是簡單的通信協(xié)調,很難適應信息化條件下復雜快速的作戰(zhàn)需要。為此,依據(jù)某武器系統(tǒng)間的信息互聯(lián)關系,研制開發(fā)了某武器系統(tǒng)導調系統(tǒng)。
該導調系統(tǒng)將某型中低空目標指示雷達系統(tǒng)、某型指揮控制系統(tǒng)、某型自行高炮武器系統(tǒng)和某型地空導彈系統(tǒng),按照信息流、時間軸和人員分工合理配屬方案,將系統(tǒng)管理、預案生成、導調控制、態(tài)勢顯示、事件報告、系統(tǒng)監(jiān)控和重演顯示等席位組建成一套全系統(tǒng),確保發(fā)揮整體效能。各武器系統(tǒng)向導調系統(tǒng)發(fā)請求指令,導調分發(fā)或廣播導調文電,按時間軸運行。
同時,系統(tǒng)需要解決以下問題:一是各武器分系統(tǒng)執(zhí)行節(jié)奏不一致,復雜性不同,導調系統(tǒng)如何合理導調,這是難點;二是導調方案設置是否合理和科學,如何選擇方案。對于復雜系統(tǒng),信息流、網(wǎng)絡傳輸?shù)姆€(wěn)定性和帶寬需求,還需要加強研究。
導調系統(tǒng)由系統(tǒng)管理、預案生成、導調控制、態(tài)勢顯示、事件報告、系統(tǒng)監(jiān)控和重演顯示等模塊組成,全系統(tǒng)結構組成如圖1 所示。系統(tǒng)連接某型指揮控制系統(tǒng)、某型中低空目標指示雷達系統(tǒng)、某型自行高炮武器系統(tǒng)和某型地空導彈系統(tǒng),通過訓練網(wǎng)和接口協(xié)議轉換系統(tǒng)組建成一個整系統(tǒng);導調系統(tǒng)通過導調控制席完成導調控制(方案編輯、方案下發(fā)、導調控制、狀態(tài)顯示),通過態(tài)勢管理席完成態(tài)勢管理(態(tài)勢編輯、態(tài)勢顯示),通過事件報告席完成事件報告(事件顯示、事件過濾、歷史查詢),通過監(jiān)控席完成系統(tǒng)監(jiān)控(狀態(tài)監(jiān)控、視頻監(jiān)控),通過系統(tǒng)管理席完成系統(tǒng)管理(席位管理、用戶管理、權限管理),通過重演席完成系統(tǒng)回放管理(方案管理、重演控制)。
圖1 全系統(tǒng)結構組成圖
系統(tǒng)采用“平臺+功能構件”的設計思想,以柔性開發(fā)平臺為基礎,定制開發(fā)功能構件來靈活組建。整系統(tǒng)采用開放式體系結構,基于統(tǒng)一的基礎平臺,遵照規(guī)范標準化接口。功能構件開發(fā)采用原型迭代、靈活集成、動態(tài)部署、集中管控,且部分功能使用開源腳本開發(fā),在提升系統(tǒng)穩(wěn)定性的同時降低維護工作量。系統(tǒng)軟件使用C++語言進行開發(fā),界面庫為Qt,配置文件使用XML,態(tài)勢顯示使用二維態(tài)勢顯示。
具體設計特點是:
1)采用開放式體系結構,使本系統(tǒng)具有可移植、可擴展、可互操作、可剪裁等特點,提高系統(tǒng)的可集成性和集成效率;
2)基于統(tǒng)一的基礎平臺,按照各個項目實現(xiàn)界面庫和通用中間件,提高平臺開發(fā)的效率;
3)遵照規(guī)范標準化接口,進行標準化設計,方便功能擴充和第三方研制軟件的接入;
4)吸取借鑒商用技術(Qt),充分采用成熟的商用技術,提高系統(tǒng)研制的效率;
5)平臺開發(fā)采用模塊化和中間件技術,消除系統(tǒng)緊耦合現(xiàn)象,減少模塊之間的依賴性,便于升級維護。
導調系統(tǒng)連接圖如圖2 所示,由5 臺PC,每臺配置為主機:聯(lián)想Intel i5/4 G/1 T,顯示器:21 寸或以上;1 臺服務器,Intel E3/4 G/1 T;1 臺路由器;1 套網(wǎng)絡監(jiān)控設備組成。
圖2 導調系統(tǒng)連接圖
導調系統(tǒng)通過訓練網(wǎng)和接口協(xié)議轉換系統(tǒng),將導調系統(tǒng)插件集和各武器系統(tǒng)鏈接起來,各部分信息流和控制流通過協(xié)議轉換相互銜接和控制,實現(xiàn)流程控制。
首先,因為各武器系統(tǒng)采用不同的操作平臺,且不在一個物理區(qū)域內,這就需要考慮各系統(tǒng)間的通信和指令解析問題,通信解析問題是該導調系統(tǒng)的核心關鍵問題之一;其次,系統(tǒng)時間軸同步問題是保證導調在同一時鐘節(jié)奏下有序運行的關鍵;再者,導調時鐘觸發(fā)執(zhí)行指令,是導調實時發(fā)送電文、武器系統(tǒng)接收和執(zhí)行電文的重點之一。為了解決各武器系統(tǒng)間的數(shù)據(jù)通信,需要一種通用的通信手段,這種通信手段要求格式簡單、性能高效、低帶寬、高可靠、支持一對一/一對多/多對多的通信。為此,系統(tǒng)提供了一種基于消息隊列的多線程網(wǎng)絡庫,其對套接字類型、連接處理、幀,甚至路由的底層細節(jié)進行抽象,提供跨多種傳輸協(xié)議的套接字,可分布式并行運行。
系統(tǒng)關鍵技術有:
1)數(shù)據(jù)通信和指令解析技術;
2)系統(tǒng)時間軸同步控制技術;
3)時鐘觸發(fā)驅動技術。
通過模塊劃分,接口設計,packet.xml、network.xml、packet_adapter.xml 插件實現(xiàn),時鐘同步和觸發(fā)等方法實現(xiàn)了導調系統(tǒng)數(shù)據(jù)通信等關鍵問題。
3.1.1 packet.xml 文件
packet.xml 文件的主要作用為描述數(shù)據(jù)模型,正確配置此文件是系統(tǒng)間進行數(shù)據(jù)通信的基礎。packet.xml 根節(jié)點為報文協(xié)議,子節(jié)點包含多個報文結點,packet.xml 配合network.xml、packet_adapter.xml 完成通信服務的基本設置,實現(xiàn)數(shù)據(jù)通信。
1)報文標識
報文標識主要用來指明數(shù)據(jù)本身是何種類型,在整個系統(tǒng)中,報文標識應該事先規(guī)劃好,避免在系統(tǒng)通信中發(fā)生混亂,出現(xiàn)不應該出現(xiàn)的報文。報文標識包含一級標識和二級標識,如圖3 所示。
圖3 報文標識
2)標識定位
標識定位主要用來指明所有字段子節(jié)點中哪個字段用來存儲一級標識或二級標識數(shù)據(jù)。在當前報文或引用的報文中,如果不定義標識定位,Roshan通信服務子系統(tǒng)將無法判斷正確的數(shù)據(jù)類型,無法正確收發(fā)數(shù)據(jù)。標識定位包含一級標識屬性和二級標識屬性,如圖4 所示。
圖4 標識定位
3)字段結點
字段結點用來描述通信數(shù)據(jù)的所有字段集合,通過大量不同的字段集合來組成一串通信數(shù)據(jù)流,系統(tǒng)將通過字段結點來將其序列化成二進制流發(fā)送出去,或從一段二進制流中反序列化為字段,正確定義字段結點是系統(tǒng)正確解析數(shù)據(jù)的重要手段。
3.1.2 network.xml 文件
network.xml 文件的主要作用為配置網(wǎng)絡數(shù)據(jù)的接收,正確配置此文件能夠讓系統(tǒng)接收外部二進制流數(shù)據(jù),并將二進制流數(shù)據(jù)映射到packet.xml 文件所描述的數(shù)據(jù)模型中,免去編寫C++代碼進行解析的過程。
3.1.3 packet_adapter.xml 文件
packet_adapter.xml 文件有兩個主要功能:一是將接收到的數(shù)據(jù)通過packet.xml 描述映射到model.xml 描述中去;二是將model.xml 中的模型數(shù)據(jù)直接映射到packet.xml 描述中并通過網(wǎng)絡配置發(fā)送。正確配置此文件能夠讓開發(fā)人員編寫代碼進行數(shù)據(jù)接收、解析、設置模型、更新界面,以及界面操作、更新模型、打包數(shù)據(jù)、發(fā)送,達到開發(fā)人員只關心業(yè)務頂層設計和模型算法實現(xiàn)。
1)adapter 結點
adapter 結點用來定義每一種packet 的收發(fā)模式,處于接收模式時recvPackets 中的值必須存在于packet.xml 中,處于發(fā)送模式時子節(jié)點sender 必須存在。在一個adapter 結點中收發(fā)模式不能同時存在,也就是說recvPackets 屬性和sender 結點不能同時存在。
2)sender 結點
sender 結點用來定義在什么時刻什么條件下如何進行數(shù)據(jù)發(fā)送,triggers 結點定義“什么時刻”和“什么條件”,network 結點定義了“如何發(fā)送”。
3)mapper 報文結點
mapper 結點定義了在收發(fā)模式下packet 與model 之間的映射關系。在接收模式下,系統(tǒng)會將packetProperty 屬性映射到modelProperty 屬性中,同樣的在發(fā)送模式下,系統(tǒng)會將modelProperty 屬性映射到packetProperty 屬性中。
時間軸同步控制是系統(tǒng)時序控制,統(tǒng)一各席位之間的時間同步,保證各席位業(yè)務處理一致性的關鍵。系統(tǒng)中設置有天文時間軸、計劃時間軸、實際時間軸和倒計時功能,通過“開啟時統(tǒng)服務”按鈕,可進行時間統(tǒng)一校驗,統(tǒng)一進程運行。
系統(tǒng)在導調方案中設置各席位時間軸,在導調系統(tǒng)下達開機指令時,各武器系統(tǒng)按方案進度運行,席位時間軸設置如圖5 所示。
圖5 席位時間軸設置
系統(tǒng)中目標指示雷達子系統(tǒng)導調任務執(zhí)行過程如圖6 所示,在導調系統(tǒng)的時鐘控制下,按預定方案有序執(zhí)行。
圖6 目標指示雷達子系統(tǒng)導調任務執(zhí)行過程
系統(tǒng)在時間軸編輯中設置時間斷點,該斷點是前一任務結束點,也是后一任務觸發(fā)點。當運行至斷點時,導調發(fā)送時間報文給武器系統(tǒng),武器系統(tǒng)及時轉換工作程序,記錄前一任務完成情況,進入后一任務運行。本系統(tǒng)中采用標識技術很好地解決了系統(tǒng)與系統(tǒng)之間接口通信問題。系統(tǒng)采用大量配置化的方式對通信雙方進行約束,簡化維護成本,降低運行時間錯誤,避免了因接口發(fā)生變動需要重新編譯代碼,幫助開發(fā)人員將精力完全放在業(yè)務開發(fā)上。時鐘觸發(fā)驅動運行界面如圖7 所示。
圖7 時鐘觸發(fā)驅動運行效果圖
以一個雷達子系統(tǒng)的接收數(shù)據(jù)為例,使用本系統(tǒng)進行數(shù)據(jù)接收代碼如下:
事實證明,這種設計在項目后期進行系統(tǒng)聯(lián)調聯(lián)試時非常行之有效,節(jié)省了大量的調試時間。
為了解決武器系統(tǒng)導調系統(tǒng)通信問題,通過基于統(tǒng)一的基礎平臺,采用時鐘同步和通信解析相關技術,設計packet.xml、network.xml、packet_adapter.xml 插件來實現(xiàn)系統(tǒng)間數(shù)據(jù)通信,在提高開發(fā)效率的同時,也提高了穩(wěn)定性和可靠性。平臺開發(fā)采用模塊化和中間件技術,避免了傳統(tǒng)代碼開發(fā)的復雜性,各功能構件相互獨立,使本系統(tǒng)具有更好的可移植、可擴展、可互操作、可剪裁性,提高了系統(tǒng)的可集成性和集成效率。技術進步點主要有:采用模塊化、組合化和松耦合設計技術;采用“平臺+ 插件”的開發(fā)方式;突破傳統(tǒng)代碼編寫方法,設計插件來實現(xiàn)數(shù)據(jù)處理和通信。不足之處在于需要開發(fā)各武器系統(tǒng)接口協(xié)議轉換程序,增大了數(shù)據(jù)傳輸?shù)拈_銷,降低了傳輸效率。