APP下载

列控维护数据解析工具的研究与实现

2021-12-31

铁路通信信号工程技术 2021年12期
关键词:数据包解析驱动

张 金

(1.北京全路通信信号研究设计院集团有限公司,北京 100070;2.北京市高速铁路运行控制系统工程技术研究中心,北京 100070)

1 概述

为满足控车要求,列控中心与车站计算机联锁、临时限速服务器、ZPW-2000A轨道电路、轨旁电子单元(LEU)、调度集中系统站机、集中监测系统等多个设备通信,确保系统间安全通信和数据交换通信并获取信息。其中,集中监测系统是保证行车安全、监测信号设备状态、发现信号设备隐患、辅助故障处理、指导现场维修等的重要设备。

现场工作人员依据《列控中心与监测维护机接口数据格式细化V0.0.1》与《关于印发《高铁列控中心接口暂行技术规范》的通知》(铁总运[2015]75号)协议,将列控中心每400 ms发送给监测维护机8 192 Byte数据,即列控维护数据(简称8K区数据)进行人工解析, 从而分析信号设备故障原因。

随着轨道交通的不断发展,企业的产品和业务不断拓展,人工对列控维护数据进行解析并排查故障已不能满足现场需求。基于上述因素,为缓解人工工作量和生产压力等问题,亟需研制一套能够帮助售后人员快速定位设备问题区,解析设备故障的有效工具。列控维护数据解析工具是对现场采集的列控维护数据进行解析,解析数据与协议内容进行自动匹配并显示在人机界面供现场人员快速定位设备问题区,故数据解析过程如图 1所示。

图1 数据解析过程Fig.1 Process of data parsing

2 工具总体设计

2.1 列控维护数据解析工具研发内容

列控维护数据解析工具为使现场人员对采集数据进行快速解析,提供数据导入与解析两大功能。

1) 导入功能

分别提供单系和双系的8 K数据文件导入功能和第一分册/第七分册/TCC接口表等文件的导入读取功能。

2) 解析功能需求

单系数据解析功能:加载单系数据文件,需要匹配Excel表时加载对应的Excel表。加载完毕后界面显示对应的协议数据包名称,用户勾选数据包,工具解析该数据包数据,同时显示在数据解析界面。提供标记变化数据包功能,供用户快速定位发生变化的数据位置;

双系数据解析功能:加载双系数据文件,需要匹配Excel表时加载对应的Excel表。加载完毕后对比两系数据,找出不同步时间点,不一致时间点,在界面显示,供用户定位两系不同步时间点。

列控维护数据解析工具的功能流程如图 2所示。

图2 列控维护数据解析工具功能流程示意Fig.2 Flowchart of train control maintenance parsing tool

2.2 系统结构设计

为了具有较高的可靠性、可用性以及可维护性,本工具在软件结构设计中考虑后续功能的扩展性,采用将结构化与面向对象相结合的方法进行设计。

考虑到列控中心与监测维护机接口数据格式在后续有扩展变化的可能性,故将协议按照一定规则编写成配置文件,可解析多种不同协议,不修改或者尽量少修改代码,仅修改协议配置文件,即可适配新的协议解析需求。这种结构设计既保证了程序设计的高交互性与高重用性,也使工具的适应性得到很大提升。

本工具的系统架构如图3所示,主要采用Python做为编程语言,可以轻松驾驭Windows,Linux,Mac等主流操作系统,可移植性极强。

图3 工具系统架构Fig.3 Software architecture diagram

3 应用与实现

列控维护数据解析工具可实现对单、双系数据解析,并自动匹配协议内容,对变化数据包进行自动标识。本文以北辛店线路所的8 K区数据作为输入数据为例,分别介绍协议配置以及单、双系数据解析应用。

3.1 协议配置

8K协议主要参考《列控中心与监测维护机接口数据格式细化》和《关于印发《高铁列控中心接口暂行技术规范》的通知》(铁总运[2015]75号),协议大致分为基本信息、逻辑检查信息、通道状态、与联锁接口信息、与TSRS接口信息、与TCC接口信息、与CTC接口信息这7类。为将这7大类协议配置至配置文件中,并方便后续的扩展变化,主要记录了协议的字节偏移量、循环名称、字节个数、子节点个数、需要配置的Excel的名称以及对应列、替换的规则、所占位长度、解析顺序、状态信息和状态信息码等。

以基本信息下的PIO驱动和采集信息为例,PIO驱动信息的首地址为3 600,一个机笼包含5块板,一块板共32个驱采点,采集在驱动之后,因而采集的首地址为驱动首地址加上该站所有PIO板,即采集首地址=3 600+20×N。其中,N为该站配置PIO机笼个数,每个机笼可插入5对PIO板,1 bit为驱动/采集吸起,0 bit为驱动/采集落下。PIO解析结果对应的点位名称为《TCC接口文件-第七分册-集中监测接口表-列控信息分册-XX站》中的“PIO驱动配置表”,具体的地址配置格式如表 1所示。

表 1 PIO驱动和采集协议信息Tab.1 The protocol of PIO’s drive acquisition

因此,根据协议将PIO驱动/采集的配置信息进行编制。以“offset”代表该协议的首地址,“bytecount”和“namecount”分别表示该协议所占字节数和子节点个数,N表示该站所配置的PIO机笼个数,“matchname”表示协议对应的标题列,用“@”来动态替换笼号、板号及接点号,具体的PIO驱动配置示例如下:

协议的格式分为两大类,一类为二级协议,如基本信息→PIO驱动信息;另一类为三级协议,如与CTC接口信息→接收CTC信息→数据包描述信息。对于第二种类型的协议,直接进行下一级拓展即可。

3.2 单、双系数据解析

列控维护数据解析工具的文件上传功能集成了原有8KDAT文件解压缩工具,可以加载列控维护数据.dat文件,也可以直接加载解压缩后的.txt文件,选择需要解析的时间范围,界面默认数据包中的起止时间,也可限制数据查看的时间范围。

单系数据解析提供协议结构树、变化协议树、只显示变化项、显示全部数据、隐藏数据列等功能,如图 4所示。

图4 单系解析界面Fig.4 The graphical interface of single-file parsing

双系数据解析提供变化时间、双系不同步时间、双系数据同步选择对比、双系同步解析、自身上下数据包对比等功能,如图 5所示。

图5 双系解析界面Fig.5 The graphical interface of double-file parsing

4 结论

列控维护数据解析工具主要实现筛选变化数据包、协议以及对数据进行协议对照解析,同时匹配工程手册的第一分册、第七分册和TCC接口表进行替换,解决了人工对解析协议的难题。目前,列控维护数据解析工具已投入使用,且随着工具的功能不断完善,现场人员故障分析效率显著提高,现已成为售后人员在现场分析设备故障时不可或缺的一部分。

猜你喜欢

数据包解析驱动
数据驱动世界。你得懂它 精读
基于模糊PI控制的驱动防滑仿真系统分析
二维隐蔽时间信道构建的研究*
三角函数解析式中ω的几种求法
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
屈宏斌:未来五年,双轮驱动,砥砺前行
深入实施创新驱动发展战略
C#串口高效可靠的接收方案设计
睡梦解析仪
复合场中类抛体运动解析