APP下载

基于XML的列控设备通信接口描述模型的研究

2019-08-29

铁路通信信号工程技术 2019年7期
关键词:列控应用层消息

张 玙

(北京全路通信信号研究设计院集团有限公司,北京 100070)

1 概述

目前,列控系统各个子系统通信接口的描述一般采用接口协议的方式进行定义,由于列控设备接口繁多,而且信息冗杂,接口协议的定义也十分复杂。而基于列控设备仿真模型的开发,大多数基于设备通信接口的仿真,不同设备间的通信接口协议不同,开发仿真模型需要配置不同的数据,进行复杂的协议解析,工作量大,而且容易造成错误。因此,如何描述一种通用设备通信间的接口,使其能够覆盖列控设备之间的通信接口,支持不同设备之间各种复杂的协议定义,可复用性高,便于后续仿真模型的通信接口管理,提高软件的研发效率,有着至关重要的意义。可扩展标记语言(eXtensible Markup Language,XML),是一种用于标记电子文件使其具有结构性的标记语言。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。使用XML 进行接口描述,不仅能够对具体的接口数据进行充分定义,且具有易读性,可扩展性和兼容性。

本文以一个设备间的接口定义为基础进行分析,对列控设备间的通信接口提出一个通用的描述模型,并采用XML 语言对该模型进行描述,以TSRS 与CTC 之间的通信接口为例,具体描述通信接口。

2 列控设备通信接口介绍

列控设备间的安全通信体系结构采用分层模型结构,分层包括:应用层、安全功能层和通信功能层,如图1 所示。应用层,是将设备间每个周期需要交互的应用信息组成通用的消息包后进行传输;安全功能层,是为了减少传输过程中可能出现的风险,如重复、删除、延迟等,在通信层与应用层之间插入的安全功能模块; 通信层,负责底层基本的通信功能。安全功能层的协议根据设备间的需求,基本采用《RSSP-I 铁路信号安全通信协议》[1]和《RSSP-II 铁路信号安全通信协议》[2],只有应用层协议根据不同设备间需要传输的数据不同,定义不同的接口协议。因此本文主要研究的接口模型只包含应用层的接口数据。

2.1 通信应用接口分析

列控设备间每个周期需要交互的应用信息通过组成通用消息包进行传输,通用消息包中包含不同的应用信息包,其结构如图2 所示。

图1 列控设备间通信模型Fig.1 Communication model between train control devices

图2 通用消息包结构图Fig.2 General message package structure diagram

两个设备间的应用层接口协议中包含通信机制及应用层通用消息包定义。通用应用层信息包由帧头和应用数据包组成。帧头和应用数据包分别定义字段、长度、以及取值范围说明。因此可以将整个应用层接口协议抽象成一个大的结构体。

2.2 应用接口抽象结构

一个通用的应用消息结构包含帧头和应用消息包列表,帧头和应用消息列表包作为通用应用消息结构的属性,同时又是单独的结构体;应用消息包列表包含若干个具体的应用消息,应用消息包作为应用消息列表结构的属性,也是一个个独立的结构体;帧头和应用消息包中具体字段为各自结构体的属性,字段取值范围为属性的取值定义,结构如图3 所示。

3 通信应用接口的XML描述

由于XML 与软件、硬件和应用程序无关,因此通用应用消息的描述就可以通过XML 作为中介来实现,并且具备一定的易读性,兼容性及可扩展性。根据上文抽象出来的通用应用消息结构,可定义对应XML 的元素。

图3 抽象模型结构图Fig.3 Abstract model structure diagram

3.1 元素StructDefinations

StructDefinations 描述一个通用应用消息包最基本的信息,消息的发送与接收的设备类型,因此元素StructDefinations 定义了3 个属性,如表1 所示。

表1 应用消息包属性定义Tab.1 Application message package attribute definitions

3.2 元素StructDef

StructDef 描述一个结构体,结构体可以是通用应用消息的结构,可以是应用消息集合包,也可以是具体应用消息包的结构,还可以是应用消息包中包含的多次循环字段集合,通过属性来描述具体的结构体名称,类型。StructDef 为StructDefinations 的子元素,包含的属性如表2 所示。

3.3 元素FieldDef

FieldDef 描述一个域,域可以是通用应用消息结构包含的包头或者应用消息包列表,可以是应用消息包列表结构体包含的具体应用消息包,也可以是应用消息包结构体包含的具体字段。包含的属性如表3 所示。

3.4 元素ValueDef

定义一个取值,取值是信息包包含字段的具体值。取值可有一个或多个。取值是域作为字段的具体可选子元素,如表4 所示。

4 应用

根据上述XML 的描述,将该模型应用于C3ATO 系统中TSRS 与CTC 设备的接口描述。接口协议中,通用消息包括帧头信息和应用消息包,以TSRS 应向CTC 发送为例,应用消息包包括运行计划反馈信息、列车运行状态信息、列车数量预警信息和边界运行计划请求信息。

根据接口协议抽象出XML 模型,如图4 所示。

根据上述XML 模型,最终XML 描述片段如下显示:

表2 结构体属性定义Tab.2 Struct attribute definitions

表3 域属性定义Tab.3 Domain attributes definition

表4 取值属性定义Tab.3 Value attributes definition

图4 XML模型结构图Fig.4 XML model structure diagram

根据上述XML 描述,可建立1 套通用的协议解析算法,应用于解析2 个列控设备之间的数据交互,软件根据上模描述的XML 模型,统一接口建模算法,可应用于多种设备的仿真测试环境中,大大提高设备仿真的研发效率。

该模型目前已经应用于:京沈C3ATO 系统测试环境,模拟CTC 设备与TSRS 的数据交互;RBC 仿真测试环境,模拟RBC 外部接口设备ATP,CBI,TSRS 与被测RBC 的数据交互。

5 结束语

本文针对目前列控设备的通信接口领域中,接口协议内容不同,但结构相对统一的问题,提出一种基于XML 的列控设备通信接口描述的模型,该模型已用于多个列控设备的接口数据仿真,面向不同设备间的接口,只需要按照接口协议定义XML结构,利用统一的解析算法进行建模,在仿真系统应用中是行之有效的。该模型极大的降低了开发工作量和开发过程中的错误率。但是该模型还需要进行广泛与深入的研究,通过对相关元素的和属性的扩充,还可以适用于更多的设备通信接口,使之可以更加规范化,标准化。

猜你喜欢

列控应用层消息
列控联锁数据管理分析平台的研究与探索
高速铁路列控系统工程数据编制常见问题浅析
列控中心驱采不一致分析及改进方案
便携式列控中心测试设备设计与实现
一张图看5G消息
晚步见道旁花开
传输层和应用层的隧道技术
基于分级保护的OA系统应用层访问控制研究
物联网技术在信息机房制冷系统中的应用