陈 波,袁文强,黄 金
(1中国铁道科学研究院集团有限公司 机车车辆研究所,北京 100081;2动车组和机车牵引与控制国家重点实验室,北京 100081;3杭州电子科技大学 计算机学院,杭州 310018)
近年来,随着速度350 km/h的“复兴号”中国标准动车组正式投入运营,中国高铁移动装备步入正向设计阶段,因需开发出全套高速动车组工作逻辑。作为中国高铁装备产业集中进行高速动车组正向设计的最新成果,CR400AF和CR400BF这2个型号的中国标准动车组实现了机械接口的物理互联、电气接口的数据互联、软件接口的逻辑互联和操作界面的互通、主要硬件的互换,确立了不同于“欧标”和“日标”的中国标准体系[1]。
为了进一步加强动车组正向设计能力,尤其是面向全生命周期的动车组正向设计,国内外开展了不同程度的基于模型的系统工程(Model-Based System Engineering,MBSE)应 用 探 索[2-4]。在系统的概念设计与方案阶段,以标准系统建模语言(SysML)构建动车组系统模型,遵循统一表达规范,解决自然语言对于动车组复杂场景表征能力弱的问题,在一定程度上实现早期的系统仿真验证。
文中以动车组换端场景为对象,采用Cameo System Modeler软件,基于SysML构建了动车组换端仿真模型。探索了动车组整车逻辑设计采用MBSE的方法论,遵从自上而下、从里到外、由宏观到微观的原则。
MBSE是一种应用建模方法的正式方式,用于支持系统需求、设计、分析、检验与确认活动,这些活动从概念设计阶段开始,贯穿整个开发过程及后续的生命周期阶段。MBSE是系统工程领域发展的一种基于模型表达和驱动的方法,它可以看成是模型驱动原则、方法、工具、语言的指导规范,是对学科交叉和规模化的复杂系统的实施[5]。
为支持MBSE的实施,在统一建模语言(Unified Modeling Language,UML)的基础上提出了SysML,支持对复杂系统的需求、行为、参数与结构等进行基于图的无二义性说明、分析、设计。旨在从一开始,在产品的相关人员间建立统一的交流平台[5-6]。SysML定义了9种图,如图1所示。
图1 SysML的9种 图
北京交通大学何丽芸利用SysML针对铁路信号系统CTCS-3列控系统需求规范进行建模和形式化验证的研究[7]。北京交通大学黄静将基于SysML活动图的建模方法应用在铁路列控系统中,使用活动图来形象地展示虚拟轨道区段占用检测和列车行车区段管理方式[8]。
浙江大学袁文强等针对动车组高压系统方案设计,提出基于SysML模型的动车组功能自动生成高压系统方案。将动车组设计知识通过SysML表达形成动车组高压系统功能库和组件库,定义一套符合业务知识的推理规则,针对特定的功能快速推出设计方案,提升产品设计效率[9]。
以某型动车组换端逻辑为例,其换端中换端条件检查包括:
(1)列车静止;
(2)总风管压力大于700 kPa;
(3)牵引/制动手柄处于“0”位;
(4)停放制动施加;
(5)高压正常工作(主断闭合,网压正常);
(6)中压供电正常(单编组内辅助变流器启动3个以上);
(7)方向开关处于“0”位。
具体的换端操作顺序如下:
(1)施加停放制动;
(2)司机手柄打到“0”位;
(3)将 方 向 开 关 从“前”位 或“后”位 打到“0”位;
(4)拔出司机钥匙,换端模式激活;
(5)在另一头车插入司机钥匙并旋转,换端模式结束。
换端模式退出条件包括:
(1)换端条件不满足,自动退出换端模式,并且主断断开,受电弓降下;
(2)通过换端操作顺序退出。
动车组换端场景复杂,SysML提供了一种可视化的动车组换端场景表达方式,可将其每个逻辑过程刻画清晰,并且具有逻辑严谨、语言精练、无歧义等优点。
此外,Cameo System Modeler软件还支持基于模型的动车组换端场景逻辑仿真过程。通过动车组列车级换端仿真,清晰地展示行为的细节过程,设计师能够清楚地看到里面的每一个动作,物质的流动、动作的跳转、信号的传递、部件之间的交互等一系列详细信息,极大地辅助换端场景设计过程。
文中提出的动车组换端模型构建方法如图2所示,分为3个步骤:
图2 基于SysML的动车组换端场景逻辑仿真技术流程
(1)动车组结构建模:系统组成建模、内部交互建模、参数分析计算;
(2)动车组换端时序建模:定义相关信号模型、捕获动车组主行为、动车组换端状态细化、换端场景设计过程参数变更;
(3)构建换端验证配置:可视化动车组换端状态、模拟动车组操控界面、实例化动车组、动车组换端时序仿真配置。
各个步骤间存在依赖关系,如2.4参数变更中需要执行在1.3步骤中定义的分析模型,第3步构建换端验证配置中需要以第1步中定义的模型作为基石,图中也显示了每个步骤中用到的SysML元素。
采用SysML状态机图捕获动车组换端场景的主行为如图3所示,其可以理解为顶层行为。包括4个状态行为:Idling、司控室1为激活状态、司控室2为激活状态和换端中。为了充分合理描述换端操作场景,特意采用了一个换端中状态,用于承载动车组换端中的详细行为。
图3 动车组换端场景主行为
针对每个状态,分别定义了每个状态下所执行的活动。Idling状态下包含一个活动resetToIDLE,表明在该状态下需要执行重置操作。换端中状态下定义了其entry和do 2个字段,表明在执行换端操作前需要优先执行换端条件检查操作,在执行了entry操作后,再执行换端操作活动。
在采用SysML模块定义图捕获了系统结构和信号、以及采用状态机图捕获了系统主行为后,需要对其每个状态下的具体动作进行捕获。采用SysML活动图描述了重置为IDLE逻辑过程如图4所示。整体过程为:第一,检查列车哪端处于激活状态;第二,假设当前司控室1为激活状态,则将其isActive和isKeyInserted系统属性设置为false。
图4 重置为IDLE逻辑过程
换端条件检查逻辑过程如图5所示,采用活动图捕获了换端前所有的检查步骤,分别用一个Call Behavior Action表征。每个检查步骤都是一个完整封装好了的Activity,采用这样的模式,能够实现逻辑的封装、活动模型的重用且模型可读性强。检查动作模型包括:检查动车组是否静止;检查总风管压力是否大于7 bar;检查牵引手柄是否处于“0”位;检查制动手柄是否处于“0”位;判断停放制动是否施加;检查主断是否闭合;检查网压是否正常;检查中压供电是否正常;检查方向开关是否处于“0”位。在完成一系列检查动作后,判断can-ChangeDriverRoom变量,如果其值为true,表明可以换端,否则,不满足换端条件,降弓同时断开主断。
图5 换端条件检查逻辑过程
检查动车组是否处于静止状态的逻辑过程如图6所示。读取动车组当前速度,判断是否为0,如果不是,则打印相应信息,并将canChangeDriver-Room变量设置为false。
图6 检查动车组是否静止逻辑过程
执行换端操作逻辑过程如图7所示。其详细过程为首先判断当前哪个司控台处于激活状态,假设司控台1处于激活状态,则将司控台1的属性变量isActive和isKeyInserted重置为false,同时将司控台2的属性变量isActive和isKeyInserted的值设置为true。将stateOfDriverRoom的值设置为Driver room 2 is active。最后,打印信息,并且执行发送信号动作—可以换端到司控台2信号。
图7 执行换端操作逻辑过程
基于模型的交互界面如图8所示,包括显示当前动车组速度、动车组当前状态,分别和系统模型中的velocity和stateOfDriverRoom绑定。同时,构造了4个 按 钮:Change to room 1 from IDLE、Change to room 2 from IDLE、Reset to IDLE、Change driver room,分别和4个同名信号绑定。当点击该按钮时,分别给系统模型发送相应信号。
图8 用户操作UI界面
在换端场景系统模型构造完成之后,开始对其进行仿真运行。启动后的初始状态如图9所示,在仿真开始时会对系统进行初始化,每个关联实例模型都会执行其主行为模型,每个实例的主行为模型是对应的状态机图,如动车组实例会停留在起始状态,等待触发信号。EMU界面会被启动,并显示当前速度为0,2个司控室都是非激活状态。2个司控室操控界面会被启动,并且牵引手柄、制动手柄和方向开关都处于ZERO位置。状态图标显示为IDLE。在右下角变量区域,系统变量stateOfDriverRoom当前值显示2个司控台都是非激活状态,与从其他角度看系统状态一致。
图9 换端场景系统模型仿真初始状态
在系统跃迁到Idling时,会执行resetToIDLE活动,如图10所示,首先读取司控台1的isActive变量,判断其是否为激活状态,然后判断司控台2是否为激活状态。由于是直接从最开始到IDLE,所以2个司控台的isActive值均为false。
图10 Idling状态下执行resetToIDLE检查2个司控台都为非激活状态
在执行完点击Change to room 1 from IDLE命令后,系统各状态如图11所示。交互界面显示司控室1为激活状态;在状态机图中系统当前状态为司控室1为激活,图标显示司控室1为激活;并在控制台打印了当前司控室1为激活状态,它们的结果保持一致。
图11 执行完change to room 1命令后系统状态
在EMU界面上点击change driver room按钮,触发换端操作信号,系统进入到换端中状态,并执行换端条件检查逻辑过程,如图12所示。
图12 点击change driver room按钮后执行逻辑
在判断满足换端条件后,系统开始执行换端操作。如图13所示,当前为从司控室2换端到司控室1,需要将司控室2的isActive和isKeyInserted变量设置为false,同时将司控室1的这2个变量设置为true。
图13 执行换端操作逻辑仿真过程(从司控室2换端到司控室1)
成功换端到司控室1后,系统情况如图14所示,收到可以换端到司控室1信号后,系统跃迁到司控室1为激活状态,同时,图标显示司控室1已激活,并在控制台打印相关信息。
图14 从司控室2成功换端到司控室1逻辑仿真过程
文中针对动车组换端场景,基于SysML构建了系统模型,利用SysML的块定义图、内部块图等结构图描述动车组换端场景相关结构组成,利用状态机图、活动图等行为图描述换端场景的复杂逻辑过程,定制了系统仿真UI界面,开展了系统仿真验证。结果表明,所构建的SysML系统模型能够准确表达动车组换端场景的设计意图,值得在未来动车组设计中推广使用。