泰国联锁数据自动生成工具的研究与实现

2024-05-01 14:57
铁路通信信号工程技术 2024年4期
关键词:图元站场道岔

柳 新

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

1 概述

配置数据作为铁路信号安全控制系统的实现基础,在整个技术流程中起到关键的作用。而现有的DS60 联锁配置数据自动生成方法均为面向国内的高铁联锁系统,无法兼容东南亚泰国地区的输入形式以及显示规范。

而随着高铁技术的不断发展,"一带一路"倡议的大方向下,海外联锁设备功能不断扩展,数据配置工作也日趋复杂、繁重,人工配置数据已无法满足工期需求。为缓解人工配置工作量大、效率低、配置过程依赖人员技术水平等问题,实现一种可应用于泰国计算机联锁系统的配置数据自动生成方法,能够兼容当地特有的复杂输入形式并满足显示规范,自动生成泰国计算机联锁所需的配置数据。泰国联锁软件编制过程如图1 所示。

图1 泰国联锁软件编制过程Fig.1 Programming process of Thai interlocking software

2 工具总体设计

2.1 泰国联锁数据自动生成工具研发内容

工具以设计文件为输入,采用可视化图形编程思路,依照站场设计平面图建立起以道岔、信号机、区段等基本图形对象构成的站场图形。用户在软件界面内实现绘制、储存图形单元功能;同时在后端建立拓扑模型,将图形进行连接,加入联锁表的导入、解析模块,将表内数据按数据结构需求分类进行解析,结合拓扑关系自动生成计算机联锁系统所需的联锁数据。

因此,分析出本工具软件的基本功能如下。

1)图形处理模块及人机交互界面。实现站内设备图元的绘制、拖动、翻转等功能。并建立设备对象间的拓扑关系模型。

2)导入及解析功能。将泰国联锁表、道岔控制表、闭塞表、道口表、采驱表等导入,并对于每类数据需要的信息进行分类提取、存储。

3)泰国联锁数据生成。根据已录入的表信息、站场图形对象及设备间的链表关系,以及各设备的属性、初始化、配置文件等输出联锁数据.c 以及.dat 文件。

4)控显数据的生成。实现控显软件需要的数据文件,主要包括站场设备名称、坐标、各类配置信息等。

工具总体流程如图2 所示。

图2 泰国联锁数据自动生成工具功能流程示意Fig.2 Functional flow of Thai interlocking data automatic generation tool

2.2 系统结构设计

面向泰国DS60 联锁的配置数据生成工具由若干个功能模块组成,每个模块负责实现自己的逻辑功能。软件系统结构按功能分为前端和后端两大部分,系统前端包括主框架、基本站场视图、设备创建和绘制(标准图元库界面);系统后端包括站场设备管理、图形搜索、数据建模和数据输出模块,功能模块结构如图3 所示。设计采用面向对象的技术,从图元的绘制到数据的生成采用类进行对象的封装,各模块间通过接口方法进行访问。软件架构如图3所示。

图3 软件架构Fig.3 Software architecture

各模块功能如下。

1) 主框架模块:是联锁数据配置软件的主框架模块,实现了人机交互界面功能。

2) 基本站场视图:实现了基本站场的绘制和显示,实现了站场的拖动、缩放等功能。

3) 标准图元库界面:实现了各类设备的图形化显示,完全遵从泰国地区的显示规范。

4) 站场设备管理:完成图纸中各图元对象的存储、管理,实现图元的增、删、改、查等操作。

5) 图形搜索模块:根据坐标位置信息搜索图元,建立各设备图元的链接关系。

6) 数据建模模块:按联锁业务搜索建立联锁表等数据结构模型。

7) 数据配置输出:根据数据模型完成联锁数据的输出功能。

下面重点介绍图形及用户交互界面设计、输入文件导入处理、数据输出模块设计的设计思路。

2.2.1 图形及用户交互界面设计

主框架界面基于windows 系统开发,包含框架主窗口、视图、菜单工具栏、设备的属性对话框等。主框架负责处理用户的各种输入消息,并将各种请求分派给自己或者其他模块。系统主框架是多文档结构,具备同时打开显示多个站场图形文件功能。

站场图可以显示通过标准图库创建的11 类设备对象,包括信号机、道岔、区段、区间口、道口、限界、按钮、站台、信号楼、信息窗、文本、健康灯和系统时间等,并实现了站场的缩放、拖拽、设备的复制创建等,软件每一类设备的图元绘制风格都完全契合泰国地区的显示规范要求,并精确到像素级,保证生成坐标数据与控显显示规范相契合。基本图元如图4 所示。

图4 基本图元绘制要求Fig.4 Basic primitive drawing requirements

2.2.2 数据生成模块设计

1)输入文件导入处理、数据输出模块设计

泰国联锁数据生成的许多信息都在泰版联锁表中,因此工具需要将其导入并解析、处理,得到关键信息。工具导入各类表单、数据建模、数据输出的流程如图5 所示。其中CMainView 是软件的主体显示框架类;CTLLsIntput 是软件联锁输入的大类;CInputTOOL 是软件实现输入需要的方法类;CTLLsOutput 是实现输出的大类;CDrawmanager 是软件实现绘图、管理图中设备对象的大类。联锁表等文件导入后以字符串形式存储在内存中。而由于表中的信息繁杂,且每列格式均不同,需要对每一列分别处理以提取关键信息,并存储进相应的结构体对象中。在用户交互界面收到输出数据命令后,再从结构体对象组中输出为数据文件的格式。

图5 导入表单、数据建模、数据输出流程Fig.5 Form importing, data modeling and data output process

2)泰国联锁表特点分析及具体数据解析方法

泰版联锁表(部分)如图6 所示,其中每行对应一条进路,每列则对应不同的信息,且其格式往往繁琐、奇特,需要根据每一列的不同情况设计不同的解析逻辑。图6 中包含了接近延长(K 列)、区间侧防(U 列)等信息,以K 列表示的接近延长信息为例,其有带多层嵌套括号表达式的接近延长信息,需要根据由外至内、由右向左的规则依次配置设备代码及状态,如有并列括号的情况还需由并列项开始拆分为两条接近延长信息;其他进路还具有带“WHEN CLEARED WITH”字样的描述字符串等,且仅此一列信息就有3 类情况需要分别进行特殊处理。再以U 列的区间侧防数据为例,其中包含多层括号嵌套的复杂字符串及等号分割的情况,也需特殊处理。

图6 泰国联锁表Fig.6 Thai interlocking table

由于篇幅原因,在此只以K 列数据(接近延长)为例详细说明数据解析逻辑设计。其所需的信息为进路中接近延长区段以及包含的道岔、信号机设备代码及状态。对应区段状态分为空闲、占用;道岔分为定位、反位;信号机状态分为YES 及NO。具体状态在图6 中有所表示,道岔名后带有“N”即为定位,“R”为反位;信号机名称后带有“N”即为NO,否则为YES;区段均为空闲。其在表中一共可分为3 大类情况进行处理,具体解析逻辑设计如下。

a.形如:1-1BT 1-1AT 151-2T 139-1T

此情况最为简单,按空格划分设备名后在图中遍历寻找设备代码,并将设备代码、设备对应状态依次填入数据结构中。

b.带有“WHEN CLEARED WITH”字样

* 形如WHEN CLEARED WITH 1-1AT OR 1-1BT OCC 60S。

此情况需要去除“WITH”前的所有字符,去除“OR”后方的所有字符,余下部分字符串即为设备名,将其在图中搜索,在数据结构中填写设备代码及其对应的设备状态即可。

*形如WHEN CLEARED WITH 61T OCC 60S%B[2-4T 2-72T102BT(61T OR 61T OCC 60S) AFTER 2-4(8M)] 。

此情况较前种情况多了“%B”以及方括号“[] ”。需将去除“WITH”前的所有字符,将括号中信息去除,并将自“OCC”以后的字符串去除,余下部分即为设备名,将其在图中搜索,在数据结构中填写设备代码及其对应的设备状态即可。

c.括号嵌套字符串

*无并列括号的情况,形如:62T ((102B(( 2-2T OR 2-4N) 2-4T 2-72T OR 302N) OR R102) OR R114)。

此情况的进路只有一条接近延长信息,需按照括号由外向内,先右后左的顺序进行填写。括号外的62T 不配置。

*有并列括号的情况,如62T(101AT((1-1BT OR 1-3N)1-3T 1-71T OR 301N)OR R101)(101BT((3-1BT OR 3-3N)3-3T 3-71T OR 303N)OR N103) OR R113 OR R101)。

此情况需将((1-1BT OR 1-3N)1-3T 1-71T OR 301N)OR R101) 及(101BT((3-1BT OR 3-3N)3-3T 3-71T OR 303N)OR N103)拆分成两条并列关系的两条接近数据,再分别加上共享的外层(101AT OR R101)。即:101 道岔、113 道岔、101AT、101 道岔、301 信号、1-71T、1-3T、1-3 信号、1-1BT 以及101 道岔、113 道岔、101AT、103 道岔、101BT,303 信号、3-3T、3-71T、3-3 信号和3-1BT。

数据输出部分则按照接近延长数据结构的定义依次输出。将解析出的设备名在图形库中遍历搜索器设备代码、所属进路代码、设备状态等信息,并输出为标准数据格式。

3 应用与实现

按设计思路进行工具开发,泰国联锁数据自动生成工具可实现泰国站场图的构建、联锁表导入以及联锁、控显数据的自动生成。本文以泰国BBU 站的联锁数据为例,介绍工具在数据生成中的应用。

3.1 站场模型构建

以泰国BBU 站为例,以站场设计蓝图为输入,在工具中绘制设备、构建站场模型,并显示设备拓扑连接关系,如图7 所示。

图7 BBU站拓扑关系Fig.7 BBU station topology relationship

3.2 输入文件导入、数据自动生成

使用工具将联锁表、道岔控制表、闭塞表、道口控制表等输入文件导入到上文3.1 中绘制的站场模型中,文件可以正常导入。使用工具生成泰国联锁数据。生成的泰国BBU 站联锁数据共17 716 行,将工具自动生成的数据与人工配置的样例数据对比,数据无差异,编译联锁软件进行功能测试,功能正常。并已应用该工具进行泰国其他站场联锁数据的配置工作。

4 结论

泰国联锁数据自动生成工具主要实现站场模型构建,泰版联锁表、闭塞表、道岔控制表等输入文件的导入解析以及泰国联锁数据的自动生成功能。解决人工配置泰国联锁数据的难题,提高编制联锁数据的自动化程度与效率。目前泰国联锁数据自动生成工具已投入使用,随着工具功能的不断完善,数据配置人员工作效率明显提高,现已成为泰国联锁数据配置环节不可缺少的关键部分。

猜你喜欢
图元站场道岔
一种组态控件技术在电力监控系统中的运用
输气站场危险性分析
学术出版物插图的编排要求(一):图注
联锁表自动生成软件的设计与实现
中低速磁浮道岔与轮轨道岔的差异
场间衔接道岔的应用探讨
既有线站改插铺临时道岔电路修改
基于Qt绘图系统的图形应用优化研究与实现
铁路站场EBS工程量分解
KJH101-127型气动司控道岔的改造