一种防空型号武器控制系统软件架构设计方法
2015-08-07许宁
许 宁
上海机电工程研究所, 上海 201109
一种防空型号武器控制系统软件架构设计方法
许 宁
上海机电工程研究所, 上海 201109
主要介绍了防空型号武器控制系统软件设计的一般要求及特点,并介绍了各种软件设计所需要的操作系统、开发语言及调试环境。最后结合实际型号的工程研制过程给出了武器控制软件设计的一种基本架构。
武控系统;软件设计;多任务;数据处理
1 武器控制系统简介
如果把战术型号防空武器系统比作一个人,那么武器控制系统(以下简称武控系统)就是这个人的大脑及神经系统。武控系统最主要的任务是负责将各种探测源传送进来的数据进行综合处理(这个过程也包括操作人员进行人工干预作战部分),最终根据系统要求实时控制防空作战的具体执行者—导弹。
早期单通道防空武器系统对武控系统的要求只是完成对目标数据的平滑外推、导弹预装参数的解算等,武控系统的硬件只需一个单片机加上一些串口通讯板即可完成,相应的软件逻辑也较简单,基本上以模型计算为主;现代多通道防空武器系统针对日益复杂的空情战况,将武控系统按功能细化为指挥控制系统、火力控制系统及导弹发射控制系统3个层次。
1)指挥控制系统(以下简称指控系统)
指控系统的核心功能就是作战过程的指挥控制,落实在具体应用中就是对各个目标信息源的信息进行综合处理,并作出相对合理的决策及建议,其结果就是将空中目标分配给所属下级火力控制单元进行拦截作战,并实时对作战过程进行监控,必要时进行干预;同时记录作战过程中的相关数据及操作,为战后分析提供依据。
2)火力控制系统(以下简称火控系统)
火控系统的主要功能就是计算为导弹发射所需要的各种参数,并对导弹发射时机给出必要的提示,在半主动导引体制下火控系统还需对制导照射系统进行控制。火控系统计算的主要参数包括对不同目标攻击时的杀伤区,导弹起飞前的预装参数等。
3)发射控制系统(以下简称发控系统)
发控系统主要负责对导弹发射过程的具体控制。防空导弹发射方式分倾斜发射和垂直发射2种。倾斜发射方式下,发控系统需要根据火控解算的数据对发射架进行随动控制,并负责将火控数据传送给导弹;垂直发射方式下,发控系统无需进行随动控制,主要功能是将火控数据传送给导弹,并实时响应发射令。现代防空导弹发控系统大多还具有选弹功能。
本文重点讨论指控及火控系统软件。
2 武控软件的发展
武控系统的核心是武控软件。从最简单的射击指挥仪,到包括指控、火控和发控在内的复杂综合作战系统,软件始终是完成武器控制功能的承担者。随着战术型号研制的不断进步,对武控系统设计的要求也愈来愈高。实现这种高要求的现实基础是软件设计技术的不断进步和发展。
50~60年代的第一代防空导弹武器系统的射击指挥仪(火控系统)上按照今天的标准是没有操作系统的,软件完全由汇编甚至机器语言编写,只能进行不太复杂的数据运算。当时往往为了迁就计算机的速度以及珍贵的内存空间,不得不对算法进行额外的优化处理。在这种技术条件下想完成复杂的指挥控制逻辑解算是不可能的。
70~80年代的第二代防空导弹武器系统的射击指挥仪基本运行在单板计算机上,使用DOS操作系统,编程语言大多为汇编与C相结合。数据通信普遍采用串/并口方式,数据传输率较低。在DOS操作系统上同时只能运行单个程序,对外部数据或事件的响应普遍采用中断或查询方式,基本上能够满足嵌入式设备(如火控发控系统)的设计要求。限于当时计算机运行速度的硬件条件,界面显示等人机交互处理一般要放在一台专用接口计算机上进行,客观上造成了整个系统结构的复杂,降低了系统的可靠性。
90年代以后的第三代防空导弹武器系统从使用需求上较前一代武器有了本质的区别,特别是海湾战争、科索沃战争及伊拉克战争展现了一个前所未有的空中威胁模式,尤其是在抗饱和攻击方面对现代防空导弹武器系统提出了很高的要求。为了应付这种情况,现代防空武器系统普遍采取了多通道模式,即可同时对付多个空中威胁目标,根据防御使命的不同,对来袭目标进行相对威胁排序,合理控制火控系统进行拦截,更进一步,甚至具有专家决策系统的功能,辅助指挥人员进行作战指挥决策。这些新的需求对武控系统软件设计的提高是一个质的飞跃。多火力通道概念的引入导致了武控系统软件被详细划分为指挥控制软件和火力控制软件。
在第三代防空导弹武器系统中,指控系统要具备的功能包括指挥、控制、通信和情报处理。由于需要完成的功能较为复杂,一般单个软件难以完成全部工作,指控系统软件基本上按功能分为目标分配软件、情报综合处理软件、辅助决策软件、综合态势显示软件及通信软件。除了通信软件实时性要求较高外,一般指控系统软件对实时性没有过高要求。在作战过程的指挥控制中,由于需要大量人工干预功能,对软件人机交互功能的要求非常高。软件设计必须遵循界面友好,自动化程度高,对外部事件响应迅速可靠的原则。目前国内指控系统大量使用Windows操作系统的实时版RTX,编程一般以VC++,Delphi,Java等高级语言为主,采用面向对象程序设计方法。
火控系统软件的特点是强实时性和高可靠性。由于火控系统需要对空中目标的各项参数进行大量实时解算,一般来说软件都是运行在实时操作系统上(早期的射击指挥仪软件甚至没有任何操作系统)。实时操作系统可以保证数据解算模块在规定的时间内完成规定的解算任务,同时在对数据互斥保护、任务优先级切换等方面为用户提供了各种方法,保证了软件运行过程中的可靠性。早期的火控软件数据输入输出要求低,基本为串行工作,单任务机制的DOS操作系统即可承担;随着火控系统设计的日益复杂,软件数据接口愈来愈多,对数据的异步处理要求凸现。多任务实时操作系统根据用户对任务优先级的要求,通过安排调度CPU时间片,使各个异步任务运行有序合理。目前国内主要应用的实时操作系统包括VxWorks,嵌入式Linux和DeltaOS等。火控系统软件一般采用汇编或C语言进行编程。
在这里顺便介绍下目前较流行的一种开发模式,即实时操作系统+可视化人机界面支撑软件开发。这种模式下开发的软件仍是基于实时操作系统运行,但在与人机交互方面采用了成熟的界面支撑软件设计,应用开发人员直接使用界面支撑软件提供的各种控件进行界面设计,外部事件的响应处理由界面支撑软件包装成消息后送软件解算任务处理。这种模式下开发的软件既保证了软件数据处理的实时性、可靠性,又可以提供良好的人机交互界面。对于软件开发人员来说,可以避免进行大量重复繁琐的界面图形图像设计,把精力集中在数据算法的优化处理中,因此特别适合复杂指控及火控系统软件设计。这种开发模式的典型例子如VxWorks实时操作系统+DeltaGUI界面开发工具的组合。
3 武控系统软件设计
武控系统软件本质上也是一种数据处理软件,其特点是数据输入输出接口多,类型复杂,对数据处理实时性、可靠性要求高,响应外部事件要迅速。
3.1 武控系统软件运行模式
武控系统软件的运行模式分为响应式和周期式2种。
响应式是指软件运行在以事件处理为基础的工作方式上。事件产生可能是操作人员通过操控设备下达的命令或数据,也可能是由外部数据到达触发的。总之,软件在未收到事件时不做任何工作,当收到事件后,根据事件的类型调用相应的模块进行处理。这种软件工作模式的特点在于它所接收的外部数据无周期性,且数据接口一般比较复杂,对数据处理的实时性要求不高,如大型指挥控制决策系统等。
周期式软件在运行过程中以一个固定时间间隔为周期进行重复执行任务,软件或硬件定时器负责启动每个工作周期,在每个工作周期中,各个同步任务按照安排好的顺序串行执行,而异步执行的任务一般是被外部中断或事件触发,根据任务优先级的高低由操作系统调用执行。系统在设计时就要考虑好各个同步异步任务工作的最大时间,工作周期必须比各个任务满负荷执行时间总和要长才是合理的,一般工作周期与任务执行时间相比需留出至少30%的余量。这种软件工作模式的特点是一般有一个探测器(如雷达)作为数据输入的主要来源,软件工作周期与该数据源数据发送周期同步,从而实现一帧数据由一个工作周期处理。一般适用于直接参与作战的指控系统以及控制导弹发射的火控系统。
3.2 多任务武控系统软件特点
为了完成相应功能,武控系统软件必须创建一系列任务来具体执行对数据的处理。根据任务的被调用情况,分为同步任务和异步任务2种。
在周期性软件中,同步任务一般指那些每周期都需要执行的数据解算任务,同步任务根据需求可能有多个,且任务执行的先后顺序也是有要求的。在多任务操作系统中一般使用信号量来控制各个同步任务按照顺序依次执行。即当前面的任务没有执行完毕时,不会释放该信号量,而后面的任务由于没有获得该信号量,无法执行下去,只能由操作系统将其挂起,当该信号量被释放后,后面等待信号量的任务会立即获得,该任务也可以正常执行下去。
对于数据接收任务,由于通信延迟不确定性问题,即使发送端严格按时序发送数据,在接收方也未必能按同样时序接收到数据。因此,必须把数据接收任务假设为异步方式工作。另外,人工干预命令被界面处理模块包装为消息向其他任务发送时,也可以被认为是一种异步处理。由于是异步执行,在外部数据(或人机界面消息)到达之前,相应的处理任务是被操作系统挂起的,一旦运行条件具备,操作系统还要根据异步执行任务的优先级进行管理。实际的武控软件设计中,一般异步任务总要比同步任务的优先级高,这是因为异步任务往往是外部输入信息,若不及时处理,很可能丢失;而同步任务一般为数据解算任务,在周期性工作模式下,只要任务执行时间小于每个周期的时间即可。
这种同步异步任务并存的方式同时也带来了数据的互斥问题。在多任务实时操作系统中,物理内存对于每个任务都是可以直接访问的,为了防止不同任务(主要是同步异步任务)对同一数据进行读写,在使用这些数据时还需要使用互斥信号量进行保护。即当一个任务对某个数据进行读写操作时,其他任务不能对其进行操作,直到前面的任务操作完成。
武控软件运行周期时序如图1所示。
3.3 武控系统软件架构
这里给出的武控软件设计架构是基于周期式运行的。该武控软件运行在多任务实时操作系统上,主要功能是对输入的目标数据进行分析处理,并响应操作人员的指令,将处理结果发送给下一级控制系统,并显示在终端上。武控系统软件的结构如图2所示。
武控系统软件首先创建一个初始化任务,除了初始化各种数据结构及变量,创建定时器以外,它还要负责创建软件运行过程中始终需要执行的各个功能任务。这些任务包括数据处理主任务、人机界面交互任务、网络数据接收任务及串口中断任务等。每个任务主要由一个循环体构成,通过信号量或外部事件触发执行。
图1 武控系统软件运行时序图
图2 武控系统软件架构图
定时器主要用于按照需求规定的时间间隔释放信号量,控制同步任务的顺序执行。当前多任务实时操作系统都提供定时器功能,使用较为方便。
数据处理主任务主要负责解释接收到的命令,对目标数据进行解算。在指控系统中主要完成目标数据融合(或校批),目标类型识别,敌我识别和目标威胁排序等功能;在火控系统中主要完成目标运送参数的平滑滤波,拦截区、发射区计算,导弹预装参数解算等功能。一般在该任务处理完毕后可直接将数据进行发送处理。该任务属于同步任务,由工作周期定时器释放的信号量控制运行。
人机界面交互任务主要负责响应操作人员通过键盘或轨迹球(鼠标)发出的人工干预命令。首先该任务创建一个或多个界面窗口,每个窗口根据需求有自己独立的消息处理函数,界面任务将外部事件包装成消息,经路由发送到对应的窗口中进行相应的处理。与数据处理主任务的通信可以采取全局变量或消息的方式进行。
网络数据接收任务主要用于实时监听网络数据并接收。在以太网上传送数据主要使用TCP/IP协议,该协议的传输方式分为2种:TCP和UDP。TCP传输协议是面向连接的,每帧数据在接收/发送端都需进行二次握手,其特点是可靠性高,但速度较慢;UDP传输协议面向无连接,数据发出后发送方不再负责其正确性,其特点是速度快,适合大量数据传输。武控系统网络通信一般采用UDP协议传输,通过采用在应用层重发数据包的方法在一定程度上弥补可靠性的不足。由于网络数据的到达是个异步过程,因此一般需将该任务接收数据的Socket设置为阻塞方式工作,即当没有接收到网络数据时,该任务将被操作系统自动挂起,直到网络数据到达。除了接收网络数据并检查其正确性,还要根据源地址完成对网络数据的检索分类处理。
在武控系统中,各种外部设备很多是使用串行接口进行通信的,如导航设备、数据采集设备和专用接口设备等。目前流行的多任务操作系统一般通过底层驱动将串口中断映射为软件应用层的信号量或消息。在串口接收任务中只需要设置足够长度的环形缓冲区,将来自串口的字节根据接口协议组织成数据包即可。
4 结束语
回顾了防空型号武控系统软件发展历程,并对武控系统对软件设计的要求进行了初步分析。结合型号研制经验给出了一种武控系统软件的设计方法,为武控系统软件设计工作提供了一定的帮助。
[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