基于SCADE的列控系统车载ATP软件建模研究
2019-03-13王锡奎田建兆王若昆
王锡奎 田建兆 王若昆 张 菊
(南京铁道职业技术学院, 南京 210031)
列控系统是保证行车安全、提高区间和车站通过能力的手动控制、自动控制及远程控制技术设备的总称,其主要实现进路控制、间隔控制、安全防护、速度控制等功能。列控系统车载ATP是一个复杂的安全苛求系统,系统硬件和软件均需要满足安全完整性4级(SIL4)的标准。列控系统软件具有逻辑复杂、执行路径分支多等特点,设计难度很大。目前,在列控系统的设计开发中面临诸多挑战[1],如控制软件的复杂度、避免多重描述、避免规范歧义性、尽早发现设计错误、尽可能避免人工编码引入的错误等。文献[2-3]应用统一建模语言(UML)对列控系统进行建模。UML存在语意不明确,且其常用建模工具只能从模型生成程序框架等不足[4]。因此,UML无法广泛应用于列控系统的建模与开发。本文在研究现有列控系统车载ATP子系统的功能、结构以及工作原理的基础上,利用基于形式化语言LUSTRE的SCADE构建车载ATP软件模型,并对所建模型进行了仿真验证。
1 车载ATP软件功能分析
列控系统是用于控制列车运行,实现列车安全、高效运行的控制系统,是铁路信号系统的重要组成部分之一。列控系统由轨旁子系统和车载ATP子系统两部分构成,二者之间可实现双向信息交互。其中,轨旁子系统主要负责管理其管辖范围内的列车,并为每辆列车提供MA;车载ATP子系统负责接收MA,通过解析MA得出线路中的障碍物状态信息,并结合其他相关数据计算列车速度防护曲线,监控列车运行速度,保证列车运行安全。高速铁路现有典型列控系统的车载ATP子系统结构如图1所示。
图1 高速铁路典型列控系统的车载ATP子系统结构
由图1可知,车载ATP子系统中由车载安全计算机、测速测距单元、无线通信模块、应答器信息接收模块、轨道电路信息接收模块、司法/数据记录单元、人机交互接口、列车接口单元等构成。车载ATP子系统各模块的功能如下。
(1)车载安全计算机
车载ATP子系统的核心处理单元,根据轨旁子系统传输的MA及线路数据,生成目标-距离速度防护曲线,并以该曲线监控列车的运行,一旦列车速度超过速度防护曲线,通过继电接口对列车的制动系统发出制动控制命令,保证列车运行安全。
(2)测速测距单元
通过采集各速度传感器的信号并进行安全处理,计算列车的速度、走行距离,以及识别列车运行方向,计算结束后传送给车载安全计算机。
(3)应答器信息接收模块
接收轨旁应答器信号,并在解调后传送给车载安全计算机。
(4)无线通信模块
实现车载ATP子系统和轨旁子系统的双向信息传输,车载ATP子系统通过无线通信模块接收轨旁子系统发送的MA、线路参数等信息,并向轨旁子系统发送列车运行状态信息。
(5)轨道电路信息接收模块
接收轨道电路信息,并在解调后传输给车载安全计算机。
(6)人机交互接口
显示列车运行状态信息,并接收司机的操作和输入。
(7)列车接口单元
完成车载ATP子系统和列车之间开关量的传输。
(8)司法/数据记录单元
用于记录列控车载ATP子系统的数据和控制信息,记录的数据将在系统故障时起维护作用。
列控系统通过固定闭塞和移动闭塞实现列车运行间隔的控制。目前,在国内高速铁路中,典型列控系统采用的控制方式为固定闭塞,且通过目标-距离控制实现列车的速度防护,如图2所示。
图2 基于固定闭塞的目标-距离控制示意图
2 SACDE建模环境
车载ATP子系统的功能模型利用安全苛求应用开发环境SCADE(Safety Critical Application Development Environment)来设计。SCADE是一个由法国爱斯特尔公司开发的高安全性的软件开发平台。SCADE以“基于模型”的开发方式取代传统的“基于代码”的开发方式,覆盖了诸多安全关键软件标准所要求的开发流程[5-6]。
SCADE的Y型开发流程如图3所示。可为上下两部分,上半部分是开发中的主要工作,其核心工作是详细设计,概要设计和详细设计是SCADE模型设计的主要过程;下半部分是编码和单元测试。由图3可知,Y开发模式中的下半部分为SCADE自动完成,软件开发人员只需关注上半部分,且以详细设计为中心工作,利用图形化的方式实现软件设计。集成测试和系统测试通过基于软件结构的覆盖率分析和形式化验证完成。
图3 SCADE开发流程
SCADE的理论基础是LUSTRE语言。LUSTRE 语言是一种同步程序设计语言,适用于反应系统的编程。用来描述模型的图形符号需要转换成LUSTRE 语言,然后在此基础上进行静态检查、模拟仿真、形式验证、覆盖率分析、代码自动生成等工作,或者也可以直接采用LUSTRE 语法的文本方式来搭建软件模[7]。LUSTRE可较好刻画系统的动态行为,在许多安全关键系统中已得到成功的应用。它能有效地控制和使用各种系统资源、确定任务的运行时限、描述系统的并行行为[8-9]。
图4 超速防护模块结构
3 车载ATP软件SCADE模型
列车超速防护功能模块内部结构如图4所示。在追踪过程中要根据列车状态信息、目标距离及司机输入等数据实时计算速度防护曲线,并通过比较列车速度与限速值给出列车制动命令。
在超速防护模块中,包含速度监控曲线的计算功能和制动输出功能两部分。其中,速度防护曲线计算中有紧急制动EB(Emergency Braking)速度计算、紧急制动触发EBI(Emergency Braking Intervention speed)速度计算、常用制动触发SBI(Service Braking Intervention speed)速度计算、报警W(Warning speed)速度计算、允许P(Permitted speed)速度计算。
利用SCADE构建的速度监控曲线计算模型如图5所示,模型输入输出如表1所示。
图5 速度监控曲线计算模型
输入含义输出含义mode车载ATP模式EBI紧急制动触发曲线trainDef列车性能参数SBI常用制动触发曲线spdLim限制速度W报警速度曲线disToEOA列车前端至EOA的距离P允许速度曲线spdPosInfo列车速度位置信息
4 仿真分析
假设列车运行的实际线路如图6所示,该线路为某两站间区间的一部分,图中所示线路中的闭塞分区长度均为2 km,均为长直线路,无坡道、弯道等。线路限速为350 km/h。列车当前的MA终点为X2信号机。
图6 列车运行线路
在仿真开始之前还需要设置相关参数。
(1)根据CRH3型动车组技术参数设置列车模型中的制动减速度和最高运营速度。根据文章[10]可知,当列车运行速度在区间[0,200](km/h)时,取紧急制动减速度为1.22 m/s2,取最大常用制动减速度为0.74 m/s2;当列车运行速度在区间[200,350](km/h)时,取紧急制动减速度为1.07 m/s2,取最大常用制动减速度为0.68 m/s2。列车最高运营速度为 380 km/h。
(2)计算速度防护曲线所需的参数为紧急制动建立时间为3.5 s,常用制动建立时间为2.3 s,系统响应及牵引切除时间为1.2 s。
(3)列车初始运行速度为0 km/h。
这里通过SCADE Gateway将列车模型转换为对应的SCADE模型,然后将该模型与列车模型结合起来进行仿真,模型如图7所示。模型的输入、输出参数如表2所示。
图7 仿真模型
根据图7和初始条件设置在SCADE Simulator中创建仿真场景,场景中输入参数的取值如表3所示。在观察窗口中显示的参数分别为EBISpd、SBISpd、P、spdPosInfo,图形窗口显示这些参数变化形成的曲线。
表2 仿真模型输入和输出
表3 仿真场景输入参数取值
点击SCADE Simulator中的“Go”按钮,运行该仿真场景,仿真时间为258 s,运行结果如图8所示。SCADE Simulator还会对仿真场景的输入参数及仿真过程中产生的输出以*.out(由SCADE Suite打开)或者*.csv(由工作表应用程序打开)的格式进行存储。这里选择保存在simuData.csv文件中,用Excel将该文件转换为simuData_Format.xlsx并载入Matlab中,最后用绘图工具进行绘制。车载ATP子系统模型根据线路数据和MA计算出的速度防护曲线及列车实际运行速度曲线如图9所示,列车运行轨迹如图10所示。
图8 仿真结果
图9 速度防护曲线及列车运行速度曲线
图10 列车运行轨迹
由图8可知,在该仿真场景中,车载ATP子系统触发了紧急制动,列车停车时紧急制动触发速度、常用制动触发速度和允许速度分别为39.581 km/h、29.692 km/h和24.692 km/h,列车走行距离为 9 791.4 m。由图9可知列车实际运行速度在仿真过程中的变化情况,列车速度在TSM区超过了紧急制动触发速度,在车载ATP子系统超速防护功能的作用下,列车紧急制动减速,最终停车。由图10可知列车的运行轨迹,列车的走行距离未超过10 km,这表明所设计的车载ATP子系统模型能够保证列车在MA终点之前停车。
通过上述分析可知,面向特征的车载ATP子系统建模方法能保证列车运行安全,满足系统在功能方面的要求。
5 结论
本文研究了现有列控系统车载ATP子系统的功能、结构以及工作原理,并提出了一种车载ATP子系统的建模方法。利用SCADE对新型车载ATP子系统模型进行详细设计,包括主动防护模块、超速防护模块和测速定位模块,实现了列车运行安全主动防护的功能需求。利用SCADE Simulator对已建立的车载ATP子系统模型进行仿真分析。分析结果表明,基于SCADE的建模方法能有效实现车载ATP子系统的超速防护功能,并很好地保证了模型的完整性和安全性。