APP下载

列车运行控制系统仿真测试自动化方法研究

2022-06-07张军政伍田昊睿卢佩玲杨志杰

铁道标准设计 2022年6期
关键词:自动测试控系统自动

郝 建,张 浩,张军政,伍田昊睿,卢佩玲,杨志杰

(1.中国铁道科学研究院研究生部,北京 100081; 2.中国铁道科学研究院集团有限公司通信信号研究所,北京 100081)

列车运行控制系统(简称为列控系统)是列车安全、高速行驶的重要技术支撑,也是衡量国家铁路发展水平的重要标志[1]。截至2020年底,中国高铁运营里程增至3.79万km,高速铁路安全运营的背后离不开列控系统强有力的保障。作为一种对安全性与可靠性要求极高的控制系统[2],列控系统若存在功能设计缺陷,将会引发重大事故,导致严重的生命、财产损失。因此,在线路正式投入运营前,必须对列控系统进行全面测试,充分验证其各项功能是否满足相应的需求规范,及时发现并解决可能存在的问题[3]。

近年来,列控系统测试技术也随着列控系统的发展不断完善,建立了从子系统静态测试、实验室仿真测试、现场动态验证测试、联调联试到试运行的完整测试、验证流程。测试场景不断丰富,提高了测试的全面性和测试结果的可信度[4]。

实验室仿真测试是将现场动态验证测试的大部分工作在实验室中利用仿真测试平台实施和完成,缩减现场动态测试工作量,降低对线路运输的影响,同时提高测试场景覆盖度,保证测试质量。既有实验室仿真测试平台主要由线路仿真子系统、数据配置子系统、被测设备、接口适配子系统及仿真设备子系统等组成。测试前,根据设计院提供的线路设计图纸与列控数据人工配置线路仿真子系统,实现对真实线路环境的高度模拟;根据站场图形等实际情况与待测设备的特殊设计逻辑编写测试案例。测试时,由测试人员执行各项测试操作,观察被测设备终端显示,结合设计数据与技术规范判定测试结果,及时发现问题并反馈给设计单位。测试通过后,编写仿真测试报告,经专家审查合格后,将设备软件发布现场应用[5]。

既有实验室仿真测试平台不具备自动测试能力。随着测试线路的增加,测试场景逐渐丰富,测试案例数量随之增多,测试过程自动化成为现阶段的迫切需求。因此,非常有必要研究列控系统仿真测试的自动化,以期节省测试时间、减少人力投入。

1 自动化仿真测试平台架构设计

为解决目前仿真测试过程效率低下、对人工因素依赖性高的问题,满足逐年增长的列控系统测试需求,将实验室环境中的既有仿真测试平台架构进行优化、升级,根据功能需求将其设计为五层:平台支撑层、真实设备层、接口适配层、仿真测试层、测试控制层,其层次结构如图1所示。

图1 自动化仿真测试平台结构

1.1 平台支撑层

平台支撑层即仿真测试支撑系统,为仿真测试平台的可靠运行提供底层支持。主要包括虚拟化云平台、物理工控机、局域网、GSM-R通信网、桌面管理系统。

仿真测试支撑系统的关键在于虚拟化云平台。由于列控系统涉及子系统众多,在搭建仿真测试平台时,通常需要布置大量物理PC机或工控机用于运行各类仿真设备、数据库、测试驱动管理工具以及数据配置工具,增加了测试环境的硬件复杂程度。复杂的硬件组成导致网络结构复杂,在搭建测试环境时,需要相当一部分时间用于网络环境的调试,降低了环境部署效率。

为简化测试环境的硬件及网络结构、提高系统可用性与扩展性,引入虚拟化技术整合环境中各类物理资源,转移至虚拟化云平台中实现。虚拟化云平台由多台物理服务器构成,利用虚拟化技术将物理服务器划分为相互独立的多台虚拟计算机,在虚拟机中运行各类仿真设备、数据库及测试工具,虚拟机之间通过服务器内部虚拟网络进行通信。虚拟化云平台可以保证仿真测试系统的高可用性,当一台服务器出现故障时,其上的虚拟机可在线迁移至集群内的其他物理主机中重新运行,保障测试任务的连续性[6]。

仿真测试平台采用半实物半仿真的架构设计,将列控实物设备接入虚拟化云平台中时,可通过虚拟局域网与特定物理交换机端口的映射,将云平台内部虚拟机接入外部物理网络,实现云平台内部应用程序与外部真实设备的数据交互。

在云平台的基础上,可根据测试线路的需求编写执行脚本,自动完成虚拟机创建、网卡配置、VLAN划分、IP配置、用户分配及桌面池添加等操作,实现仿真测试环境的自动部署。

桌面管理系统对各虚拟机、物理工控机的桌面及列控设备的终端操作界面等进行统一管理。用户通过特定客户端可登入管理系统中的任一桌面,并对该虚拟机/工控机的操作系统进行各项操作。与现有测试环境相比,应用桌面管理系统可以简化操作端的硬件结构,提高操作灵活度。

1.2 真实设备层

真实设备层是列控系统实物设备的集合,包括测试环境中所需的真实设备,使实验室仿真测试环境的布置与现场尽量保持一致。真实设备层主要包括无线闭塞中心(RBC)、列控中心(TCC)、计算机联锁(CBI)、临时限速服务器(TSRS)、调度集中(CTC)、车载ATP等设备[7]。

RBC根据闭塞信息、进路状态及列车位置报告为其管辖范围内的列车生成行车许可,通过GSM-R无线传输网络将通信管理、行车命令、线路数据、模式转换等信息发送给列车。TCC根据轨道区段占用状态、进路状态、临时限速信息等,产生列车移动授权,通过轨道电路与有源应答器发送给车载ATP,保障列车在站间的安全运行。CBI完成车站进路的办理、解锁,控制信号机的开放与关闭;向RBC、TCC提供进路相关信息。TSRS集中管理限速,接收CTC下发的限速命令并拆分给限速相关TCC、RBC等设备执行。将真实车载ATP接入仿真测试平台,通过车载接口适配设备实现车地联动控制[5]。

1.3 接口适配层

接口适配层包括车载接口仿真系统与地面设备接口适配系统,通过专用硬件将真实列控设备接入仿真测试环境中,采用模块化设计,可接入不同型号列控设备。车载接口仿真系统主要包括ATP接口适配、模拟驾驶台、DMI自动操控、JRU数据分析;地面设备接口适配系统主要包括CBI接口适配、TCC接口适配。

1.4 仿真测试层

仿真测试层由线路仿真系统和接口仿真软件组成,为测试执行提供仿真环境。

线路仿真系统模拟轨道电路、道岔、信号机、应答器等现场室外设备的逻辑关系,提供与TCC/CBI设备的接口,主要功能包括:

(1)接收TCC发送的有源应答器报文、轨道电路码序和闭塞方向等信息;

(2)接收CBI发送的道岔、信号机状态和进路状态等信息;

(3)提供与车载ATP适配设备的接口,向车载ATP设备转发轨道电路低频、载频和应答器报文,同时根据列车位置实现轨道电路占用出清控制并将占用状态发送给TCC/CBI,实现车地联动控制;

(4)为测试人员提供直观的显示操作界面,在界面上可进行轨道区段占用或应答器报文修改等故障插入操作;

(5)提供与自动测试子系统接口,接收自动测试子系统分发的测试任务,并反馈执行结果。

1.5 测试控制层

测试控制层是实现仿真测试高效性、保证测试结论准确度的关键,由自动测试子系统、数据配置系统、测试案例管理系统三部分组成。

自动测试子系统主要负责实现测试过程的自动化与测试结果的自动分析,将测试案例转化为测试任务,下发给各子模块执行,并将执行结果回填后台数据库;根据测试数据与期望测试结果进行比较,得出分析结论反馈给测试案例管理系统。

数据配置系统为各仿真设备及接口适配设备提供配置数据。数据配置系统的输入数据包括线路列控数据、设备接口数据、网络配置数据与车站平面图等。

测试案例管理系统负责测试案例数据库导入导出、测试案例查看、测试进度控制及测试报告生成等功能。

2 自动化测试关键技术研究

仿真测试平台在具备人工测试功能的基础上,增加自动测试功能,主要包括基于测试脚本自动执行测试案例、自动驾驶列车、测试结果自动记录与综合显示、测试过程回放与分析以及测试结果的自动判定等功能,如图2所示。

图2 自动化仿真测试平台的主要功能

在列控系统中,RBC、TCC与计算机联锁系统均有接口数据交互,其子系统测试中的诸多项目与联锁进路操作息息相关;在C2/C3列控系统仿真集成测试中,联锁进路决定了列车的运行路径。同时,RBC子系统测试及仿真集成测试需要真实车载ATP配合,必然涉及DMI的操作控制。因此,联锁进路自动排列与取消、DMI自动操控是实现测试案例自动执行的基础,本文将对该部分关键技术进行重点研究。

2.1 基于Robot Framework的测试案例自动执行

Robot Framework是基于python语言编写的自动化测试框架,支持关键字驱动,可分布式地执行测试并具有良好的扩展性。该框架拥有丰富的生态系统,包括多种案例库管理与测试报告生成工具[8-9],其基本结构如图3所示。

图3 Robot Framework基本结构

在以关键字驱动的自动化测试中,测试案例对应的脚本由一个个关键字构成。关键字即对测试操作的抽象与封装,其执行顺序代表着系统的业务逻辑[10]。在关键字驱动模式下,测试数据存储于数据文件中,与关键字相独立,可通过调用不同关键字的组合实现测试案例的自动执行,提高脚本的复用度[11-12]。因此,设计将测试案例中的进路相关操作封装于关键字中,将进路的始端与终端信号按钮写入数据文件。执行测试案例时,Robot Framework根据测试案例中的测试步骤,加载相应的数据文件并调用关键字对应的底层代码,完成对联锁进路的操作,并将执行结果返回Robot Framework。

列控系统仿真测试中涉及到联锁进路操作的测试场景较多,对TCC的测试是众多测试场景中具有代表性的一类。TCC是确保列车安全运行的核心设备之一,主要负责轨道电路编码、有源应答器报文选择及与其它系统进行功能交互。TCC自动化测试主要是对轨道电路码序与有源应答器报文的测试,TCC与其它系统的交互直接或间接影响轨道电路码序的排列与有源应答器报文的选择[13-15]。

由于轨道电路码序与有源应答器报文与联锁进路关联紧密,对其进行测试时涉及到联锁进路的遍历,因此实现联锁进路的自动操作是完成TCC自动测试的关键。本文在现有TCC仿真测试的基础上,采用Robot Framework自动测试框架,以测试案例关键字驱动测试自动执行。设计应用于TCC自动化测试的总体架构,如图4所示。

图4 TCC自动测试总体架构

TCC自动测试总体架构包括自动测试系统与仿真测试系统两部分。对于自动测试系统,主要分为测试案列自动生成工具、测试案例管理系统、自动测试框架(Robot Framework)及测试报告生成4个部分,具体功能如下。

(1)测试案例自动生成工具:根据被测车站的工程数据与测试需求,自动生成车站的测试案例及对应的测试脚本。

(2)测试案例管理系统:针对不同线路、不同车站的测试案例进行统一管理,可根据实际情况对测试脚本灵活编辑与执行。

(3)自动测试框架(Robot Framework):完成针对不同测试案例对应脚本的指令解析,根据脚本信息向仿真测试系统派发相应指令,并实时获取列控中心的状态信息。

(4)测试报告生成:根据执行命令返回的结果与预期结果进行比较,自动生成简单易读且符合工程要求的测试报告,便于核对、归档。

2.2 DMI自动操控方法

在列控系统仿真测试中,通常以真实车载ATP设备的状态变化与动作响应作为部分测试结果的评判依据。每完成一条测试案例即需要操作人机界面(DMI)以完成ATP的数据重置,DMI操作步骤多且流程较为固定。因此,完成DMI的自动操控是实现测试自动执行的前提。

DMI自动操控的关键在于按键自动操作及图像识别两部分。现有研究方法中,DMI按键操作主要基于机械装置按压DMI按键;DMI图像识别多利用录像设备获取DMI图像,通过各类识别算法对DMI图像中的符号与文字进行特征提取,根据识别到的操作提示转化为相应操作命令,驱动机械装置动作[16-19]。这类方法存在诸多缺点。

(1)基于机械手的DMI自动操作装置占用空间大,工作时与人工操作无法同时进行。

(2)机械装置按压角度、力度、速度、摩擦力等都需要精准调节,长时间使用后由于各类损耗需对机械装置进行校准,操作精度与可用性无法保证。

(3)利用录像设备采集到的视频图像由于拍摄角度、光线亮度、刷新率不一致造成屏闪等因素的影响,获取的原始图像存在一定的失真,导致最终识别结果准确率不高。

由于DMI是一台运行Linux操作系统的计算机,可应用VNC(Virtual Network Console)技术跨平台获取DMI的屏幕画面。VNC包括客户端与服务端,服务端利用RFB(Remote Frame Buffer)协议分享其所运行机器的屏幕到客户端,并在客户端进行观察控制。VNC技术获取到的DMI图像是对其原始屏幕画面的逐帧扫描,还原度高[20-21]。DMI按键输入可利用特定模块通过串口通信模拟按压指令,与人工操作互不干扰。由此,设计DMI自动操控系统如图5所示。

图5 DMI自动操控系统结构

DMI图像采集模块作为VNC客户端,由应用VNC服务端的DMI中获取原始视频图像,将其以统一接口发送至DMI图像识别模块。

DMI图像识别模块采用了卷积神经网络(Convolutional Neural Network, CNN)与循环神经网络(Recurrent Neural Network, RNN)的结合算法。首先根据DMI显示规范[22]对视频图像中的不同区域进行裁剪,划分为具有特定文本或图标信息的图片集;再利用CNN提取图片中的字符特征,并作为RNN的输入以获取字符间的语义信息;最后通过CTC(Connectionist Temporal Classification)算法将RNN的输出序列转录为最终字符识别结果[23]。

DMI自动操控模块获取自动执行框架Robot Framework发送的操作指令,操作指令类型包括启机SOM、任务结束、模式转换、等级转换等。

DMI自动操控模块根据操作指令,结合DMI图像识别结果,依据该型号DMI的按键逻辑,分解为相应的DMI按键指令,控制DMI按键操作模块根据按键指令模拟按压DMI按键,完成DMI的自动操控。

3 自动化测试方法验证

3.1 TCC自动测试验证

借助京张高铁东花园北站TCC仿真测试环境,验证本文提出的自动测试方法的可行性。东花园北站接车与发车进路共16条,对接、发车进路排列组合,可生成24条测试案例。在进行区间及站内码序测试时,由于占用区段及邻站状态的不同,每条案例又细分为若干测试场景,单靠人工测试很难快速完成。

因此,在仿真测试环境中部署自动测试框架Robot Framework,将进路信息数据、车站码序表等测试数据导入测试案例管理工具中,自动生成测试案例及案例脚本,测试案例管理工具界面如图6所示。

图6 测试案例管理工具界面

选择东花园北站S至SII至XN进路,以此案例下的区间及站内码序测试为例,得到应用Robot Framework后的自动化测试结果,如图7所示。

图7 S-SII-XN进路码序自动测试结果

S-SII-XN进路的码序测试结果中,绿色表明TCC发码与预期码序一致,红色表明不一致,并标注出实际值与预期值的对比,由测试人员进一步进行分析。

同时,测试案例管理工具生成该案例的测试报告,如图8所示。测试报告记录了本次自动执行案例的整体情况,包括场景执行的成功与失败次数以及执行完该案例的耗时。该进路的码序遍历测试仅在不到2 s内完成,扩展到全站时不超过1 min,用时远小于人工测试。

图8 TCC测试案例的自动测试报告

3.2 DMI自动操控方法验证

以CTCS3-300H型ATP的DMI为例,利用VNC技术获取其DMI图像,如图9所示。

图9 DMI原始图像获取

编写包含按键组合命令的脚本文件,用以执行CTCS-2/3级上行运行注册流程、CTCS-2/3级下行运行注册流程、RBC注册流程等。由DMI自动操控模块导入并运行脚本文件,实现ATP启机后的自动注册,完成仿真测试前的准备工作。

设计DMI事件管理器,用于DMI状态提示与DMI按键指令间的转化。DMI事件管理器实时接收采集模块输出的DMI画面信息,由图像识别模块提取其中的字符、图标等,判断出DMI当前所处状态,通知自动操控模块根据脚本定义输出相应按键指令。DMI事件管理器界面如图10所示。

图10 DMI事件管理器界面

执行一条C2下行正线运行的测试案例,通过CTCS3-300H型ATP的DMI验证自动操控方法的可行性。得到CTCS-2级下行运行ATP注册流程如图11所示。

图11 CTCS-2级下行运行ATP注册流程

执行一条C3下行正线运行的测试案例,在ATP进行C3注册过程中,同时需要完成RBC的注册流程。得到CTCS-3级下行运行ATP注册结果如图12所示。

图12 CTCS-3级下行运行注册完毕

4 结语

高速铁路新增运营里程逐年上升,给列控系统的仿真测试任务带来巨大挑战,提高测试过程自动化水平是现阶段当务之急。以提高列控系统仿真测试效率为研究背景,对现有的列控系统仿真测试平台进行了升级设计,增加了自动测试的相关模块;研究自动测试的关键技术,提出基于Robot Framework的测试案例自动执行方法,利用TCC码序测试完成对该方法正确性的验证;设计基于VNC技术与图像识别的DMI自动操控方法,通过执行C2/C3测试案例检验了该方法的可行性。结果表明,本文提出的测试自动化方法可以取代仿真测试中的部分人工操作,并对提高测试效率有一定贡献。

猜你喜欢

自动测试控系统自动
故障录波装置自动测试系统设计与实现
基于CANoe的商用车SAE J1939网络自动测试方法
直升机某型舵机自动测试系统设计分析
关于DALI灯控系统的问答精选
多型号车控系统统型设计实践
自动捕盗机
基于单片机的智能门控系统
数字电视播控系统关键技术探究
液晶显示器及其电源适配器能效自动测试系统的研制
让小鸭子自动转身