王 瑞,杨志杰
(中国铁道科学研究院 通信信号研究所,北京 100081)
CTCS-3级列控系统是基于GSM-R无线通信实现车地信息双向传输,无线闭塞中心(RBC)生成行车许可,具备CTCS-2级功能的列车运行控制系统。建立CTCS-3级仿真测试平台,可根据具体线路设计的技术条件,实现对列控系统的各个部分的功能和性能进行数字化仿真与测试,对保证设计方案正确性、提高实验效率、减少试验周期与试验成本、确保列车在CTCS-3级列控系统下行车安全具有重要意义。本文重点研究了CTCS-3级列控系统仿真平台中轨旁仿真子系统的设计与实现。
列控系统仿真平台的主要功能是仿真CTCS-3级列控系统的工作原理,采用仿真设备与实际设备相结合的半实物仿真办法,为关键设备或关键部件提供功能测试环境,不仅可以进行各个关键设备的功能测试、安全性测试和互联互通测试,还具有故障注入与分析、实际测试案例的演示和结果分析以及测试案例的回放等功能。
(1)仿真平台服务器:主要完成仿真初始化设置、仿真过程的管理和回放、同步各个仿真设备的工作;(2)数据库:主要存放仿真线路的所有线路数据,如应答器信息、轨道信息等;(3)显示平台服务器:主要用于仿真过程中的平面站场图显示;(4)车站设备部分:包括联锁设备、列控中心设备、无线闭塞中心(RBC)、GSM-R设备等;(5)车载设备部分:包括车载仿真设备、司机控制平台等;(6)地面设备部分:轨旁子系统等;(7)三维视景显示部分:用于仿真过程中的三维视景显示。
仿真平台的结构框图如图1。
图1 CTCS-3级列控系统仿真平台整体框图
其中,轨旁子系统是仿真平台的重要组成部分,它主要包括应答器模块和轨道电路模块,是联系车载设备与地面设备的桥梁,对保证列车的安全运行起着重要作用。下面将对轨旁子系统的设计与实现做详细介绍。
列车在CTCS-3下安全高速行驶,需接收地面应答器以及轨道电路信息。其中,应答器信息主要包括线路数据、最大允许速度、轨道电路参数、临时限速信息和列车等级切换等信息,而轨道电路信息主要用于检测轨道区段是否有列车占用和获取信号机状态。因此,在CTCS-3级仿真平台中专门设计了轨旁子系统。它的主要功能是从相关设备获取有源应答器信息和轨道电路信息,将它们存储在数据库中,并择机发送给车载仿真设备。应答器模块用于处理应答器报文信息,并择机将报文发送给仿真车载系统。轨道电路模块用于处理轨道电路信息,并择机将列车所在轨道的轨道信息发送给仿真车载系统。
在仿真平台中,轨旁子系统主要与列控中心、仿真车载设备以及仿真平台服务器通过以太网进行通信,并且通过SQL Server服务管理器从数据库读取相关线路信息。轨旁子系统与其它设备的信息流如图2。
图2 轨旁子系统与其他设备的信息流
2.3.1 应答器模块的设计与实现
应答器模块是CTCS-3级列控系统仿真平台中的重要组成部分,向列车发送线路数据、最大允许速度、轨道电路参数、临时限速信息和列车等级切换等信息,以保证列车可以安全高效地运行。
在仿真平台中,应答器报文采用欧洲标准,每条应答器报文都是由一个50 bit的报文帧头、若干信息包以及一个8 bit的结束包构成,共计830 bit。830 bit的初始用户数据经过FFFIS信道编码算法(欧洲标准应答器编码算法)处理后,变成913 bit的成形数据,再加上算法中的一些参数(包括:3 bit控制位、12 bit扰码位、10 bit附加位和85 bit校验位),就形成了1 023 bit的长报文,如图3。
根据无源应答器报文信息固定不变的特性,在程序设计中,首先将所有无源应答器报文数据存放到数据库中。有源应答器的报文数据则是接收列控中心发送的数据,再根据应答器编号存放到数据库中相应的位置。仿真过程中,仿真平台服务器实时计算出列车当前位置,需要发送应答器报文时,将应答器编号发送给轨旁子系统。轨旁子系统再根据应答器编号,在数据库中寻找到相应的应答器报文,进行FFFIS编码后择机发送给车载仿真设备。
具体程序流程图如图4。
图3 应答器报文的组帧过程
图4 应答器模块程序流程图
2.3.2 轨道电路模块的设计与实现
仿真过程中,轨旁子系统和列控中心进行实时通信(周期约为50 ms),获取线路上轨道信息,并根据轨道编号将其保存到数据库中相应的位置。同时,仿真平台服务器会将列车当前所在轨道编号发送给轨旁子系统,然后轨旁子系统根据轨道编号,在数据库中查找相应的载频和低频信息,择机发送给车载仿真设备。程序流程图如图5。
图5 轨道电路模块程序流程图
多线程技术是目前多种操作系统支持的主要技术之一,对改进程序的结构及提高计算机的性能起着很大的作用,可以提高程序的响应速度,使多CPU系统更加有效,占用系统更少的资源,改善性能等。
在CTCS-3级列控系统仿真平台中,轨旁子系统需和其他4种设备进行通信,另外由于一条仿真线路可能有很多列控中心,所以轨旁子系统还需对每一个列控中心都应有一个独立的端口进行通信。轨旁子系统将会和很多设备同时进行通信,为了保证轨旁子系统可以及时准确地接收到各个设备发送的信息,软件设计中采用了多线程技术,即每对应一个设备开辟一条新的线程,各个线程独立工作,互不影响,这样提高了程序的响应速度,使CPU系统更加高效。
面向对象的仿真建模方法采用符合人们认识世界的思维方式对现实世界进行抽象,它更接近于人类的思维规律,因而设计出的软件系统能够更直接、自然地反映客观现实中的问题。
UML(Unified Modeling Language)是一种面向对象的建模语言,运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。在UML中,类图描述了系统中的类及其相互之间的关系,其本质反映了系统中对象的类型以及对象间的各种静态关系。
本文在设计轨旁子系统时,采用了面向对象的软件编程方法。将轨旁子系统与各个设备的通信接口和与各个设备通信的数据处理分别设置为一个类,将与每个设备通信的状态和运动规律封装到类中,映射成相应对象的属性与方法。根据不同对象的相互作用与联系定义特定的函数接口,按照面向对象层次化软件结构完成各个对象模块中的应用实现。轨旁子系统简单UML类图如图6。
这样做提高了目标系统的可重用性,减少了软件生命周期后续阶段的工作量和可能出现的错误,提高了软件的可维护性,易于扩充和修改,能够适应不断增加的需求。
图6 轨旁子系统简易UML类图
在仿真测试过程中,组织良好、描述规范的测试案例集能够高效地指导测试工作的执行。因此,在针对CTCS-3级列控系统进行仿真测试时需制定测试案例集与测试序列集。本文仅列举测试序列001如表1。
表1 测试序列001:车载设备模式转换、RBC切换
按照上述测试序列表要求排列进路,当地面条件满足后仿真开始,图7为巩义南站侧线发车进路。仿真开始后,列车从巩义南3G侧线发车,车载仿真设备启动,轨旁子系统与其他子系统进行通信。仿真平台服务器实时计算列车位置,当列车越过轨道绝缘节时,向轨旁子系统发送当前轨道编号信息,轨旁子系统根据接收到的轨道信息,在数据库中查到相应的信息发送给车载仿真设备;当列车即将经过一组应答器时,向轨旁子系统发送应答器编号信息,轨旁子系统根据接收到的应答器编号,在数据库中查到相应的应答器报文信息,进行FFFIS编码后,发送给车载仿真设备。
仿真运行过程中轨旁子系统显示如图8。
本文主要对CTCS-3级列控系统仿真平台中的轨旁子系统进行了研究。系统的主要功能已经实现,与列控中心等其他子系统进行了联调,可以及时、准确地发送应答器报文和轨道电路信息,达到了预期的设计目标。
图7 巩义南站侧线发车进路显示图
图8 轨旁子系统仿真运行图
[1]韩 胤,张 勇. CTCS-3级仿真系统中无线闭塞中心的仿真[J]. 铁路计算机应用,2006,15(7).
[2]中国列车运行控制系统CTCS技术规范总则(暂行)[S].2003,10.
[3]CTCS-2级列控系统应答器应用原则(V1.0) [S]. 2008,11.
[4]既有线CTCS-2级列控系统车站列控中心技术规范(暂行)[S]. 2007,3.
[5]高继祥. 铁路信号运营基础[M]. 北京:中国铁道出版社,1998.