許 寧
上海機電工程研究所, 上海 201109
?
一種防空型號武器控制系統軟件架構設計方法
許 寧
上海機電工程研究所, 上海 201109

主要介紹了防空型號武器控制系統軟件設計的一般要求及特點,并介紹了各種軟件設計所需要的操作系統、開發語言及調試環境。最后結合實際型號的工程研制過程給出了武器控制軟件設計的一種基本架構。
武控系統;軟件設計;多任務;數據處理
如果把戰術型號防空武器系統比作一個人,那么武器控制系統(以下簡稱武控系統)就是這個人的大腦及神經系統。武控系統最主要的任務是負責將各種探測源傳送進來的數據進行綜合處理(這個過程也包括操作人員進行人工干預作戰部分),最終根據系統要求實時控制防空作戰的具體執行者—導彈。
早期單通道防空武器系統對武控系統的要求只是完成對目標數據的平滑外推、導彈預裝參數的解算等,武控系統的硬件只需一個單片機加上一些串口通訊板即可完成,相應的軟件邏輯也較簡單,基本上以模型計算為主;現代多通道防空武器系統針對日益復雜的空情戰況,將武控系統按功能細化為指揮控制系統、火力控制系統及導彈發射控制系統3個層次。
1)指揮控制系統(以下簡稱指控系統)
指控系統的核心功能就是作戰過程的指揮控制,落實在具體應用中就是對各個目標信息源的信息進行綜合處理,并作出相對合理的決策及建議,其結果就是將空中目標分配給所屬下級火力控制單元進行攔截作戰,并實時對作戰過程進行監控,必要時進行干預;同時記錄作戰過程中的相關數據及操作,為戰后分析提供依據。
2)火力控制系統(以下簡稱火控系統)
火控系統的主要功能就是計算為導彈發射所需要的各種參數,并對導彈發射時機給出必要的提示,在半主動導引體制下火控系統還需對制導照射系統進行控制。火控系統計算的主要參數包括對不同目標攻擊時的殺傷區,導彈起飛前的預裝參數等。
3)發射控制系統(以下簡稱發控系統)
發控系統主要負責對導彈發射過程的具體控制。防空導彈發射方式分傾斜發射和垂直發射2種。傾斜發射方式下,發控系統需要根據火控解算的數據對發射架進行隨動控制,并負責將火控數據傳送給導彈;垂直發射方式下,發控系統無需進行隨動控制,主要功能是將火控數據傳送給導彈,并實時響應發射令。現代防空導彈發控系統大多還具有選彈功能。
本文重點討論指控及火控系統軟件。
武控系統的核心是武控軟件。從最簡單的射擊指揮儀,到包括指控、火控和發控在內的復雜綜合作戰系統,軟件始終是完成武器控制功能的承擔者。隨著戰術型號研制的不斷進步,對武控系統設計的要求也愈來愈高。實現這種高要求的現實基礎是軟件設計技術的不斷進步和發展。
50~60年代的第一代防空導彈武器系統的射擊指揮儀(火控系統)上按照今天的標準是沒有操作系統的,軟件完全由匯編甚至機器語言編寫,只能進行不太復雜的數據運算。當時往往為了遷就計算機的速度以及珍貴的內存空間,不得不對算法進行額外的優化處理。在這種技術條件下想完成復雜的指揮控制邏輯解算是不可能的。
70~80年代的第二代防空導彈武器系統的射擊指揮儀基本運行在單板計算機上,使用DOS操作系統,編程語言大多為匯編與C相結合。數據通信普遍采用串/并口方式,數據傳輸率較低。在DOS操作系統上同時只能運行單個程序,對外部數據或事件的響應普遍采用中斷或查詢方式,基本上能夠滿足嵌入式設備(如火控發控系統)的設計要求。限于當時計算機運行速度的硬件條件,界面顯示等人機交互處理一般要放在一臺專用接口計算機上進行,客觀上造成了整個系統結構的復雜,降低了系統的可靠性。
90年代以后的第三代防空導彈武器系統從使用需求上較前一代武器有了本質的區別,特別是海灣戰爭、科索沃戰爭及伊拉克戰爭展現了一個前所未有的空中威脅模式,尤其是在抗飽和攻擊方面對現代防空導彈武器系統提出了很高的要求。為了應付這種情況,現代防空武器系統普遍采取了多通道模式,即可同時對付多個空中威脅目標,根據防御使命的不同,對來襲目標進行相對威脅排序,合理控制火控系統進行攔截,更進一步,甚至具有專家決策系統的功能,輔助指揮人員進行作戰指揮決策。這些新的需求對武控系統軟件設計的提高是一個質的飛躍。多火力通道概念的引入導致了武控系統軟件被詳細劃分為指揮控制軟件和火力控制軟件。
在第三代防空導彈武器系統中,指控系統要具備的功能包括指揮、控制、通信和情報處理。由于需要完成的功能較為復雜,一般單個軟件難以完成全部工作,指控系統軟件基本上按功能分為目標分配軟件、情報綜合處理軟件、輔助決策軟件、綜合態勢顯示軟件及通信軟件。除了通信軟件實時性要求較高外,一般指控系統軟件對實時性沒有過高要求。在作戰過程的指揮控制中,由于需要大量人工干預功能,對軟件人機交互功能的要求非常高。軟件設計必須遵循界面友好,自動化程度高,對外部事件響應迅速可靠的原則。目前國內指控系統大量使用Windows操作系統的實時版RTX,編程一般以VC++,Delphi,Java等高級語言為主,采用面向對象程序設計方法。
火控系統軟件的特點是強實時性和高可靠性。由于火控系統需要對空中目標的各項參數進行大量實時解算,一般來說軟件都是運行在實時操作系統上(早期的射擊指揮儀軟件甚至沒有任何操作系統)。實時操作系統可以保證數據解算模塊在規定的時間內完成規定的解算任務,同時在對數據互斥保護、任務優先級切換等方面為用戶提供了各種方法,保證了軟件運行過程中的可靠性。早期的火控軟件數據輸入輸出要求低,基本為串行工作,單任務機制的DOS操作系統即可承擔;隨著火控系統設計的日益復雜,軟件數據接口愈來愈多,對數據的異步處理要求凸現。多任務實時操作系統根據用戶對任務優先級的要求,通過安排調度CPU時間片,使各個異步任務運行有序合理。目前國內主要應用的實時操作系統包括VxWorks,嵌入式Linux和DeltaOS等。火控系統軟件一般采用匯編或C語言進行編程。
在這里順便介紹下目前較流行的一種開發模式,即實時操作系統+可視化人機界面支撐軟件開發。這種模式下開發的軟件仍是基于實時操作系統運行,但在與人機交互方面采用了成熟的界面支撐軟件設計,應用開發人員直接使用界面支撐軟件提供的各種控件進行界面設計,外部事件的響應處理由界面支撐軟件包裝成消息后送軟件解算任務處理。這種模式下開發的軟件既保證了軟件數據處理的實時性、可靠性,又可以提供良好的人機交互界面。對于軟件開發人員來說,可以避免進行大量重復繁瑣的界面圖形圖像設計,把精力集中在數據算法的優化處理中,因此特別適合復雜指控及火控系統軟件設計。這種開發模式的典型例子如VxWorks實時操作系統+DeltaGUI界面開發工具的組合。
武控系統軟件本質上也是一種數據處理軟件,其特點是數據輸入輸出接口多,類型復雜,對數據處理實時性、可靠性要求高,響應外部事件要迅速。
3.1 武控系統軟件運行模式
武控系統軟件的運行模式分為響應式和周期式2種。
響應式是指軟件運行在以事件處理為基礎的工作方式上。事件產生可能是操作人員通過操控設備下達的命令或數據,也可能是由外部數據到達觸發的。總之,軟件在未收到事件時不做任何工作,當收到事件后,根據事件的類型調用相應的模塊進行處理。這種軟件工作模式的特點在于它所接收的外部數據無周期性,且數據接口一般比較復雜,對數據處理的實時性要求不高,如大型指揮控制決策系統等。
周期式軟件在運行過程中以一個固定時間間隔為周期進行重復執行任務,軟件或硬件定時器負責啟動每個工作周期,在每個工作周期中,各個同步任務按照安排好的順序串行執行,而異步執行的任務一般是被外部中斷或事件觸發,根據任務優先級的高低由操作系統調用執行。系統在設計時就要考慮好各個同步異步任務工作的最大時間,工作周期必須比各個任務滿負荷執行時間總和要長才是合理的,一般工作周期與任務執行時間相比需留出至少30%的余量。這種軟件工作模式的特點是一般有一個探測器(如雷達)作為數據輸入的主要來源,軟件工作周期與該數據源數據發送周期同步,從而實現一幀數據由一個工作周期處理。一般適用于直接參與作戰的指控系統以及控制導彈發射的火控系統。
3.2 多任務武控系統軟件特點
為了完成相應功能,武控系統軟件必須創建一系列任務來具體執行對數據的處理。根據任務的被調用情況,分為同步任務和異步任務2種。
在周期性軟件中,同步任務一般指那些每周期都需要執行的數據解算任務,同步任務根據需求可能有多個,且任務執行的先后順序也是有要求的。在多任務操作系統中一般使用信號量來控制各個同步任務按照順序依次執行。即當前面的任務沒有執行完畢時,不會釋放該信號量,而后面的任務由于沒有獲得該信號量,無法執行下去,只能由操作系統將其掛起,當該信號量被釋放后,后面等待信號量的任務會立即獲得,該任務也可以正常執行下去。
對于數據接收任務,由于通信延遲不確定性問題,即使發送端嚴格按時序發送數據,在接收方也未必能按同樣時序接收到數據。因此,必須把數據接收任務假設為異步方式工作。另外,人工干預命令被界面處理模塊包裝為消息向其他任務發送時,也可以被認為是一種異步處理。由于是異步執行,在外部數據(或人機界面消息)到達之前,相應的處理任務是被操作系統掛起的,一旦運行條件具備,操作系統還要根據異步執行任務的優先級進行管理。實際的武控軟件設計中,一般異步任務總要比同步任務的優先級高,這是因為異步任務往往是外部輸入信息,若不及時處理,很可能丟失;而同步任務一般為數據解算任務,在周期性工作模式下,只要任務執行時間小于每個周期的時間即可。
這種同步異步任務并存的方式同時也帶來了數據的互斥問題。在多任務實時操作系統中,物理內存對于每個任務都是可以直接訪問的,為了防止不同任務(主要是同步異步任務)對同一數據進行讀寫,在使用這些數據時還需要使用互斥信號量進行保護。即當一個任務對某個數據進行讀寫操作時,其他任務不能對其進行操作,直到前面的任務操作完成。
武控軟件運行周期時序如圖1所示。
3.3 武控系統軟件架構
這里給出的武控軟件設計架構是基于周期式運行的。該武控軟件運行在多任務實時操作系統上,主要功能是對輸入的目標數據進行分析處理,并響應操作人員的指令,將處理結果發送給下一級控制系統,并顯示在終端上。武控系統軟件的結構如圖2所示。
武控系統軟件首先創建一個初始化任務,除了初始化各種數據結構及變量,創建定時器以外,它還要負責創建軟件運行過程中始終需要執行的各個功能任務。這些任務包括數據處理主任務、人機界面交互任務、網絡數據接收任務及串口中斷任務等。每個任務主要由一個循環體構成,通過信號量或外部事件觸發執行。

圖1 武控系統軟件運行時序圖

圖2 武控系統軟件架構圖
定時器主要用于按照需求規定的時間間隔釋放信號量,控制同步任務的順序執行。當前多任務實時操作系統都提供定時器功能,使用較為方便。
數據處理主任務主要負責解釋接收到的命令,對目標數據進行解算。在指控系統中主要完成目標數據融合(或校批),目標類型識別,敵我識別和目標威脅排序等功能;在火控系統中主要完成目標運送參數的平滑濾波,攔截區、發射區計算,導彈預裝參數解算等功能。一般在該任務處理完畢后可直接將數據進行發送處理。該任務屬于同步任務,由工作周期定時器釋放的信號量控制運行。
人機界面交互任務主要負責響應操作人員通過鍵盤或軌跡球(鼠標)發出的人工干預命令。首先該任務創建一個或多個界面窗口,每個窗口根據需求有自己獨立的消息處理函數,界面任務將外部事件包裝成消息,經路由發送到對應的窗口中進行相應的處理。與數據處理主任務的通信可以采取全局變量或消息的方式進行。
網絡數據接收任務主要用于實時監聽網絡數據并接收。在以太網上傳送數據主要使用TCP/IP協議,該協議的傳輸方式分為2種:TCP和UDP。TCP傳輸協議是面向連接的,每幀數據在接收/發送端都需進行二次握手,其特點是可靠性高,但速度較慢;UDP傳輸協議面向無連接,數據發出后發送方不再負責其正確性,其特點是速度快,適合大量數據傳輸。武控系統網絡通信一般采用UDP協議傳輸,通過采用在應用層重發數據包的方法在一定程度上彌補可靠性的不足。由于網絡數據的到達是個異步過程,因此一般需將該任務接收數據的Socket設置為阻塞方式工作,即當沒有接收到網絡數據時,該任務將被操作系統自動掛起,直到網絡數據到達。除了接收網絡數據并檢查其正確性,還要根據源地址完成對網絡數據的檢索分類處理。
在武控系統中,各種外部設備很多是使用串行接口進行通信的,如導航設備、數據采集設備和專用接口設備等。目前流行的多任務操作系統一般通過底層驅動將串口中斷映射為軟件應用層的信號量或消息。在串口接收任務中只需要設置足夠長度的環形緩沖區,將來自串口的字節根據接口協議組織成數據包即可。
回顧了防空型號武控系統軟件發展歷程,并對武控系統對軟件設計的要求進行了初步分析。結合型號研制經驗給出了一種武控系統軟件的設計方法,為武控系統軟件設計工作提供了一定的幫助。
[1] 董奇帥,馮金富,吳文超.機載武器控制系統仿真平臺的設計與實現[J].火力與指揮控制,2008,33(11):14-15.(Dong Q S,Feng J F,Wu W C.Design and Implementation of Simulation Platform for Airborne Weapon Control System[J].Fire Control and Command Control,2008,33(11):14-15.)
[2] 趙恒,曹萬華,王振宇.軟件體系結構在艦載指揮控制系統中的應用研究[J].艦船科技技術,2000(6):21-22.(Zhao H, Chao W H, Wang Z Y.The Software Architecture of Command of the Applied Research in the Control System of Warship[J].Ship Science and Technology, 2000(6): 21-22.)
[3] 李鳳云.基于SOA的指揮控制系統體系結構研究[D].沈陽: 沈陽理工大學,2013.(Li F Y. Research on Command and Control System Architecture Based on SOA[D].Shenyang:ShenYang Ligong University,2013.)
[4] 劉波.信息化指揮控制系統組成與發展探討[J].艦船電子工程, 2011(11):4.(Liu B.To Investigate the Composition and Development of the Command and Control Information System[J].Electronic Engineering,2011(11):4.)
[5] 趙恒; 曹萬華; 王振宇.艦載指揮控制系統軟件的一種異構體系結構[J].艦船電子工程,2001(1):7.(Zhao H,Chao W H,Wang Z Y.Shipborne Command and Control System Software of A Heterogeneous Architecture[J].Ship Electronic Engineering, 2001(1):7.)
A Method for Architecture Design of Air Defense Weapon Control System Software
XU Ning
Shanghai Institute of Mechanical & Electrical Engineering, Shanghai 201109, China
Inthispaper,therequestorcharacteristicsaboutsoftwaredesignforweaponcontrolsysteminaerialdefensegroundequipmentarepresented,andtheoperatingsystem,developmentenvironmentsandtestenvironmentsinsoftwaredesignareintroduced.Atlast,aframeworkusedtosoftwaredesignforweaponcontrolinaerialdefensegroundequipmentforcertainprojectispresented.
Weaponcontrol;Softwaredesign;Multi-task;Dataprocessing
2014-09-23
許 寧 (1976-),男,遼寧鞍山人,高級工程師,主要研究方向為防空導彈指揮控制系統設計。
V557
A
1006-3242(2015)01-0072-05