APP下载

导弹火控系统录取功能的设计与实现

2018-06-11龙,宁,

指挥控制与仿真 2018年3期
关键词:火控系统队列报文

张 龙, 许 宁, 杨 振

(上海机电工程研究所, 上海 201109)

火控系统软件多采用实时性强、可靠性高和成熟度高的嵌入式VxWorks操作系统,充分利用VxWorks操作系统的多任务调度机制和多任务通信机制[1-2],满足火控系统实时性和可靠性要求。目前的导弹火控系统已发展成为与多个子系统交互的复杂控制系统,由于其功能、结构及接口的复杂,对火控系统录取功能的要求越来越高。而嵌入式系统使用操作上并不友好,使得录取功能数据提取操作变得困难,特别是对分析操作人员有很强的依赖性。本文从这一问题出发,针对性地进行火控系统录取功能进行了完善设计,并在某型导弹武器系统实际工程应用过程中,取得了良好的效果。

1 火控系统录取功能的现状

火控系统需要接收雷达系统、光电系统等探测设备的目标数据和信息,响应显控输入命令,制定目标拦截策略,组织火力资源,计算射击诸元参数,联动控制伺服系统、导弹系统、发控系统,实现导弹发射,完成杀伤目标的作战功能。火控系统软件架构基于VxWorks嵌入式操作平台,软件采用操作系统提供的高精度定时器和优先级抢占式的多任务调度机制设计多任务结构[3-4]。以某型号研制为背景,火控系统软件根据各个功能特点划分为以下任务。初始化任务为一次性任务,调用应用程序入口;校时任务在准秒触发时校准系统工作时间;显示刷新任务更新界面显示数据并完成操作按键数据采集;网络接收任务、串口1/2接收任务、CAN1/2/3接收任务接收外部输入信息;火力控制任务作为火力系统软件的中心,完成解算和控制流程;数据录取任务完成与火控交互的各个节点的数据记录;看门狗定时器负责火控任务入口的周期回调,保证周期控制[3]。各个任务数据流与控制流如图1所示。

火控系统软件的数据记录任务主要是记录火控系统对外接口的交互内容,形成如图2所示的数据文件,一定程度上能够满足数据资源的获取以及分析。但这种录取功能设计也有十分明显的缺点,正如图1所示,网络接收任务、串口1/2接收任务、CAN口1/2/3接收任务完成数据接收后发送至火力控制任务,再由火力控制任务发送至数据记录任务。各个接收任务获取的数据并未第一时间转交给数据记录任务,也未标记报文获取的时间信息。这种数据流设计不能保证数据本身的时序状态,容易造成数据存储时,交互数据时序被动打乱。另外,录取文件中虽然存储了与火控系统交互的所有通信节点的数据内容,但数据形式不够直观,查阅十分不便,而且对分析操作人员有很强的依赖性,特别是对于变长度报文的查阅,难度更大。因此,火控系统数据记录模块亟须在录取任务和数据读取层面优化。

2 火控系统录取功能的设计改进

火控系统软件数据记录任务产生的文件主要用于存储与火控系统交互的数据,用于试验后的数据分析。嵌入式操作系统VxWorks平台下,图形的绘制和大容量的文件读写十分消耗系统资源。为不影响火控系统软件的正常性能,增强火控系统录取功能的性能,我们从以下几个方面改进火控系统录取功能:

1) 更改VxWorks平台下数据存储报文形式,建立起双平台的 “纽带”,实现录取功能的跨平台操作;

2) 对于实时性要求不高的数据处理部分转移至Windows平台处理,通过Windows平台增强对录取文件的可操作性;

3) Windows平台下,创建录取辅助解析软件,设置录取数据转换功能、录取回放功能、数据评估等功能。对于数据评估部分,我们只展示其功能部分,不详细介绍。

我们通过增加录取辅助解析软件,将VxWorks平台下记录文件转至Windows平台下解析,具体示意图如图3所示。此方法一方面方便数据解析,增强了录取功能的实用效果,另一方面尽可能地保证火控系统正常作战控制流程性能的稳定。

为了增强录取辅助解析软件对录取文件的提取的便捷性,在VxWorks操作系统中,录取任务记录的文件数据增加时间信息、报文标识符以及报文长度等报文头,如图4所示。通过借助VxWorks提供的消息队列机制,实现任务间的通信。消息队列允许以FIFO方式或基于优先级方式排队消息,消息数目可变,消息长度可变[1,5],其原理图如图5所示。

通过使用消息队列机制和互斥信号量,改进火控系统软件架构设计,图6对应更改后的录取任务的数据流图。经过任务间通信层面的改进,录取形成的二进制文件中各个节点的报文数据时序上更加合理。其中,各个节点报文到达火控系统时,相应数据接收任务标记数据获取时间和来源标识,并通过消息队列转发至数据记录任务,时间和标识信息成为录取数据辅助解析软件实现的关键。网络接收任务、CAN1/2/3接收任务、串口1/2接收任务、报文发送任务之间具体流程图如图7所示。

以下为VxWorks平台下火控系统软件部分实例。火控系统软件使用msgQCreate()创建录取专用消息队列,并使用RECORD-HEAD结构体通过FCS-DataSendRecordMsg()函数通过消息队列发送至录取任务,FCS-DataRecordTask()实现数据写内存与写电子盘操作。

MSG-Q-ID g-msgQID-DataRecord=msgQCreate(H-MaxMsgs-DataRecord,

H-MsgQLen-DataRecord, MSG-Q-FIFO);∥数据录取消息队列初始化

int FCS-DataSendRecordMsg(u-char* dataBuf, RECORD-HEAD *record-head)∥数据录取发送函数

int FCS-DataRecordTask()∥完成数据写内存与写电子盘的操作

其中,

typedef struct RECORD-HEAD

{

char msghead[4];∥报文头

enum enum-MSGTYPE enum-msgtype;∥报文类型

MSG-RECV-TIME strRevcTime;∥报文接收时间

UINT msgfrom;∥报文节点来源

WORD length;∥报文数据长度

};

Windows平台下,主要是将录取文件转化为直观的数据或图示,实现对录取数据的回放功能,完成数据评估、设备考核。录取数据辅助解析软件流程图如图8所示。

3 火控系统录取功能测试

在嵌入式VxWorks操作系统下,通过对火控系统软件进行优化后,实现了Windows平台数据提取的可行性。借助录取辅助软件,以数据、图例或评估的方式,充分发挥火控系统录取文件的功能,提高了数据分析效率。录取数据辅助软件的显示界面如图9所示,此处我们仅展示其部分功能。

按下数据解析、数据回放、数据评估按钮,选择需要解析的录取文件,如图10所示。

1) 进入数据解析界面,完成录取文件选择后点击开始按钮,中间状态如图11所示,解析完成后得到如图12所示文件。

本文以火控到发控的数据为例,借助Excel,可以直观的查看到火控系统到发控设备之间的数据内容,如图13所示。图13中展示了火控到发控下达发射命令的次数以及数据发送的时刻,非常方便快捷地查询所需数据。

2) 进入数据回放界面,选择相应录取文件回放,通过加速、减速按钮完成对录取文件回放速度的控制。据图14、15所示,其中,隐去部分回放选项。

3) 进入数据评估界面,如图16所示选择相应评估数据。点击目标PPI按键,显示如图17所示界面。点击控制曲线按键,显示如图18所示界面。点击设备评估按键,显示如图19、20所示界面。

4 结束语

本文以实际开发使用作为切入点,采用针对问题的设计,极大提高了火控系统软件录取功能的合理性。

将VxWorks操作系统下的录取数据移到Windows下解析,既确保了火控系统软件的实时性和可靠性,又方便了录取数据获取,进而增强火控系统录取模块的功能。经过在某型导弹武器系统中的实践应用,表明改进后的火控系统录取功能实用、有效,大大加快了火控系统调试进度,取得了良好的效果。在其他嵌入式行业领域,本文提及的软件设计方同样具有一定的参考意义和使用价值。

猜你喜欢

火控系统队列报文
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
队列队形体育教案
队列里的小秘密
基于多队列切换的SDN拥塞控制*
浅析反驳类报文要点
光电探测技术在火控系统中的应用及发展
略谈增强火控专业教学紧贴实战化的几点思考
系统工程在我国指控、火控系统中的应用
刍议火控系统故障预测与健康管理技术