王保民,陳 波,張世聰,袁文強
(1 中國鐵道科學研究院研究生部,北京100081;2 中國鐵道科學研究院集團有限公司機車車輛研究所,北京100081;3 杭州電子科技大學計算機學院,杭州310018)
基于模型的系統(tǒng)工程思想以模型為基礎實現(xiàn)對產品的系統(tǒng)設計思路的巨大轉變。它除了支持復雜產品的基于模型系統(tǒng)設計過程以外,還支持基于模型的復雜產品系統(tǒng)仿真過程[1]。通過仿真能夠清晰地展示產品行為的細節(jié)過程,設計師能夠清楚地看到里面的每一個動作,物質的流動、動作的跳轉、信號的傳遞、部件之間的交互等一系列詳細信息,極大地輔助設計師加快產品設計過程和提升產品的設計質量。
基于模型驅動的思想,采用系統(tǒng)建模語言(System Modeling Language,SysML)[2]開展動車組高壓系統(tǒng)的受電弓控制邏輯仿真研究工作。
SysML 是一種通用的針對復雜裝備系統(tǒng)工程應用的建模語言,它可以支持包含硬件、軟件、信息、制造等多領域系統(tǒng)的描述、設計、分析、驗證等。SysML 并不是一種全新的建模語言[3],它是建立在統(tǒng)一建模語言(Unified Modeling Language,UML)基礎之上的。Sys-ML 共包含9 種圖:用例圖、序列圖、狀態(tài)機圖、包圖、需求圖、參數(shù)圖、模塊定義圖、內部模塊圖、活動圖。建模工具和以往的繪圖工具不同,系統(tǒng)工程師使用建模工具創(chuàng)建的是模型,當改圖中元素時,元素本身的底層模型實現(xiàn)改變,相同元素的圖全部隨之改變。目前支持Sys-ML 的建模工具主要有 Magic Draw、Rhapsody、Integrity Modeler 和 M ? Design[4]。
分析的仿真具體場景包括受電弓的升弓和降弓過程,主斷路器的斷開和閉合過程[5]。如圖1~圖4 所示,依次給出了它們的簡化邏輯框圖。
圖1 升弓簡化邏輯
圖2 降弓簡化邏輯
圖3 主斷路器閉合簡化邏輯
圖4 斷開簡化邏輯
圖5 為面向本節(jié)仿真對象所構造的動車組結構分解模型。其包括控制部分列車控制管理系統(tǒng)TCMS(Train Control Management System,TCMS)、高壓系統(tǒng)和司控臺。
TCMS 有兩個重要的屬性:isPantographUP 和is-CircuitClosed,兩者皆為Boolean 類型。其中,isPantographUP 是TCMS 用于記錄受電弓的狀態(tài),如果其值為true 表示受電弓為升起狀態(tài),否則為降落狀態(tài)。is-CircuitClosed 是TCMS 用于記錄主斷路器狀態(tài),如果其值為true 表示主斷當前狀態(tài)為閉合,否則為斷開狀態(tài)。
受電弓撥動開關和主斷路器撥動開關位于司控臺上,司機通過受電弓撥動開關和主斷路器板撥動開關向TCMS 發(fā)送升弓、降弓、合主斷和分主斷等指令。受電弓撥動開關的值屬性PantoKeySwitchState 是枚舉類型,其和后續(xù)仿真UI 界面元素綁定,用于指示司機發(fā)出何種受電弓指令操作。仿真實例中,高壓系統(tǒng)包括兩個核心物理組件受電弓和主斷路器。
為了實現(xiàn)高壓系統(tǒng)受電弓系統(tǒng)仿真,在定義用到的各種組件基礎上,需要梳理出組件之間交互的各種信號流,并基于模型的方式對信號建模。圖6 所示為高壓系統(tǒng)仿真用到的各種信號模型。具體可以分為4 大類。
受電弓撥動開關和主斷路器撥動開關信號分別為:PantoKeySwitchState 和 MCBKeySwitchButtonState,均為枚舉類型。PantoKeySwitchState 有3 個取值Raise/Lower/None,分別對應發(fā)送升起/降落受電弓指令及開關歸零位置。MCBKeySwitchButtonState 有3 個取值Close/Open/None,分別對應發(fā)送閉合/斷開主斷路器指令以及開關歸零位置。
受電弓相關的控制信號有4 個:RequestRaisePanto和RequestLowerPanto 用于模擬受電弓撥動開關向TCMS 發(fā)送的司機請求升弓或者降弓指令;PantographUP和PantographDOWN 用于模擬TCMS 經邏輯處理后向受電弓發(fā)送的受電弓升起或者降落指令。
圖5 針對高壓系統(tǒng)仿真的動車組結構分解圖
圖6 高壓系統(tǒng)用到信號
主斷路器相關的控制信號4 個:RequestOpenMCB和RequestCloseMCB 用于模擬主斷路器撥動開關向TCMS 發(fā)送的司機請求斷開或閉合主斷指令;MCBClose 和MCBOpen 用于模擬TCMS 經邏輯處理后向主斷路器發(fā)送的閉合或斷開主斷指令。Terminate 信號用于終止整個高壓系統(tǒng)的仿真過程。
在定義了高壓系統(tǒng)仿真組件及其相關信號后,把每個組件當做一個小黑盒,需要明確各個組件之間的信號流動。如圖7 所示,受電弓撥動開關通過兩個端口向TCMS 發(fā)送信號:發(fā)送請求升弓信號端口和發(fā)送請求降弓信號端口。主斷路器撥動開關也通過兩個端口向TCMS 發(fā)送信號:發(fā)送斷開主斷路器信號端口和發(fā)送閉合主斷路器信號端口。TCMS 通過兩個端口向受電弓發(fā)送信號:給受電弓發(fā)送升弓信號端口和給受電弓發(fā)送降弓信號端口;通過兩個端口向主斷路器發(fā)送信號:給主斷路器發(fā)送斷開信號端口和給主斷路器發(fā)送閉合信號端口。
高壓系統(tǒng)仿真開始時,呈現(xiàn)給使用者是一個交互界面。如圖8 所示,左邊為受電弓撥動開關面板,右邊為主斷路器撥動開關面板。使用者可以通過點擊按鈕向系統(tǒng)發(fā)送不同的指令,系統(tǒng)將會執(zhí)行相應的操作。
圖7 各部件內部信號交互
圖8 受電弓(左)和主斷路器(右)UI 界面
高壓系統(tǒng)仿真中,受控對象為受電弓和主斷路器,所用到的狀態(tài)圖標如圖9 所示。從左往右依次為受電弓降落和升起,主斷路器閉合和斷開。
圖9 受電弓和主斷路器狀態(tài)圖標
如圖10 為受電弓撥動開關狀態(tài),包括3 個狀態(tài):歸零位置、升弓位置和降弓位置。在初始時,受電弓撥動開關處于歸零位置狀態(tài),當其state 屬性值為Raise 時,其狀態(tài)轉換為升弓位置。在進入此狀態(tài)時,將執(zhí)行請求升弓活動。當state 屬性值為Lower 時,將轉換到降弓位置狀態(tài),進入該狀態(tài)時,執(zhí)行請求降弓動作。當state為None 時,將轉換到歸零位置狀態(tài)。
如圖11 展示了主斷路器撥動開關的狀態(tài)轉換。包括3 個狀態(tài)位:歸零位置、閉合主斷和斷開主斷。當mainSwitchButtonState 為Close 時,狀態(tài)躍遷為閉合主斷,在進入此狀態(tài)時,執(zhí)行請求閉合主斷活動。當main-SwitchButtonState 為Open 時,狀態(tài)躍遷為斷開主斷,當mainSwitchButtonState 為 None 時,狀態(tài)躍遷為歸零位置。
圖10 受電弓撥動開關狀態(tài)轉換
圖11 主斷路器撥動開關狀態(tài)轉換
TCMS 在全程運行中,一直處于運行狀態(tài),期間接收來自受電弓撥動開關和主斷路器撥動開關的指令,并經邏輯處理后向受電弓和主斷路器發(fā)送執(zhí)行信號指令。圖 12 展示了TCMS 的狀態(tài)轉換,接收的信號有RequestRaisePanto、RequestLowerPanto、RequestCloseMCB 和RequestOpenMCB?!疤幚碚埱笊眲幼骰顒尤鐖D 13 所示。
圖12 TCMS 狀態(tài)轉換
如圖14 為受電弓狀態(tài),其包括兩個狀態(tài)DOWN 和UP,當受電弓收到Pantograph UP 信號時,躍遷為UP狀態(tài),此時對應的受電弓圖標為升起的形狀。當收到Pantograph DOWN 信號時,則躍遷為 DOWN 狀態(tài),此時受電弓圖標為降落的形狀。
圖13 處理請求升弓活動
如圖 15 為主斷路器狀態(tài)轉換過程。 包括OPENED 和CLOSED 兩個狀態(tài),狀態(tài)之間的轉換事件為分別收到MCBOpen 和MCBClose 信號。
圖14 受電弓狀態(tài)轉換
圖15 主斷路器狀態(tài)轉換
如圖16 為高壓系統(tǒng)仿真配置面板,右上展示了通過構建2 個ImageSwitcher 分別表示受電弓和主斷路器狀態(tài)的切換,受電弓狀態(tài)定義了UP 和DOWN 2 個狀態(tài)及其對應的圖標。右下展示了主斷路器定義的OPENED 和CLOSED 兩個狀態(tài)及其對應的圖標。左邊展示了高壓系統(tǒng)仿真配置,UI 包括受電弓狀態(tài)和主斷路器狀態(tài)兩個界面,executionTarget 設置為動車組實例。
通過以上的配置,運行當前的高壓系統(tǒng)仿真配置文件,初始時得到如圖17 所示的界面。區(qū)域1 為受電弓撥動開關交互界面,區(qū)域2 為受電弓當前狀態(tài)顯示界面,區(qū)域3 為主斷路器當前狀態(tài)顯示界面,區(qū)域4 為主斷路器撥動開關交互界面,區(qū)域5 為變量顯示區(qū)域,此處關心的是 TCMS 實例的isPantographUP 和isCircuit-Closed 2 個布爾變量,可以看到其初始值均為false,表明受電弓初始為降弓狀態(tài)且主斷路器為斷開狀態(tài)。
圖16 高壓系統(tǒng)仿真配置面板
圖17 高壓系統(tǒng)仿真運行初始界面
當點擊受電弓撥動開關上的Raise 按鈕后,發(fā)出升弓指令,此時受電弓撥動開關的狀態(tài)由歸零位置躍遷到升弓位置,同時將執(zhí)行請求升弓活動,如圖18 所示。當執(zhí)行請求升弓活動后,司控臺將通過“發(fā)送請求升弓信號端口”向 TCMS 發(fā)送 RequestRaisePanto 信號,如圖19 所示。TCMS 在收到司控臺發(fā)來的請求升弓信號后,將會處理該信號,執(zhí)行處理請求升弓信號活動,執(zhí)行一系列動作,如圖20 所示。
TCMS 在處理完請求升弓信號活動后,將通過“給受電弓發(fā)送升弓信號端口”向受電弓發(fā)送Pantograph-UP 信號,如圖 21 所示,黃色的線表示前一條剛剛執(zhí)行完的單元。受電弓在收到Pantograph UP 信號后,躍遷為 UP 狀態(tài),如圖 22 所示。
圖18 受電弓撥動按鈕進入升弓位置
圖19 司控臺向TCMS 發(fā)送RequestRaisePanto 信號
圖20 TCMS 執(zhí)行處理請求升弓信號活動
在區(qū)域2 受電弓顯示狀態(tài)變?yōu)樯螤畹耐瑫r,將會在區(qū)域1 控制臺提示“升起受電弓”,在區(qū)域3 變量區(qū)域 isPantograph UP 值 為 true,如圖 23 所示。TCMS 在完成處理升弓請求后,將回到初始狀態(tài),繼續(xù)等待接收來自其他系統(tǒng)的請求指令,如圖24 所示。
圖21 TCMS 向受電弓發(fā)送PantographUP 信號
圖22 受電弓收到PantographUP 信號后躍遷為UP 狀態(tài)
圖23 受電弓升起后仿真模型發(fā)生的變化
圖24 TCMS 回到初始狀態(tài)
基于模型驅動的思想,創(chuàng)建了TCMS、司控臺和高壓系統(tǒng)的架構模型和行為模型(包括狀態(tài)模型、活動模型、信息交互模型等),并基于這些模型,結合動車組受電弓的控制邏輯流程,搭建了清晰的邏輯仿真模型,動畫式地呈現(xiàn)了動車組受電弓的控制過程。通過仿真研究,有助于早期驗證系統(tǒng)設計方案的可行性、減少系統(tǒng)中存在的潛在風險,方便企業(yè)與客戶之間的溝通和系統(tǒng)級語言的對接。