基于SysML 的动车组受电弓控制逻辑仿真研究*
2021-01-15王保民张世聪袁文强
王保民,陈 波,张世聪,袁文强
(1 中国铁道科学研究院研究生部,北京100081;2 中国铁道科学研究院集团有限公司机车车辆研究所,北京100081;3 杭州电子科技大学计算机学院,杭州310018)
基于模型的系统工程思想以模型为基础实现对产品的系统设计思路的巨大转变。它除了支持复杂产品的基于模型系统设计过程以外,还支持基于模型的复杂产品系统仿真过程[1]。通过仿真能够清晰地展示产品行为的细节过程,设计师能够清楚地看到里面的每一个动作,物质的流动、动作的跳转、信号的传递、部件之间的交互等一系列详细信息,极大地辅助设计师加快产品设计过程和提升产品的设计质量。
基于模型驱动的思想,采用系统建模语言(System Modeling Language,SysML)[2]开展动车组高压系统的受电弓控制逻辑仿真研究工作。
1 仿真建模语言和工具
SysML 是一种通用的针对复杂装备系统工程应用的建模语言,它可以支持包含硬件、软件、信息、制造等多领域系统的描述、设计、分析、验证等。SysML 并不是一种全新的建模语言[3],它是建立在统一建模语言(Unified Modeling Language,UML)基础之上的。Sys-ML 共包含9 种图:用例图、序列图、状态机图、包图、需求图、参数图、模块定义图、内部模块图、活动图。建模工具和以往的绘图工具不同,系统工程师使用建模工具创建的是模型,当改图中元素时,元素本身的底层模型实现改变,相同元素的图全部随之改变。目前支持Sys-ML 的建模工具主要有 Magic Draw、Rhapsody、Integrity Modeler 和 M − Design[4]。
2 模拟仿真构建过程
分析的仿真具体场景包括受电弓的升弓和降弓过程,主断路器的断开和闭合过程[5]。如图1~图4 所示,依次给出了它们的简化逻辑框图。
图1 升弓简化逻辑
图2 降弓简化逻辑
图3 主断路器闭合简化逻辑
图4 断开简化逻辑
图5 为面向本节仿真对象所构造的动车组结构分解模型。其包括控制部分列车控制管理系统TCMS(Train Control Management System,TCMS)、高压系统和司控台。
TCMS 有两个重要的属性:isPantographUP 和is-CircuitClosed,两者皆为Boolean 类型。其中,isPantographUP 是TCMS 用于记录受电弓的状态,如果其值为true 表示受电弓为升起状态,否则为降落状态。is-CircuitClosed 是TCMS 用于记录主断路器状态,如果其值为true 表示主断当前状态为闭合,否则为断开状态。
受电弓拨动开关和主断路器拨动开关位于司控台上,司机通过受电弓拨动开关和主断路器板拨动开关向TCMS 发送升弓、降弓、合主断和分主断等指令。受电弓拨动开关的值属性PantoKeySwitchState 是枚举类型,其和后续仿真UI 界面元素绑定,用于指示司机发出何种受电弓指令操作。仿真实例中,高压系统包括两个核心物理组件受电弓和主断路器。
为了实现高压系统受电弓系统仿真,在定义用到的各种组件基础上,需要梳理出组件之间交互的各种信号流,并基于模型的方式对信号建模。图6 所示为高压系统仿真用到的各种信号模型。具体可以分为4 大类。
受电弓拨动开关和主断路器拨动开关信号分别为:PantoKeySwitchState 和 MCBKeySwitchButtonState,均为枚举类型。PantoKeySwitchState 有3 个取值Raise/Lower/None,分别对应发送升起/降落受电弓指令及开关归零位置。MCBKeySwitchButtonState 有3 个取值Close/Open/None,分别对应发送闭合/断开主断路器指令以及开关归零位置。
受电弓相关的控制信号有4 个:RequestRaisePanto和RequestLowerPanto 用于模拟受电弓拨动开关向TCMS 发送的司机请求升弓或者降弓指令;PantographUP和PantographDOWN 用于模拟TCMS 经逻辑处理后向受电弓发送的受电弓升起或者降落指令。
图5 针对高压系统仿真的动车组结构分解图
图6 高压系统用到信号
主断路器相关的控制信号4 个:RequestOpenMCB和RequestCloseMCB 用于模拟主断路器拨动开关向TCMS 发送的司机请求断开或闭合主断指令;MCBClose 和MCBOpen 用于模拟TCMS 经逻辑处理后向主断路器发送的闭合或断开主断指令。Terminate 信号用于终止整个高压系统的仿真过程。
在定义了高压系统仿真组件及其相关信号后,把每个组件当做一个小黑盒,需要明确各个组件之间的信号流动。如图7 所示,受电弓拨动开关通过两个端口向TCMS 发送信号:发送请求升弓信号端口和发送请求降弓信号端口。主断路器拨动开关也通过两个端口向TCMS 发送信号:发送断开主断路器信号端口和发送闭合主断路器信号端口。TCMS 通过两个端口向受电弓发送信号:给受电弓发送升弓信号端口和给受电弓发送降弓信号端口;通过两个端口向主断路器发送信号:给主断路器发送断开信号端口和给主断路器发送闭合信号端口。
高压系统仿真开始时,呈现给使用者是一个交互界面。如图8 所示,左边为受电弓拨动开关面板,右边为主断路器拨动开关面板。使用者可以通过点击按钮向系统发送不同的指令,系统将会执行相应的操作。
图7 各部件内部信号交互
图8 受电弓(左)和主断路器(右)UI 界面
高压系统仿真中,受控对象为受电弓和主断路器,所用到的状态图标如图9 所示。从左往右依次为受电弓降落和升起,主断路器闭合和断开。
图9 受电弓和主断路器状态图标
如图10 为受电弓拨动开关状态,包括3 个状态:归零位置、升弓位置和降弓位置。在初始时,受电弓拨动开关处于归零位置状态,当其state 属性值为Raise 时,其状态转换为升弓位置。在进入此状态时,将执行请求升弓活动。当state 属性值为Lower 时,将转换到降弓位置状态,进入该状态时,执行请求降弓动作。当state为None 时,将转换到归零位置状态。
如图11 展示了主断路器拨动开关的状态转换。包括3 个状态位:归零位置、闭合主断和断开主断。当mainSwitchButtonState 为Close 时,状态跃迁为闭合主断,在进入此状态时,执行请求闭合主断活动。当main-SwitchButtonState 为Open 时,状态跃迁为断开主断,当mainSwitchButtonState 为 None 时,状态跃迁为归零位置。
图10 受电弓拨动开关状态转换
图11 主断路器拨动开关状态转换
TCMS 在全程运行中,一直处于运行状态,期间接收来自受电弓拨动开关和主断路器拨动开关的指令,并经逻辑处理后向受电弓和主断路器发送执行信号指令。图 12 展示了TCMS 的状态转换,接收的信号有RequestRaisePanto、RequestLowerPanto、RequestCloseMCB 和RequestOpenMCB。“处理请求升弓”动作活动如图 13 所示。
图12 TCMS 状态转换
如图14 为受电弓状态,其包括两个状态DOWN 和UP,当受电弓收到Pantograph UP 信号时,跃迁为UP状态,此时对应的受电弓图标为升起的形状。当收到Pantograph DOWN 信号时,则跃迁为 DOWN 状态,此时受电弓图标为降落的形状。
图13 处理请求升弓活动
如图 15 为主断路器状态转换过程。 包括OPENED 和CLOSED 两个状态,状态之间的转换事件为分别收到MCBOpen 和MCBClose 信号。
图14 受电弓状态转换
图15 主断路器状态转换
如图16 为高压系统仿真配置面板,右上展示了通过构建2 个ImageSwitcher 分别表示受电弓和主断路器状态的切换,受电弓状态定义了UP 和DOWN 2 个状态及其对应的图标。右下展示了主断路器定义的OPENED 和CLOSED 两个状态及其对应的图标。左边展示了高压系统仿真配置,UI 包括受电弓状态和主断路器状态两个界面,executionTarget 设置为动车组实例。
3 模拟仿真运行过程
通过以上的配置,运行当前的高压系统仿真配置文件,初始时得到如图17 所示的界面。区域1 为受电弓拨动开关交互界面,区域2 为受电弓当前状态显示界面,区域3 为主断路器当前状态显示界面,区域4 为主断路器拨动开关交互界面,区域5 为变量显示区域,此处关心的是 TCMS 实例的isPantographUP 和isCircuit-Closed 2 个布尔变量,可以看到其初始值均为false,表明受电弓初始为降弓状态且主断路器为断开状态。
图16 高压系统仿真配置面板
图17 高压系统仿真运行初始界面
当点击受电弓拨动开关上的Raise 按钮后,发出升弓指令,此时受电弓拨动开关的状态由归零位置跃迁到升弓位置,同时将执行请求升弓活动,如图18 所示。当执行请求升弓活动后,司控台将通过“发送请求升弓信号端口”向 TCMS 发送 RequestRaisePanto 信号,如图19 所示。TCMS 在收到司控台发来的请求升弓信号后,将会处理该信号,执行处理请求升弓信号活动,执行一系列动作,如图20 所示。
TCMS 在处理完请求升弓信号活动后,将通过“给受电弓发送升弓信号端口”向受电弓发送Pantograph-UP 信号,如图 21 所示,黄色的线表示前一条刚刚执行完的单元。受电弓在收到Pantograph UP 信号后,跃迁为 UP 状态,如图 22 所示。
图18 受电弓拨动按钮进入升弓位置
图19 司控台向TCMS 发送RequestRaisePanto 信号
图20 TCMS 执行处理请求升弓信号活动
在区域2 受电弓显示状态变为升弓形状的同时,将会在区域1 控制台提示“升起受电弓”,在区域3 变量区域 isPantograph UP 值 为 true,如图 23 所示。TCMS 在完成处理升弓请求后,将回到初始状态,继续等待接收来自其他系统的请求指令,如图24 所示。
图21 TCMS 向受电弓发送PantographUP 信号
图22 受电弓收到PantographUP 信号后跃迁为UP 状态
图23 受电弓升起后仿真模型发生的变化
图24 TCMS 回到初始状态
4 结 论
基于模型驱动的思想,创建了TCMS、司控台和高压系统的架构模型和行为模型(包括状态模型、活动模型、信息交互模型等),并基于这些模型,结合动车组受电弓的控制逻辑流程,搭建了清晰的逻辑仿真模型,动画式地呈现了动车组受电弓的控制过程。通过仿真研究,有助于早期验证系统设计方案的可行性、减少系统中存在的潜在风险,方便企业与客户之间的沟通和系统级语言的对接。