基于IRIG-B码的运载火箭测发流程同步的软件设计方法*

2018-04-20 03:14于丹丹高小安王建清
飞控与探测 2018年3期
关键词:口令流程设置

于丹丹,高小安,吴 康,皮 操,王建清

(上海航天控制技术研究所·上海·201109)

0 引 言

现代科技的进步促进了运载火箭的快速发展。随着火箭运载能力的不断增强,其组成系统也随之变得越来越复杂,系统间的密切配合显得尤为重要。特别地,在运载火箭点火前的10min,测试步骤密集,测试时间紧张,各系统对时间同步的精度要求非常高。而目前,各系统间的时间同步多采用口令控制等方法实现,难以保证精度。

IRIG(Inter Range Instrumentation Group,靶场仪器组)是负责指定美国靶场定时系统的时间码标准[1]。B码是IRIG所属的TCG(Telecommunication Group,电信组织)制定的一种串行时间码[2]。B码的时帧速率为1帧/ s[3],可传递100位信息[4]。作为广泛的时间码,B码具有携带信息量大、适合远距离传输等特点[5]。

目前,针对IRIG-B码在码生成及解码方面的研究较多,IRIG-B码在靶场流程控制领域中的应用较少。本文根据运载火箭发射流程的特点,提出了一种基于B码的运载火箭测试发射流程的自动执行的测试技术。在点火前10min至点火这段时间内,通过B码控制测试发射流程自动执行,完成测试发射流程,用于保证测试及发射过程中的时间统一。

1 方案设计

目前运载火箭测试发射流程的执行方式为:关键步骤(如流程时间进度xxx分钟准备、点火等)通过指挥口令执行;关键步骤之间的流程自动执行,若执行出错则停止。由于关键步骤采用口令执行方式,操作人员只有获取指挥口令才会执行测试流程。这种执行方式因等待口令而产生了系统延时,不利于各系统时间的统一及精准发射。

考虑现有流程的执行特点,如果采用B码时间控制测试流程自动执行,则应改变现行的关键步骤执行方式。从点火前10min到点火之间的测试过程尤为关键。在这个阶段,测试流程密集,对时间进度要求较高,宜在这些关键点采用B码时间以倒计时方式执行流程控制。

B码流程控制的执行原理如图1所示。系统接收B码源码,由网络通信模块解析获取原始的B码时间,并根据系统B码源码在同一时间连续发送5次的特点采取冗余处理,以冗余后的B码时间作为系统的当前时间,并将其输入到流程控制模块。

图1 B码控制流程的执行方案Fig.1 The solution of B code control process

系统通过用户界面模块获取用户输入的点火时间,并在处理模块完成处理后剔除不合理的时间;通过用户界面模块获取用于用户设置的B码控制标识(该标识提示用户是否采用B码控制测试流程的自动执行方案),完成界面处理并将点火时间输入至流程控制模块。

流程控制模块根据当前的系统时间(冗余后的B码时间)及用户设置的点火时间计算倒计时,并根据B码控制标识控制关键步骤的执行方式:若用户采用B码控制,则根据倒计时自动执行关键步骤,否则则等待指挥口令。

2 详细设计方法

2.1 通信方案设计

在现有的网络通信方式中,有TCP及UDP 2种方式可供选择。

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在对数据进行传送前,TCP通过握手机制建立连接。只有当连接建立成功后,才会进行数据传送。

UDP(User Data Protocol,用户数据报协议)是一种简单的、面向数据报的传输层协议。UDP在发送数据前,不在客户与服务器之间建立连接,且没有超时重发机制,因而传输速度很快。

TCP与UDP传输方式的优缺点对比如表1所示。

表1 TCP协议与UDP协议的优缺点对比Tab.1 Comparison of advantages and disadvantages between TCP and UDP

考虑到点火前测试流程的高度密集,以及B码源码在1s内的前500ms时间段内、以100ms为周期发送源码的特点,采用传输速度较快的UDP协议接收B码源码,以保证B码的校时及零窗口发射要求。B码源码在1s内采用了多次重发的机制,弥补了UDP协议可靠性相对较低的不足。

2.2 冗余算法设计

考虑B码源码在1s内发送5次的特点,设计了五取三冗余方案,以获取B码时间。该方案的特点为:若收到3次相同的B码时间,则更新当前的B码时间,同时不要求必须是连续的3次时间。

根据五取三冗余方案,软件可通过循环数组的形式存储收到的B码时间。循环数组大小为5;创建B码时间字典,存储B码时间及其数量标记;每收到1次B码时间,则将其存储到循环数组,并通过五取三算法在循环数组中获取B码时间。

具体实现方式为:依次获取存储在循环数组中的B码时间;在字典中查找是否有相同的B码时间。如有,则数量标记增1,如果没有,则存储该B码时间,并设置其数量标记为1;当某B码时间的数量标记为3时,则以该时间作为当前的B码时间。

循环数组作为五取三算法的B码依据,其初值可以设定为当前的本地系统时间,或其他值。但无论初值是何值,在开始接收B码时间并执行五取三算法时,均会出现所获取的B码时间为非期望值的情形。如循环数组初始为0,在接收到第1个B码消息时,使用冗余算法计算的B码时间的年、月、日、时、分、秒均为0。

为防止出现B码时间全部为0的情况,需增加算法处理条件:即只有收到3条以上正确的B码时间消息时,才执行算法处理。软件处理的流程如图2所示。

图2 五取三冗余算法Fig.2 The redundancy algorithm to get B code time

2.3 点火时间设置

点火时间可重新设置,以应对发射场的突发情况。用户可以随时设置或更改点火时间,设置点火时间的时机可以在发射前,也可以在发射流程中。

由于点火时间对火箭发射影响重大,因此在点火时间的更改过程中需加入校对及确认环节,以防止点火时间设置错误,或误触发点火时间的设置流程。

2.4 流程同步设计

在目前的运载火箭测试发射流程中,在点火前10min至点火之间的关键测试步骤包括:10min准备、5min准备、3min准备、2min准备、1min准备及点火等。流程控制模块通过B码控制上述关键测试步骤自动执行。在B码的控制下,当点火时间与冗余后的B码时间之差小于或等于关键步骤的时间点(点火时间点为0)时,该步骤自动执行,否则则进行等待。

B码控制流程的执行原理为:当流程执行到口令处时,界面弹出提示对话框,同时启动计时器。当到达口令对应的时间信息时,关闭提示对话框,流程继续。其中一次时钟间隔的执行过程如图3所示。

图3 B码控制流程的执行过程Fig.3 The execution of the process by B code control

为提高系统的可靠性,防止在测试发射过程中出现异常、影响测试发射任务,系统设计了可靠性方案,即可随时启动和停止B码控制,使得用户在测试流程执行过程中仍能改变B码控制标识。关键步骤的执行过程可由人工随时介入,即在B码控制的过程中,操作人员仍能在倒计时时刻未到来的情况下控制关键测试步骤是否执行。上述可靠性方案,提高了系统的可靠性,可防止因B码设备失效、传送B码时间的网络失效、获取B码时间有误及其他失效模式等导致系统失效。

3 结 论

本文以IRIG-B码时间为基准,通过对通信案、冗余算法、点火时间设置及流程同步方法进行设计,控制运载火箭的测试发射在点火前10min至点火之间的流程按照B码时间自动执行,保证了运载火箭各系统的时间同步、流程同步,进而满足了运载火箭的零窗口发射要求。同时,通过采取防差错机制,使得人工可以随时介入,提高了运载火箭测试发射的可靠性。

本方法已在某型号运载火箭大型试验及靶场测试中获得了成功应用。

猜你喜欢
口令流程设置
吃水果有套“清洗流程”
中队岗位该如何设置
船舶防火结构及设置的缺陷与整改
高矮胖瘦
与元英&宫胁咲良零距离 from IZ*ONE
口 令
栏目设置一览表
违反流程 致命误判
好玩的“反口令”游戏
四川省高考志愿填报流程简图