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