基于层次模型的雷达BIT 显示软件设计

2023-05-17 03:16陈志平董金良
电子技术与软件工程 2023年5期
关键词:参数值结点报文

陈志平 董金良

(南京国睿防务系统有限公司 江苏省南京市 210012)

机内测试(Build-in test, BIT)是系统或设备自身为故障检测、隔离或诊断提供的自动测试能力。近年来,随着国内外雷达技术的不断提高,BIT 已然成为雷达系统不可或缺的功能项。负责监测BIT 信息并进行可视化显示的软件一般称为BIT 显示软件或者监控软件。

作为雷达系统的重要组成部分,BIT 显示软件主要完成设备状态监控和故障定位功能:既需要全局监视雷达系统各设备的运行状态,又需要具备快速定位故障模块的能力。

国内的雷达BIT 显示技术一般存在以下问题:

(1)设备层级管理混乱,未按照有序层级梳理各设备模块;

(2)通用性差,不同雷达的BIT 显示方案五花八门,缺乏统一的标准;

(3)可移植性差,不同操作系统之间的移植工作常使开发人员不堪重负、疲于应付。

研制一套通用、易用的雷达BIT 显示软件,不仅可以满足用户日益攀升的BIT 功能需求,而且能够作为其他型号产品进行二次开发的基准,有效减轻移植和复用的工作量。

1 模型管理

1.1 层次模型

层次模型最早用于商用数据库管理系统,使用层次模型可以直观、自然地描述数据元素之间一对多的关系。层次模型在数据库中定义满足:

(1)有且只有一个结点没有双亲结点,这个结点称为根结点;

(2)根以外的其他结点有且只有一个双亲结点。在层次模型中,同一双亲的子女结点称为兄弟结点,没有子女结点的结点称为叶子结点或者终端结点。

在数据结构中,通常使用有向树来表示层次模型的逻辑关系。本文采用自顶向下的层次模型表示雷达系统各设备之间的层级关系,称为BIT 模型树。模型树中的每一个结点对应雷达系统中的某个设备或者模块。某型号雷达的BIT 模型树如图1 所示。

图1: 模型树示例

BIT 模型树的根结点对应雷达系统,如图1 所示,示例模型树的根结点为YLC 雷达系统;根结点的子女结点称为一级结点,如YLC 雷达系统包括阵面、伺服、设备舱和诱饵设备;一级结点的子女结点称为二级结点,如伺服又包括平台模块和转台模块;依次类推,直到叶子结点为止。

1.2 结点编号

结点的唯一性通过结点编号表示,BIT 模型树中的每一个模块结点都有一个唯一标识符,称为结点编号。结点编号是结点小编号的有序组合。

兄弟结点间通过小编号相互区分,同一双亲结点下的各子女结点的小编号各不相同。结合设备规模、命名规范,本文使用两位数字来表示小编号,从“01”开始,至“99”结束。

结点编号是结点所有祖先结点小编号与自身小编号的有序排列。如图1 所示,YLC 雷达系统小编号为“01”,伺服设备小编号为“02”,平台模块小编号为“01”,根据编号规则,平台模块的编号就是上述三个小编号的顺序排列,即“010201”。需要注意的是,每一个结点都需要严格遵守两位数字的编号规则,以保证所有的结点都不会出现编号冲突情形。例如在不正确的编号方式下,“01-1-201”模块与“01-12-01”模块具有相同的结点编号“011201”。

1.3 显示策略

考虑到不同模块结点的关键程度、自检周期等方面存在一定的差异性,BIT 模型树中的任一结点都可以调整自身的显示策略。

(1)故障传递:在直通模式下,结点的故障状态会传递给它的双亲结点,即只要有一个子模块显示异常,则该模块也会显示异常;而在普通模式下,结点是否异常与其子模块的健康状态无关。考虑到到故障定位的便捷性及故障显示的统一性,在无特殊需求的情形下,建议所有的结点均设置为直通模式。

(2)启动时间:从软件启动开始,结点不显示故障的时间段。部分设备从开机到正常运行需要一定的时间,正常运行前的自检信息可能提示异常。因此有必要为此类结点设置一段启动时间,避免出现虚警。

(3)重置时间:即状态重置时间,在未到新的自检信息的情况下结点状态的最大保留时间。超出重置时间后,结点所有的自检信息将被清空。重置时间可参照自检周期相应设置。

(4)故障记录:该结点出现故障时是否记录故障至文件。对于一些关键模块,可以设置故障记录,便于事后查看、分析。

1.4 结点属性

结点属性包括健康状态、参数值和自定义状态。

1.4.1 健康状态

本文采用4 种不同的颜色来反映设备的健康状态,包括绿色、红色、橙色和灰色。通过不同的颜色,可以直观地监测雷达系统以及发现故障。颜色与设备健康状态的对应关系如下。

(1)绿色:状态正常或模块成功运行;

(2)红色:状态异常、模块出现故障;

(3)橙色:状态告警或参数值异常,暂不影响雷达使用;

(4)灰色:状态未知,未收到有效自检数据,设备离线或模块未启动。

健康状态属性的默认值依次为0,1,2,3。上述4 种状态中,告警状态不参与故障传递,仅通过结点自身的参数值进行判断。其余3 种状态按照故障、正常、未知的优先级顺序进行传递,并更新双亲结点的健康状态。根据故障传递特性,任一叶子结点的故障均会触发双亲结点和所有祖先结点显示红色,从一级结点开始追溯,可迅速定位故障结点。

1.4.2 参数值

参数值是设备和模块可以量化显示的属性信息,包括温度、湿度、转速、工作时间、版本号等信息。参数值显示又分为单一参数显示和联级参数显示两类。

(1)单一参数显示:显示值来源于独立、完整的一个参数值,大部分参数值都是单一参数类型。结点的单一参数使用value 字段进行赋值,同时需要设置值域。

(2)联级参数显示:显示值来源于多个参数值,如版本信息属性需要由三级版本号联级显示完成,如版本V1.0.2 同时包含一级版本号1、二级版本号0 和三级版本号2,分别使用value/value2/value3 字段进行赋值。

1.4.3 自定义状态

除了健康状态和参数值,部分模块结点还包含自定义状态属性。例如空调模式包括制冷模式、制热模式、通风模式和除湿模式;伺服状态包括等待、搜索和定位。本文使用state 字段存储结点的自定义状态,通过解析规则实现了状态和数值的映射。自定义状态解析示例如表1 所示。

表1: 自定义状态解析示例

2 协议管理

BIT 显示软件需要同时监测雷达多个分系统的自检信息报文。通过协议管理功能,软件能够识别不同报文协议,分门别类地完成协议解析工作。

2.1 协议识别

为了使软件具备区分不同协议的能力,每一条报文协议需要有一条独一无二的识别规则。不同协议的识别规则既要各不相同,又须互不包容。协议的识别规则由一个或多个起始字节、字段长度和字段值组成,通常由报文头、报文尾和报文长度构成。对于每一条监测到的自检信息,会遍历所有协议进行判别。识别成功的报文数据会按照相应协议的解析规则进行解析;而遍历完所有协议后仍未能识别的报文将被视为未知报文,不予解析。

2.2 协议解析

本文的协议解析遵循设定的语法规则,类似于一种程序伪代码。解析过程包括顺序解析、选择解析和循环解析3 种类型。协议解析默认采用顺序解析方式,根据预设的字段名、字段类型、起始字节、起始比特、比特长度、属性名和表达式进行解析。

字段名为结点编号或其他唯一标识符,BIT 模型树中的每一个叶子结点都需要在协议解析中添加解析规则,以实现健康状态、参数值和自定义状态的赋值。

每一条解析语句都必须包括一个字段类型。本文支持的字段类型共有12 种,包括8 种基本数据类型、2 种选择数据类型和2 种循环数据类型。选择解析从if 字段所在语句开始,至endif 字段所在语句结束;循环解析在满足循环条件的情况下,从while 字段所在语句开始,至endwhile 字段所在语句结束,循环往复执行解析。字段类型与字段功能的对照表如表2 所示。

表2: 字段类型与功能对照表

起始字节、起始比特和比特长度决定了报文的解析位置,需要和字段类型一致。

属性名包括默认属性、value 值和state 值构成。其中默认属性对应结点的健康状态,value 值对应结点的参数值,而state 值则对应结点的自定义状态。需根据BIT显示需求对结点的一个或者多个属性进行解析赋值。

结点属性的解析规则通过表达式实现。通常情况下,参数值和自定义状态的解析只需根据相应的数据类型进行赋值,而健康状态的解析则需要通过映射转换实现。上文提到,4 种健康状态的默认值分别为0,1,2,3,健康状态解析的表达式就需要根据报文协议的约定实现字段值到状态默认值的转换。

常见的映射表达式如表3 所示。

表3: 常见映射表达式

3 工作原理

3.1 BIT添加流程

本文设计的BIT 模型树具备开放性和复用性特征,支持在雷达系统内新增和修改设备。在BIT 显示软件中添加新的设备BIT 需要遵循以下步骤:

(1)确定设备层级,在模型树中添加结点;

(2)配置每一个叶子结点的属性;

(3)录入设备BIT 报文协议;

(4)设置结点属性的报文解析规则;

(5)设计显示界面。

3.2 系统框图

BIT 显示软件通过UDP 组播接收各设备的自检信息报文,各设备按照一定的自检周期向指定的地址和端口发送数据报文。BIT 显示软件与其他分系统之间的数据交互如图2 所示。

图2: 系统运行框图

3.3 软件工作流程

(1)BIT 显示软件运行时首先进行初始化操作,读取预先配置好的模型文件和协议文件。

(2)运行过程中持续监听指定端口的UDP 网络数据包,并进行报文识别,判定报文类型。

(3)通过指定类型的解析规则解析报文数据,并更新模型数据结构中的结点属性值。

(4)定时驱动,读取模型中各结点的属性值,实时刷新显示界面。

软件工作流程如图3 所示。

图3: 工作流程图

4 结论

本文提出一个基于层次模型的雷达BIT 显示软件,通过模型管理和协议解析,实现了雷达系统内各设备自检信息的监测显示。软件具备良好的通用性,已在多个雷达系统中成功应用,重新构造BIT 模型亦可应用于其他设备系统。

猜你喜欢
参数值结点报文
基于J1939 协议多包报文的时序研究及应用
例谈不等式解法常见的逆用
不等式(组)参数取值范围典例解析
CTCS-2级报文数据管理需求分析和实现
2020 Roadmap on gas-involved photo- and electro- catalysis
浅析反驳类报文要点
Ladyzhenskaya流体力学方程组的确定模与确定结点个数估计
ATS与列车通信报文分析
基于Raspberry PI为结点的天气云测量网络实现
基于DHT全分布式P2P-SIP网络电话稳定性研究与设计