陈 亮,张 浩,吕方瑶,赵 琳
(1.中国铁道科学研究院集团有限公司铁道科学技术研究发展中心,北京 100081;2.中国铁道科学研究院集团有限公司通信信号研究所,北京 100081)
无线闭塞中心(RBC)作为CTCS-3级列控系统的地面核心设备,车载消息模拟器可以模拟车载ATP设备与RBC进行消息交互,进行特定场景试验,从而实现对RBC功能的验证,是RBC仿真测试环境中必不可少的一个组成部分。
本文重点研究车载消息模拟器的软件模块设计与实现,通过实际测试案例进行验证,表明车载消息模拟器可满足RBC的功能测试场景需求。
车载消息模拟器根据运营场景,结合行车所需要的外部信息,生成与RBC通信的消息。外部信息包括:1)牵引制动信息:包括前进、后退,以及列车当前运行速度等;2)车辆静态信息:如车次号、列车长度、轴重等;3)应答器报文信息:由仿真平台向车载消息模拟器发送的应答器报文;4)轨道电路码序信息:仿真平台发送当前运行区段轨道电路码序;5)RBC发送给车载消息模拟器的消息:如行车许可、临时限速、级间切换、紧急停车消息等。
车载消息模拟器的软件开发采用C#开发语言以及Visual Studio 2019开发环境。软件设计采用多例模式,运行主程序的PC机可以同时运行多个程序,因此可以满足多个车载消息模拟器同时注册、注销RBC的场景试验需求。
车载消息模拟器主要模拟ATP与RBC间的消息交互,因此在系统功能划分上与ATP类似,软件结构主要由4个模块组成:核心计算模块、仿真平台接口模块、无线报文传输模块、人机界面模块。软件总体设计结构如图1所示。
图1 软件总体设计结构Fig.1 Software overall design structure diagram
核心计算模块。根据收到的外部信息计算并生成发送给RBC的无线消息、解析从RBC收到的无线消息、根据外部输入的信息控制车载模式、等级和速度等。
仿真平台接口模块。实现车载消息模拟器与仿真平台的通信功能,接收应答器报文、轨道电路码序,并将列车速度周期性地发送给仿真平台,由仿真平台根据列车速度计算列车当前位置。
无线报文传输模块。主要负责与RBC进行通信,通过调用已经封装好的subset-037协议栈与RTU进行接口,实现与真实RBC间的数据传输。
人机界面模块。用于向测试人员提供仿真车载的控制信息,并显示当前列车的状态信息。例如,与仿真平台的通信状态、与RBC的通信状态、与外部软件的通信数据等;测试人员也可以设置列车参数,选择控车模式与等级等。
本模块是车载消息模拟器的核心模块,用于初始化全局变量、读取车载配置文件、绑定通信端口、无线消息的生成与解析等。
初始化全局变量包括车载模式、等级、初始的最近相关应答器编号;车载配置文件包括车次号、RBC电话号码/ID号、车长、轴重等相关信息;绑定通信端口是指车载消息模拟器与RTU以及仿真平台的发送/接收端口的绑定;无线消息的生成与解析功能是车载消息模拟器的主要功能之一。
解析消息是生成消息的逆过程,是将收到的RBC消息、仿真平台发送的应答器报文以及轨道电路信息,根据通信协议解析出消息的对应字段,最后在人机界面接口进行相应的显示。
2.2.1 应答器信息接口
车载消息模拟器通过以太网与仿真平台直接通信进行仿真。与实物仿真方式,即通过应答器和BTM天线获取应答器信息的方式相比,通过以太网传输信息能够保证在满足功能测试需求的前提下,避免不必要的复杂性,保证系统的稳定性,同时缩短其开发周期。
2.2.2 轨道电路信息接口
轨道电路信息接口在编程方式上仍采用异步回调委托方式接收仿真平台发来的消息。
由于车载消息模拟器与RBC通信时,不发送相关的轨道电路码序信息,因此,仅在显示界面上提示操作人员当前的码序信息。
2.2.3 速度-距离信息接口
与仿真平台的速度-距离信息接口,主要是将车载消息模拟器当前的速度以及累积运行距离报告给仿真测试平台;仿真测试平台计算仿真列车在线路上的具体位置。
车载消息模拟器按照500 ms的周期向仿真平台发送列车运行的累积距离,以保证仿真平台精确计算仿真列车的当前运行位置。
车载消息模拟器通过仿真RTU与真实RBC进行通信。仿真RTU为独立的PC机,同时安装有Primux板卡与以太网板卡,利用Primux板卡通过E1线与RBC的ISDN端口连接通信,利用以太网板卡通过以太网线与车载消息模拟器连接通信,车载消息模拟器与RTU连接示意如图2所示。
图2 车载消息模拟器与RTU连接Fig.2 Connecti on between onboard message simulator and RTU
车载消息模拟器在通信模块中开发与RBC通信的应用层,通过调用RTU程序中按照Subset-037协议实现的无线通信功能模块(Communicational Functional Module,CFM)与RBC进行通信,通信模块示意如图3所示。
图3 通信模块示意Fig.3 Schematic diagram of communication module
人机界面模块接口是测试人员完成注册、注销、与RBC建立安全连接、RBC移交等场景功能的人工操作接口。
测试过程中,车载消息模拟器依据测试用例向RBC发送特定的消息,以满足测试RBC功能的需求。
人机界面模块接口提供了需要人工设置特定消息字段的内容,可以实现人工消息插入功能,将输入的数据组合成消息发送给RBC。
在CTCS-3级列控系统的实验室环境下,车载消息模拟器可以实现以下测试场景:注册与注销、等级与模式的转换、RBC移交、调车、临时限速、紧急消息处理、故障模拟场景。为了对RBC进行功能测试,基于运营场景对测试序列进行测试。本文以RBC移交及等级转换两个典型场景为例,说明车载消息模拟器实现基于运营场景的测试过程。
车载消息模拟器可以向RBC发送正常的消息进行功能测试,也可以向RBC发送真实车载设备所不能发出的异常消息,作为RBC功能测试的一项重要需求。
测试开始前,车载消息模拟器与仿真平台、RBC建立正确连接,其测试流程如图4所示。
以RBC移交场景为例,RBC移交是在两个RBC的边界处,实现列车行车许可安全切换的过程,车载消息模拟器可以完成仿真列车通过RBC边界的移交场景。
车载消息模拟器根据测试需要选择手动移交或自动移交。手动移交由消息插入功能实现,车载消息模拟器按照RBC移交流程向RBC发送测试RBC功能所需要的正确或者异常的消息,完成特定场景的测试;自动移交则是按照RBC移交流程由车载消息模拟器自动完成与移交/接收RBC的消息交互。
RBC移交流程如图5所示,描述列车在两个RBC间行车许可控制的安全切换过程。
图5 RBC移交过程Fig.5 RBC handover process
车载消息模拟器选择完全模式,仿真列车以完全模式运行,当移动授权(MA)延伸至RBC移交边界时,收到移交RBC发送的包含P131的行车许可(M3)消息后,通过解析P131包中的接收RBC的ID号及电话号码信息呼叫接收RBC;与接收RBC建立连接后,车载消息模拟器同时与移交RBC、接收RBC进行无线消息交互,待列车最大前端通过移交边界,接收RBC接管仿真列车,列车继续运行,待最小安全后端通过移交边界后列车与移交RBC断开连接,完成移交场景。
本实例以取消C2/C3等级转换与移交RBC缩短移动授权场景的测试序列为例说明,如表1所示。
表1 取消C2/C3等级转换与移交RBC缩短移动授权场景的测试序列Tab.1 Test sequence for cancelling C2/C3 conversion and shortening movement authority by handover RBC
经过实际仿真测试,序列中各步骤的测试结果均符合系统需求规范,证明车载消息模拟器能够在列控系统研发、测试等方面提供仿真技术支持。
目前CTCS-3级列控车载消息模拟器已基于C#语言实现了基本功能,下一步将采用脚本测试方式实现自动化测试,逐步完善车载消息模拟器自动化测试的功能。