熊 飞
(中国铁路设计集团有限公司,天津 300251)
列控数据是列控系统的核心数据,是列控中心与应答器报文的编制依据,也是进行列控报文核对的依据。列控中心与应答器报文直接与ATP控车相关,因而列控数据准确性直接关系到客运专线运营的安全性、可靠性。进路数据表是列控数据的重要组成部分,以往采用手工编制录入数据方式,不仅步骤繁琐,而且费时费力,制约着列控数据编制的进度和准确性[1],因此有必要设计一种列控数据进路数据表编制软件。Bosschaart等人[2]建立了一种基于UML语言的分类图法,对车站联锁系统创建RailML数据库,并进行数据的安全性验证,最终提出从已有数据库对信号及列车自动防护(ATP)系统的模拟,特别是通过和欧洲列车控制系统(ETCS)整合,指出自动创建RailML是将来的研究方向。Wang Dong等人[3]应用拓扑法和图论矩阵法对列控数据进行了分析。杨美娜等人[4]基于二叉树结构的进路搜索算法对高速铁路联锁系统进行了设计,但整个系统只有进路搜索和闭路进路功能,有待改进。目前,列控数据进路数据表编制软件中存在程序复杂、程序健壮性难以保证等局限性,因此,设计稳定、高效的列控数据进路数据表编制软件势在必行。
列控数据表编制依据主要有运基信号[2010]346号“关于印发《列控系统工程数据表编制规定(V2.0)》的通知”[5]、运基信号[2014]246号“关于印发《列控数据管理暂行办法》的通知”[6]、运基信号[2014]294号“关于印发《列控系统设备和相关设备编号规则(V3.0)》的通知”[7]等。其中,运基信号[2010]346号文详细规定了列控数据中进路数据表输入、输出文件的格式和内容,进路数据表格式如图1所示。
图1 进路数据表的格式
列控数据中进路数据表编制软件采用Visual Studio 2017作为软件开发平台,采用VBA及Active X Automation作为开发工具,通过动态链接库(Dynamic Link Library)方法,使软件具有较好的人机交互界面,通过对话框及窗体的应用,使程序输入的出错率有效降低,同时更方便使用RAO、RDO、ARO等连接数据库,更容易创建ActiveX控件。
列控数据包括进路数据表、线路数据表、应答器位置表、速度信息表、坡度信息表、里程信息表等。
进路数据表基础数据主要来自车站联锁表,部分数据来自其他列控数据表,其关系如图2所示。
图2 进路数据表与其他列控数据表及车站联锁表关系
其中,线路数据表、应答器位置表按照信号专业提供的区间及站内信号设备平面布置图编写;速度信息表由线路、站场专业提供;车站联锁表由设计单位给出,格式为AutoCAD图形文件。根据运基信号[2010]346号文,进路数据表应为excel格式文件,需对车站联锁表进行图元信息提取。
车站联锁表包含进路数据表的多种数据信息,如进路编号、进路类型、始端信号机、终端信号机、轨道区段等。其中,进路数据表中所需的进路编号、进路类型信息可由联锁表直接导入,其他信息在联锁表中均以CAD图元形式表现。CAD图元分为直线图元和包含文字信息的字符串图元2种,分别由AcDbLine和AcDbText类来标识[8]。
收集联锁表所有水平线条图元的坐标,按纵坐标大小依次排序,对每一段文字字符对象精确定位,根据文字图元的不同特征,在数据结构中将文字图元信息定义为进路列数据信息点、道岔列数据信息点、始端信号机数据信息点、终端信号机数据信息点、轨道区段数据信息点,按联锁表提取流程图进行信息提取,如图3所示。获得第一个文字图元并生成节点,如该图元关键字符中含有“至 信号机/尽头线”或者“由 信号机”信息,判断该图元信息点在进路列数据,并且增加一个子节点并保存,否则继续判断是否为道岔列数据,直至遍历完所有联锁表中的文字图元信息,将所有文字图元信息保存到相应的数据信息点中。提取出来的关键信息存储到进路数据表相应列中,供后续步骤使用。在软件编程中,由于VB语言数字变量提供精度不够,采用fix( )函数进行修正并将声明表达式中的数据类型定义为currency类型[9],可以保证4位精度,提高程序的健壮性。
将联锁表信息提取结果输入到相应进路表后,还需对其他所需列控数据进行提取。
(1)在应答器位置表中对进路顺序经过应答器的编号及相邻2个应答器组间的距离进行计算,提取出应答器组间编号及链接长度,供进路数据表中经过应答器列使用。
(2)对车站信息表和应答器位置表进行信息提取,供进路数据表中应答器编号列使用。
(3)在线路数据表中提取站内信号点轨道区段名称、对应的载频信息及轨道区段长度,供进路数据表中轨道区段列使用。
对于侧向接车进路、发车进路需要编制轨道区段信息表,其内容包括轨道区段名称、经道岔反位的长度、载频、末端信号机类型等信息。
(4)从线路速度表中提取出正线速度信息,对于侧线过岔及侧线股道速度则需要结合进路类型及道岔辙叉号来综合判断,提取相应的速度信息供进路数据表中速度列使用。
针对4线并行车站情况,需要提供进站信号机、反向进站信号机、出站信号机、反向出站信号机的公里标以及第3、第4条正线线路号,如表1所示。
图3 联锁表提取流程图
表1 第3、第4条正线线路信息表
根据软件提示输入第3、第4条正线正向最高速度、反向最高速度,以及第3、第4条正线的线路标记号。本次输入的第3、第4条正线线路标记号需要和第3、第4条正线线路信息表中线路标记号完全一致,程序通过识别线路标记号来判断数据源自哪一个车站,并调用相应的第3、第4条正线线路信息。
程序无法识别站内第3、4条正线进路经由的应答器名称,会导致进路数据表中经过第3、第4条正线应答器列对应数据存在误差,需要校对。从技术发展及节约人工核对量角度考虑,采用设置人机交互界面,提示用户手动输入其他两条正线进路经由应答器名称,保证与应答器位置表、站内及区间平面图一致,将这些信息作为校核数据对进路数据表进行更新校核,从而准确高效地完成列控数据的编制。
本文基于列控数据,设计了一种能自动生成进路数据表的编制软件。该软件采用了面向对象的开发方法,满足了列车进路数据表编制的准确性要求,提高了进路数据编制效率,并且能同步应用于其他相关列控图纸设计,已经在(北)京石(家庄)武(汉)客运专线、(天)津保(定)铁路等工程列控数据编制中得到运用,验证了软件具有良好的运用前景和推广价值。