张思杨,杨 扬,窦 磊
(西南交通大学 信息科学与技术学院,成都 611756)
CTCS-3级列控系统是基于无线通信网络(GSM-R)的列车运行控制系统,由无线闭塞中心(RBC)生成行车许可,由GSM-R实现车地信息双向传输,由轨道电路完成列车占用检查,由应答器提供定位信息[1]。随着我国高速铁路的快速发展,对铁道信号相关专业的人才需求越来越大。目前,国内很多高校均开设了铁道信号专业,并在本科教学中将CTCS-3级列控系统纳入教学范畴。但由于高校在教学方面往往缺乏实际的信号设备,使得学生对CTCS-3级列控系统基本理论难以深入的理解和掌握。
在过去的研究中,为了满足对CTCS-3级列控系统进行功能测试的需求,铁路领域内的一些研究机构建立了CTCS-3级列控系统仿真测试平台[2-4]。这类软件出于对列控系统功能进行测试的目的,很难完全根据现场实际情况模拟CTCS-3级列控系统的工作流程并实现运行机制的可视化[5],不适用于实际的教学需求。
因此,根据CTCS-3级列控系统的技术规范,使用高速铁路客运专线真实线路数据,利用计算机仿真技术,建立适用于高校本科教学的CTCS-3级列控仿真实验系统尤为重要。学生可通过操作CTCS-3级列控仿真实验系统软件,加深对CTCS-3级列控系统原理的理解和掌握,对于提高教学质量、推进信息技术与教育教学深度融合有重要的意义[6]。本文重点研究CTCS-3级列控仿真实验系统中轨旁仿真子系统的设计与实现。
CTCS-3级列控仿真实验系统主要由调度集中(CTC)仿真子系统、无线闭塞中心(RBC)仿真子系统、列控中心(TCC)仿真子系统、轨旁(TBS)仿真子系统、联锁(CBI)仿真子系统和车载仿真子系统组成。
调度集中仿真子系统主要完成列车运行计划的制定与下发,临时限速的设置与下发,以及分散自律控制等工作;无线闭塞中心仿真子系统主要完成移动授权的计算、等级转换、RBC切换等工作;列控中心仿真子系统主要完成轨道区段低频码的编制,有源应答器报文的编制和区间改变运行方向等工作;轨旁仿真子系统主要完成轨旁基本设备的参数存储、状态控制、设备监测等工作;联锁仿真子系统主要进行进路处理等工作,实现站内联锁控制;车载仿真子系统主要分为人机界面、安全计算机和车地通信模块,可模拟列车运行工作。
其中,轨旁仿真子系统是CTCS-3级列控仿真实验系统的重要组成部分,主要以轨道电路、应答器、站内信号机与站内道岔为研究对象,以软件方式完成上述轨旁基础设备的功能实现与设备管理,并配备设备监测与故障模拟功能,方便本科教学使用。
轨旁仿真子系统的功能需求如下:
(1)具有人机交互界面,能展示CTCS-3级列控中心仿真子系统管辖范围内全部线路的轨旁设备状态,包括轨道区段低频码、信号机点灯、应答器报文、道岔状态等参数;
(2)存储的数据为中国高速铁路客运专线真实线路数据;
(3)可监测并更新轨旁设备的状态,具有对轨旁设备参数的存储和发送功能;
(4)可以设置轨道电路故障(包括故障占用和分路不良)、应答器故障(包括发送错误消息和无法发送报文)、信号机故障(包括红灯灯丝断丝和信号机灭灯)、道岔故障(包括失去表示),以及所有故障的还原功能;
(5)可与列控中心仿真子系统、联锁仿真子系统、车载仿真子系统相互通信。
为实现上述功能需求,轨旁仿真子系统设计了4个模块:数据存储模块,人机交互模块,内部逻辑处理模块,通信处理模块。轨旁仿真子系统总体架构如图1所示。
图1 轨旁仿真子系统总体架构图
(1)数据存储模块主要用于存储轨旁设备参数、线路数据,以及与本系统通信的车载信息。
(2)人机交互模块使用线路数据与设备参数仿真绘制全线可视化界面,完成界面视图需求;同时可进行故障设置、参数查看等界面操作,满足人机交互需求。
(3)内部逻辑处理模块根据固定线路数据、设备参数以及人机操作指令,按照CTCS-3级列控轨旁设备的工作原理,模拟轨旁设备的工作机制,更新设备状态;同时,当轨旁设备状态发生变化时,向通信处理模块发送指令,驱使通信处理模块向列控中心仿真子系统、联锁仿真子系统、车载仿真子系统发送信息。
(4)通信处理模块采用基于TCP/IP协议的Socket通信技术[7],实现与其他3个仿真子系统的通信连接;接收列控中心仿真子系统发送的轨道区段低频码、有源应答器报文,联锁仿真子系统发送的站内道岔驱动信息、站内信号机点灯信息,以及车载仿真子系统发送的列车信息(包括位置里程、列车长度、启机股道等),并将解析后的有效信息存入数据存储模块。同时,通信处理模块在接收到内部逻辑处理模块发送的信息发送指令后,调用相关数据,将轨道区段占用信息发送给列控中心仿真子系统,将站内信号机、站内道岔和站内轨道区段状态参数发送给联锁仿真子系统,将列车始端占用的轨道区段低频码、列车正经过的应答器报文发送给车载仿真子系统。
在轨旁仿真子系统中,内部逻辑处理模块作为系统核心部分,主要用于处理应答器、轨道电路、站内信号机与站内道岔的功能逻辑,下面将详细描述其功能设计与实现。
应答器分为有源应答器和无源应答器,当列车驶过应答器时,应答器向列车发送包括线路坡度、桥隧信息、分相信息等在内的报文信号,确保列车可以安全、高效地运行[8]。
轨旁仿真子系统根据《CTCS-3级列控系统应答器应用原则(V2.0)》[9]编制无源应答器报文,并与来自列控中心仿真子系统的有源应答器报文共同组成应答器报文数据。
当列车驶过应答器,即列车位置里程与应答器里程相隔较近(约10 m)时,判断该应答器是否故障,若设置应答器无法发送报文,则不发送报文;若设置应答器发送错误消息,则控制通信处理模块随机组帧,发送无效报文;若应答器正常,则控制通信处理模块发送包含有效信息的应答器报文。由于在CTCS-3级列控仿真实验系统的总体设计中,车载仿真子系统与轨旁仿真子系统之间的通信周期很短,车载仿真子系统能及时发送最新位置里程给轨旁仿真子系统,因此在仿真环境下车速并未影响应答器报文传输。
在轨旁仿真子系统中,轨道电路可完成故障检测、列车占用检查与发送轨道电路低频码的功能。轨道电路逻辑处理流程如图2所示。
图2 轨道电路逻辑处理流程图
(1)判断轨道区段是否存在故障。若轨道区段分路不良,则保持轨道区段始终为空闲状态;若轨道区段故障占用,则直接设置轨道电路为占用状态。
(2)若轨道区段正常,则开始进行列车占用检查。当列车完全在区间运行时,根据列车位置里程与列车长度,计算列车始终端里程,并与轨道区段始终端里程进行比较,从而判断列车所占用的轨道区段。
(3)当列车在站内运行时,进路上道岔位置固定且锁闭,所以可在进路始端信号开放后,根据道岔位置搜索进路,然后再将列车始终端里程与进路内方各轨道区段始终端里程比较,判断列车占用的站内轨道区段。
(4)经过上述处理,当轨道区段状态发生变化时,控制通信处理模块将轨道区段状态反馈至列控中心仿真子系统与联锁仿真子系统。同时,将列车始端占用的轨道区段低频码发送给车载仿真子系统。
在轨旁仿真子系统中,站内信号机的显示、站内道岔的位置变动均由联锁仿真子系统控制。站内信号机根据联锁仿真子系统发送的信号显示点灯,并将站内信号机显示信息反馈至联锁仿真子系统。站内道岔根据联锁仿真子系统发送的驱动信息驱使道岔转换到相应位置,并将道岔位置信息反馈给联锁仿真子系统。当设置站内道岔失去表示后,可在联锁操作员的指示下,设置人工扳动道岔至定位或反位,以供联锁仿真子系统办理引导总锁闭。
轨旁仿真子系统的工作流程如图3 所示。
图3 轨旁仿真子系统工作流程图
(1)启动系统,自动导入高速铁路客运专线真实线路数据,初始化轨道电路低频码为HU码、站内信号机点红灯、站内道岔均在定位、有源应答器报文设为默认报文;
(2)根据线路数据编制无源应答器报文,绘制全线可视化界面;
(3)建立与列控中心仿真子系统、联锁仿真子系统的通信连接,打开车载通信接口;
(4)在完成上述系统初始化工作后,轨旁仿真子系统开始接收并解析其他子系统发送的信息;
(5)根据已有的线路数据、配合接收的有效信息及轨旁内部操作指令,进行逻辑计算,更新轨道电路、应答器、站内信号机和站内道岔的状态参数;
(6)向列控中心仿真子系统、联锁仿真子系统、车载仿真子系统发送规定的信息;
(7)更新系统视图界面,重新接收并解析其他仿真子系统发送的信息,开始新一轮系统工作。
本系统基于面向对象程序设计方法、Socket网络通信技术和多线程技术,在Visual Studio 2012开发环境下,使用C++语言编程实现,并根据郑西高速铁路客运专线真实线路数据进行仿真测试。
本文以列车在下行区间正向运行并通过X→IG接车进路进站的情况为例,说明轨旁仿真子系统的仿真结果。
(1)启动系统,系统进入初始化阶段。
(2)轨旁仿真子系统建立与列控中心仿真子系统、联锁仿真子系统、车载仿真子系统的通信连接。列车占用下行进站信号机X的接近区段,进站信号机X点黄灯,道岔3、道岔5均在定位。随后,列车驶入站内,进站信号机X灭灯,列车依次占用3DG、5DG、IG。
(3)轨旁仿真子系统还可设置设备故障,并可通过界面查看设备状态参数以及与其他子系统的通信报文。
轨旁仿真子系统仿真效果如图4所示。
本文设计并实现了适用于本科教学使用的CTCS-3级列控轨旁仿真子系统,与列控中心其他仿真子系统相互配合,模拟实现了轨道电路、应答器、站内信号机与站内道岔的功能,达到了预期的功能需求。目前,该系统已在西南交通大学犀浦校区投入使用,教学效果良好,且预留了对接实物设备的接口,在后续的研究中,可连接实物设备,使CTCS-3级列控仿真实验系统往半实物化方向发展,进一步解决CTCS-3级列控系统教学过程中,学生难以深入理解的问题。
图4 轨旁仿真子系统运行界面