城市轨道交通视景仿真信号系统研究

2018-01-21 18:13邹少文
城市轨道交通研究 2018年1期
关键词:信号机信号系统道岔

邹少文

(中铁二院工程集团有限责任公司,610031,成都∥高级工程师)

视景仿真技术被广泛应用于模拟驾驶以及列车运行场景的展示与测试。在轨道交通仿真领域,目前多采用Creator进行场景建模,以Vega[1]进行视景驱动,其优点是模型及其控制逻辑代码可高度定制,但缺点也较明显,如工具使用麻烦、代码偏向底层、开发难度大等,创建出的模型与线路环境也难以复用。本文以 MSTS(Microsoft Train Simulation)的文件资源为实现基础,基于.Net平台的XNA技术框架作为开发环境,利用MSTS良好的开源特性以及XNA套件快速开发的能力,在该平台快速、准确地完成了对虚拟线路场景的搭建,将仿真重心从搭建虚拟环境本身转移到利用该虚拟环境,完成对城市轨道交通现实运营场景的模拟。

1 虚拟场景的搭建

1.1 虚拟线路基本环境的搭建

在虚拟线路环境场景中,主要包括地理环境模型、气候模型、声音模型、动态模型、静态模型、粒子系统等。MSTS提供了功能强大的线路编辑器,且支持第三方模型的导入,结合其丰富的模型库及优良的开源特性,通过地形数据导入[1]、轨道铺设,并根据现实场景,对照相关工程图纸进行布景,即可完成对虚拟线路的搭建;且线路场景可根据后期需求进行更改,线路中的模型也可随意替换,具有较高的复用性与可替换性。

1.2 信号机的搭建

信号机作为指导列车安全、高效运行的重要信号设备,在该虚拟线路场景中,对信号机显示状态和显示逻辑的仿真测试是该仿真平台的一项重要仿真功能。在虚拟线路的正线区段中,将信号机模型放置在进出站口、道岔前方、站间区间,即可完成信号系统的基础搭建,如图1所示。此外,要根据信号机前方区间是否空闲或前方道岔的定、反位状态,设置信号机的显示状态与显示逻辑。有些变量如车辆是否出清区段,需要在列车运行过程中实时计算得出,即通过编程手段获取,MSTS编辑器并未给出较好的支持,特别是不能满足在CBTC(基于通信的列车控制)模式下地面信号机的正确显示。这使得虚拟线路中的信号系统不能很好地得到应用,为后面列车在虚拟线路中运行时信号机的正确显示带来不便,影响仿真结果的正确性。

图1 信号机模型的放置示意

2 仿真线路地面信号机显示模式

本文对城市轨道交通仿真线路中的地面信号机,在CBTC模式下的状态显示进行了探讨。依据平台现有条件模拟CBTC模式,地面信号机采用常态点灯方案,联锁系统根据移动授权对地面信号机进行驱动,在移动授权范围内的地面信号机均为允许信号。特别是,在本线路中,通过一个闭塞分区即相邻两个顺向通过信号机之间的轨道区段模拟一个计轴区段。一个计轴区段可划分为多个虚拟逻辑区段。在CBTC模式下,同一计轴区段中允许多辆列车进行追踪运行,列车之间的安全距离通过仿真车载设备实时计算来保证。若在降级模式下,一个计轴区段(闭塞分区)中只允许一列列车运行。

在模拟仿真CBTC模式下,仿真线路中的地面信号机通过ATS(列车自动监控)系统进行监控。由于虚拟线路环境中并不存在“区段”这一概念,因此在相关数据库中,存储了全线的位置坐标信息,包括对虚拟逻辑区段的位置划分。列车在运行过程中通过实时查询数据库获取当前位置,并向ATS系统转发包括自身位置在内的各项列车运行状态信息。ATS系统通过对列车位置的监督,结合进路信息与移动授权信息,通过创建的相关功能接口,向虚拟线路发送对应点灯命令,以实现信号机的正确显示。其具体实现过程及原理如下文所述。

3 信号机脚本文件的解析

3.1 信号机状态显示脚本文件的解析

在MSTS中,通过替换信号机模型不同灯位上的贴图实现显示状态的改变。在MSTS底层的sigcfg.dat信号机状态显示脚本文件中,每一类信号机的状态显示和显示意义都有明确定义。以图1中的出站矮柱三显示信号机为例,该脚本定义了该信号机的类型SignalType,状态显示使用贴图Signal-LightTex、信号显示引导方向SignalAspects、显示状态分类SignalLights以及对应每一类状态显示的灯位显示SignalDrawStates。按照规定的脚本语言格式,对该脚本文件进行修改,甚至完全重写,可对信号机的状态显示进行重定义。例如在南方某些地区的城市轨道交通信号系统中,将白色灯光的意义等同于黄色灯光。在针对这类具体场景进行仿真时,就可直接修改对应的状态显示脚本实现该需求。

对该信号机显示脚本的修改,丰富了模型的使用场景,避免了重新制作相应信号机模型的工作,提升了仿真的工作效率。

3.2 信号机显示逻辑脚本文件的解析

信号机状态显示的确定与信号机具体的使用场景直接相关,特别对采用不同闭塞方案的信号系统,其信号机的状态显示与含义也有明显差异。在MSTS中,sigscr.dat脚本文件定义了所有信号机的显示逻辑。以三显示信号机为例,在sigscr.dat脚本中定义了该信号机的显示逻辑,其中一个关键的变量是next_state,即前方信号机状态。若信号机防护后方存在道岔时,则还与道岔的定、反位状态存在联锁关系(如侧向时显示黄灯)。

通过对sigscr.dat脚本中对应信号机类型的显示逻辑进行修改或调整,可以使信号机按具体的仿真场景要求进行显示。

4 信号机脚本文件的修改与应用

在城市轨道交通中,三显示的信号机已基本满足CBTC模式下信号显示的需求。但是,为了拓宽本平台中信号系统的仿真应用场景,如对铁路信号系统的信号机显示进行模拟,则需对上述两个脚本文件进行相应的修改甚至重写,使虚拟线路场景中信号系统得到更为广泛的应用,也为后期满足城市轨道交通中可能出现的特殊信号显示提供必要的技术支持和技术储备。现在通过将区间三显示信号机的显示制式变为四显示[3]为例,仅对平台中信号机的显示状态和显示逻辑的调整进行一般性说明。其过程如下:

(1)增加一组显示状态:四显示与三显示相比,多了一组“绿黄”灯位显示,因此在sigcfg.dat脚本文件对应信号机类型的SignalLights属性中增加一类显示,且添加相应的灯位显示SignalDrawStates。

(2)调整显示逻辑:信号机的灯位显示含义和原有三显示相比已发生变化,因此在sigscr.dat脚本的逻辑判断中,新增一个条件分支用于判断“绿黄”灯位显示,并对其他灯位的显示逻辑进行调整。四显示灯位显示状态及显示逻辑依据表1调整。最终四显示实现效果如图2所示。

表1 四显示自动闭塞分区区间信号机显示

图2 区间通过信号机四显示状态图

上述信号机显示的改变仅是对平台中信号机显示状态与显示逻辑的调整进行了仿真与验证,为今后复杂的信号显示提供了实现的基础。实际的城市轨道交通中,并未采用四显示制式。

5 外部接口对信号机的驱动

仅通过MSTS中的联锁逻辑文件,很难体现信号机、道岔与进路之间的联锁关系。特别是多辆列车在同一条线路中进行仿真运行时,已无法满足正确显示的要求。尤其在CBTC模式下,对于不同列车对应的移动授权范围内的信号机,其显示逻辑的确定也比较复杂,需要结合列车当前位置去不断地判断,而原有信号控制逻辑已不能满足要求。因此,通过创建相关接口[4],让外部系统(如车站联锁系统、ATS系统)对线路中的道岔、信号机进行控制,是让虚拟线路中信号系统继续正常工作的重要解决途径,可保证仿真效果的正确性与真实性。

5.1 地面设备接口功能实现原理

在创建接口前,该虚拟线路环境是封闭的。若要外部系统实现对虚拟环境中信号设备或车辆的控制,必须创建通信接口实现数据交互。“接口”是一个宽泛的概念,这里指的是Socket通信的一端。根据制定的通信协议与对应的功能函数,可将接口分为地面设备接口、车载设备接口与其他系统的接口等。这里的地面设备接口包括了对信号机、道岔、站台屏蔽门等可控模型的处理。通过接口,ATS系统可与虚拟线路场景进行数据交互,通过对应接口功能函数实现对相关模型进行控制。其原理如图3所示。

图3 接口功能实现原理图

5.2 信号机控制命令生成场景

在本平台中,信号机控制命令生成主要有两类场景:一类是ATS系统在进路自动排列或取消过程中,会对进路始端、终端信号机的状态进行调整,从而生成对应的信号机控制命令。另一类是当CBTC系统计算出列车对应的移动授权中包含某些信号机时,该信号机状态设置为允许信号;当计算得出前方信号机为移动授权终点时,则该信号机设置为禁行信号。

对于第一类场景:当ATS系统发送信号设备操作命令前,ATS系统的联锁逻辑模块会对该命令的合法性,如对敌对信号是否开放、敌对进路是否办理等进行检测,只有满足联锁条件的命令才会被发送;当虚拟线路接收到ATS系统发送的信号机或道岔操作命令时,根据制定的通信协议与对应的接口功能函数(如DealSignalCommand()、DealSwitchCommand()),三维场景中的信号机、道岔按命令动作,并将设备的当前状态反馈给ATS系统,模拟实现了ATS系统对线路场景中信号设备的监控功能,并且在大屏监控界面给出对应界面显示。ATS系统对地面设备操作流程如图4所示。进路控制命令即是多个信号机和道岔操作命令的组合。关键代码如下:

public void DealCommand()

{

ConCmd Cmd=ControlCmd;

switch(Cmd.ObjectName)

{

case"SIG"://信号机

DealSignalCommand(Cmd.ObjectID,Cmd.ObjectState);

break;

case"SWI"://道岔

DealSwitchCommand(Cmd.ObjectID,Cmd.ObjectState);

break;

default:

break;

}

}

图4 ATS系统对地面设备操作流程

对于第二类场景:在CBTC模式下,由于对每一列列车的移动授权在列车运行过程中是动态变化的,后行列车移动授权的终点与前行列车的位置密切相关在本平台中,因此可通过车站设备对列车当前位置进行实时查询,并将位置等相关信息经过数据转发服务器发送至ATS系统;再根据ATP(列车自动防护)仿真模块实时计算出两列相邻列车的位置间隔,并查询相关数据库,确定列车的移动授权范围,检查后行列车的移动授权范围内是否包含信号机。若包含,则通过ATS系统向对应信号机发送允许信号;若不包含,则随着列车位置移动,后行列车的移动授权不断向前延伸,当延伸至对应信号机为移动授权终点时,通过ATS系统向该信号机发送禁行信号。列车周期性查询自身位置信息的流程如图5所示。

图5 列车位置查询

5.3 接口功能实现效果

当ATS系统实现进路自动排列[5]时,如果符合进路办理条件,则会依据图4所示发送对应进路控制命令;虚拟线路场景在接受到该命令后,根据通信协议,调用相关功能函数,完成进路的排列(如图5所示)。此时进路始端信号机开放亮绿灯,进路中道岔状态转换至指定位置。

当列车在区间中运行时,根据对应列车的移动授权范围,确定对应区间通过信号机的状态显示。对于前行列车,其移动授权终点在该信号机后方,即该信号机在前行列车的移动授权范围内,信号机显示允许信号。当前行列车越过该信号机,且还未进入前方闭塞分区的下一个虚拟逻辑区段时,后车的移动授权终点延伸至该信号机,该信号机显示禁行信号(如图6右侧所示)。

6 结语

通过对本仿真平台中信号机底层脚本文件的修改与外部接口的创建,解决了信号系统在虚拟线路场景中无法正确工作的问题。利用本文描述的方法,提高了信号机模型的利用效率,根据具体场景对脚本进行修改,结合外部系统如ATS系统,基本实现了对城市轨道交通信号系统工作状态的模拟,保证了地面信号机显示的正确性。当然,对于移动授权的计算,由于目前没有独立的仿真区域控制器,在算法上做得相对简单,但能够满足基本仿真需求。该功能和联锁功能一样,目前都暂由ATS仿真系统实现,后期会将该功能独立为一个单独的系统。通过该方式,不仅可对城市轨道交通的信号系统进行仿真模拟,还可针对铁路、轻轨、有轨电车等轨道交通线路的信号系统进行仿真模拟,并可保证仿真结果的正确性和可靠性,满足了仿真要求。特别是利用创建的相关接口,除了能够对信号机、道岔状态进行控制外,还可对列车的运行状态进行远程控制,为ATO(列车自动运行)功能的仿真提供实现基础,从而可更加全面地完成城市轨道交通信号系统的仿真与模拟。

图6 进路排列示意实景图

[1] 徐恩,李学军,邹红霞,等.基于Creator/VP的三维虚拟环境建模[J].系统仿真学报,2009(S1):121.

[2] 杨城,陈荣武,王怀松.基于MSTS与DEM数据的线路地形仿真与实现[J].系统仿真技术,2015(4):323.

[3] 李京梅.浅谈三显示与四显示区间自动闭塞信号显示的区别[J].铁路通信信号设计,2002(3):35.

[4] 杨城,陈荣武,王怀松.基于MSTS的三维仿真演示系统外部接口的研究与实现[J].系统仿真技术,2016(4):280.

[5] 刘洪宽.城市轨道交通ATS关键技术及仿真平台研究[D].成都:西南交通大学,2008.

猜你喜欢
信号机信号系统道岔
LTE-M在地铁信号系统中的应用
驼峰信号机与驼峰辅助信号机显示不一致问题分析
中低速磁浮道岔与轮轨道岔的差异
四显示自动闭塞通过信号机在TDCS/CTC采集电路中存在的问题及改进
场间衔接道岔的应用探讨
SmarTram型有轨电车信号系统
既有线站改插铺临时道岔电路修改
跨座式单轨与中低速磁浮信号系统的关键技术
信号系统一体化的探讨
半自动闭塞总出发信号机非正常关闭解决方案