客运专线列控中心测试平台的构建研究
2012-11-28张仕雄李丽兰
张仕雄,李丽兰
(1. 武汉铁路职业技术学院 铁道信号与工程系,湖北 武汉 430205;2. 郑州铁路职业技术学院电子工程系,河南 郑州 540052)
客运专线列控中心(Train Control Center,TCC)是我国高速铁路和客运专线列控系统地面信号控制的关键设施[1]。由于客运专线列控中心功能强大、控制逻辑复杂,并且安全性要求高,为保证实现所有功能并能够在出现故障时导向安全,构建客运专线列控中心测试平台是一个非常重要的技术手段。
1 列控中心的功能与接口
列控中心设备可以适用于客运专线上的联锁车站、中继站和线路所,也可以用于与CTCS-2或CTCS-3级客运专线相衔接的CTCS-0级车站。列控中心可以根据车站类型分为车站列控中心和中继站列控中心。
列控中心应根据列车进路和轨道区段状态等信息,实现对轨道电路的载频、低频信息编码功能,并能控制轨道电路的发码方向;根据临时限速服务器的信息,实时编制应答器报文,并实现对应答器报文的组帧、校验和向LEU发送的功能;还应具有对信号机点灯控制和向调度集中系统(Centralized Traffi c Control System,CTC)发送相关信息的能力等。
客运专线列控中心与ZPW-2000系列轨道电路、CBI、TSRS、相邻TCC、LEU、集中监测和CTC设备配置通信接口,并且根据不同类型的车站,其外部通信对象有所不同。客运专线列控中心与外部各设备的接口关系如图1所示[2]。
2 列控中心的测试内容研究
依据客运专线列控中心的系统结构和全方面测试的需求,可以将客运专线列控中心的测试分为3种:列控中心的全功能覆盖测试;列控中心与外部设备接口协议一致性测试;列控中心安全和性能测试。各种类型的测试脚本可能会存在相互覆盖的情况,但基于测试的关注点不同,采用的测试手段和测试分析方法有所不同。
2.1 全功能覆盖测试
全功能覆盖测试是对客运专线列控中心的功能性验证,是列控中心各项测试中最基本的环节,也是最重要的软件功能测试,测试体现的是所有功能是否均能实现。根据铁道部科技运[2010]138号“关于印发《列控中心技术规范》的通知”要求[2],测试平台可以针对以下功能进行测试脚本设计。
(1)覆盖所有的有源应答器报文的实时编码。
(2)轨道电路各种情况载频和低频编码测试。
(3)轨道电路发送方向控制和状态采集测试。
(4)区间轨道区段状态采集测试。
图1 客运专线列控中心与外部设备接口关系示意图
(5)区间各种信号机点灯控制测试。
(6)异物侵限防护功能测试。
(7)区间改变运行方向的功能测试。
(8)临时限速信息功能测试。
2.2 外部设备接口协议一致性测试
接口协议测试是对列控中心外部接口的一致性测试,通过测试保证列控中心的外部通信是正常可用的,该部分是列控中心完成核心功能的前提。接口协议测试包括应用层协议测试,主要是对列控中心与外部设备间接口传输数据的验证,侧重于接口协议的一致性。该测试主要包括以下内容。
(1)与联锁接口的一致性测试。
(2)与相邻TCC数据的一致性测试。
(3)与TSRS数据的一致性测试。
(4)与CTC数据的一致性测试。
(5)与集中监测数据的一致性测试。
(6)与地面其他设备数据的一致性测试。
2.3 列控中心安全和性能测试
安全和性能测试是列控中心测试的一个重要方面,通过该测试可以确保上线的列控中心系统能够达到故障—安全的方式运营。
客运专线列控中心应该采用2乘2取2安全计算机平台作为主逻辑运算单元[2]。因此,在该部分主要针对安全计算机功能的实现、安全协议的实现,以及故障现象的处理等方面说明列控中心安全和性能测试的关注点。该测试主要包括以下内容。
(1)轨道电路闪红测试。
(2)打灭信号机测试。
(3)与外部设备通信中断测试。
(4)数据帧丢失测试。
(5)数据帧插入测试。
(6)数据帧次序混乱测试。
(7)数据帧错误测试。
(8)数据帧传输超时测试。
(9)安全计算机主备系统人工切换测试。
(10)各接口数据压力测试。
3 列控中心测试平台的方案研究
从测试的角度,客运专线列控中心测试平台应包括测试数据部分、测试执行部分、接口适配单元和测试分析部分,其结构框架如图2所示。
图2 客运专线列控中心测试平台框架示意图
3.1 测试数据部分
测试数据部分由测试脚本数据库、线路数据库和运行记录数据库构成。测试脚本数据库负责存储各设备仿真器需要执行的各种脚本,是各设备仿真器运行的来源;线路数据库存储与测试脚本相关的各种真实线路数据,如应答器位置、进路信息和闭塞分区信息等内容;运行记录数据库用于收集在测试执行过程中各设备收发的各种数据,提供给测试结果分析工具使用。
3.2 测试执行部分
测试执行部分是测试平台的核心,由以下3个主要模块组成。
(1)测试过程控制管理器。测试过程控制管理器负责将测试脚本和线路数据发送给各设备仿真器,同时控制各仿真器的启动及终止操作等。
(2)测试数据收集器。测试数据收集器负责收集测试运行过程中各仿真器的交互数据及故障数据,以供分析使用。
(3)各设备数据收发仿真器。各设备数据收发仿真器根据测试过程控制管理器发送的脚本和线路数据,执行相应的脚本,并将从被测列控中心收集的数据实时传送给运行记录数据库。
各设备数据收发仿真器是测试脚本执行的关键部分,由于该部分各模块间传输数据非常频繁,并且各设备仿真器可能位于不同的机器中,因此提高该部分使用的灵活性和数据传输的安全性是需要重点考虑的。为此,可以考虑采用分布式仿真技术。
各设备数据仿真器模拟实际客运专线列控中心所需的各种外部设备环境,包括相邻TCC模块、临时限速仿真器、联锁数据仿真器和地面有源应答器仿真器等,这些设备根据读取的线路数据及测试脚本,实时判断是否满足发送相关脚本数据的条件,如果满足,则将相应模块的数据通过接口适配单元发送给列控中心;如果不满足,则继续进行判断。同时,这些仿真模块实时收集列控中心发送的各种信息,用于测试运行完成后的数据分析。
3.3 接口适配单元
接口适配单元是测试平台与被测列控中心间的接口适配部分,由于列控中心与外部设备间采用以太网、CAN总线或RS422串口等进行通信,因此需要适配单元提供与被测列控中心之间的接口,完成与被测列控中心之间的信息传输。从而达到对真实列控中心测试的目的。
3.4 测试分析部分
测试分析部分完成对收集数据的分析工作,从而发现客运专线列控中心存在的问题。
4 列控中心测试平台的构建流程
DCOM是Component Object Model(COM)的扩展,它支持不同机器上组件间的通信,而且无论是运行在局域网、广域网,还是Internet上,借助DCOM开发的应用程序能任意进行空间分布,适用于Windows开发平台。为了使客运专线列控中心测试平台中各仿真器间能够相互通信,必须依据其功能将各仿真器设定为服务器和客户端。因此,基于DCOM开发仿真测试平台的整体流程如下。
(1)确定列控中心测试平台各模块的数据流。依据各模块的数据流动方向,为各模块的功能角色定位提供前提条件。列控中心测试平台各模块间的关系及数据流如图3所示。
(2)确定列控中心测试平台各模块角色的分类原则。分类原则是将为其他模块提供信息或起到管理信息作用的模块作为服务器;主要作用是实现信息处理的模块作为客户端。依据图3对各模块的详细分析和确定的角色分类原则,可将列控中心测试平台各模块的角色分类为:①测试过程控制管理器和测试数据收集器作为服务器模块;②相邻TCC仿真器、临时限速仿真器、联锁信息仿真器和CTC仿真器等仿真模块作为客户端模块。
(3)确定基于DCOM的软件开发步骤。对列控中心测试平台中各仿真器的角色功能定位后,基于DCOM的测试平台框架的开发过程[5]如下。
服务器:建立Automation Object程序→定义方法或属性→注册Automation对象。
客户端:配置客户端程序计算机→在客户端程序中运行DCOMCnfg.exe→调用CoCreateInstanceEx方法,设置服务器信息→使用服务器相关方法或属性。
图3 客运专线列控中心测试平台数据流
DCOM机制的应用使不同计算器上运行的应用程序可以共享方法和属性。因此,在开发程序时,本地程序可以将远程程序提供的某些变量值当做本地值进行使用,无需关心和考虑该变量如何进行传输和传输的安全性等问题。现以测试过程控制管理器和相邻TCC仿真器之间的交互为例,简要说明其交互过程。
测试过程控制管理器和相邻TCC仿真器运行在不同计算器中(也可运行在同一台计算机中),并且运行在同一局域网上,在两个程序之间使用的是DCOM接口,其结构如图4所示。
图4 过程控制管理器与相邻 TCC 仿真器交互示意图
运行过程会根据不同的阶段执行不同的任务。例如,测试任务结束时,作为服务器的测试过程控制管理器下达“结束”命令给相邻TCC仿真器及其他各仿真器模块,测试过程控制管理器中只需将属性Session.Command的值修改为“结束”,无需进行数据传送命令,作为客户端的相邻TCC仿真器通过读取Session.Command属性值,得到测试过程控制管理器修改的值,属性也同时可以进行修改,其操作和本地变量的操作类似。这种方式发送和读取远程数据非常简单和灵活,提高了开发效率。
5 结束语
基于对客运专线列控中心组成、外部接口和核心功能的分析,采用DCOM技术实现列控中心测试平台的框架构建,使列控中心测试平台的构建及各部分的功能更加清晰,从而对列控中心测试平台的设计与实现提供有益的借鉴作用。
[1]铁道部. CTCS-3级列控系统总体技术方案(V1.0)(科技运[2008]34号)[Z]. 北京:铁道部,2008.
[2]铁道部. 列控中心技术规范(V1.0)(科技运[2010]138号)[Z]. 北京:铁道部,2010.
[3]库劳里斯,著. 金蓓弘,译. 分布式系统概念与设计:第4版[M]. 北京:机械工业出版社,2008.
[4]孙荣胜,徐天鹏. Web服务与CORBA、DCOM三种分布式计算模型的互操作性[J]. 江南大学学报:自然科学版,2003,2 (1):29-31.
[5]Charlie Calvert,著. 徐 科,冯 焱,吕志民,等译.C++ Builder应用开发大全[M]. 北京:清华大学出版社,1999.