?

基于SCADE的列控車載子系統模式轉換建模研究

2022-11-02 07:58王錫奎李亞楠
鐵道運營技術 2022年4期
關鍵詞:狀態機控系統車載

王錫奎,李亞楠

(1.南京鐵道職業技術學院 通信信號學院,講師,南京 210031;2.中國聯通江蘇分公司 云網運營中心,工程師,南京 210008)

列車運行控制系統(簡稱:列控系統)是信號系統中的安全苛求系統。當前列控系統車載子系統軟件主要采用傳統的以軟件編碼為核心的“V”型軟件開發方法。該方法采用手工編碼,編碼工作量大,而且容易因人為因素造成軟件缺陷而又極難在軟件開發階段發現,因而軟件開發效率低下且軟件質量不高。為解決此問題,深入分析車載子系統軟件的模式轉換功能需求,提出了利用安全苛求應用開發環境(SCADE)構建其圖形化模型,并在模型仿真和驗證的基礎上生成軟件代碼從而提高該軟件開發效率及質量的方法。

1 SCADE概述

SCADE以圖形化模型設計為核心,包含了模型設計、模型調試仿真、形式化驗證、代碼自動生成、軟件設計文檔同步生成等安全苛求軟件開發標準所要求的環節?;赟CADE的模型設計流程如圖1所示。

圖1 基于SCADE的模型設計流程

SCADE在安全苛求軟件開發中的優勢體現在3個方面:①SCADE的模型元素都具有嚴格的數學語義,所設計模型可精確、完整地描述軟件功能需求;②SCADE提供模型靜態檢查功能用于語法檢查,可以輕易找出模型中的語義和語法缺陷;③在代碼生成方面,SCADE能在保證安全的前提下,完成對模型的建立并自動生成滿足EN50128、IEC61508、DO-178B∕C、IEC60880、IEC62304、ISO26262等標準的嵌入式C語言代碼。

2 車載子系統模式轉換模型設計

2.1 需求分析

根據列控系統的運營需求,車載子系統設置了不同的駕駛模式,以更好地完成列車在不同運行場景下的速度監控。

以CTCS-3級列控系統為例,車載子系統有9種駕駛模式,分別是完全監控模式FS(Full Supervision)、目視行車模式OS(On Sight)、引導模式CO(Call On)、調車模式SH(Shunting)、隔離模式IS(Isolation)、待機模式SB(Stand By)、休眠模式SL(Sleeping)、部分監控模式PS(Part Supervision)和機車信號模式CS(Cab Signal)。其中PS和CS模式僅在列控系統降級至CTCS-2級時使用。

2.2 模型設計

在SCADE中,利用狀態機對車載子系統的模式轉換功能進行建模。將車載子系統不同模式定義為不同狀態機,狀態機內部包含特定算法,實現車載子系統在不同模式中的列車監控功能。模式之間的轉換條件作為狀態機之間的轉移條件。模式轉換模型分為2層,第1層包含車載子系統關閉和工作2個狀態,第2層為車載子系統工作時的狀態,包含7個狀態機,分別對應車載子系統在CTCS-3級控制下的7種工作模式,見表1。

表1 模式轉換模型狀態說明

表2所示為模式轉換模型的輸入參數,表示模式轉換的條件或事件。表3所示為模型的輸出參數,表示當前駕駛模式。

表2 模式轉換模型輸入參數

表3 模型的輸出參數

利用SCADE所建立的車載子系統模式轉換模型見圖2所示。該模型中curSpd模塊根據列車位置速度信息計算當前允許速度(curSpd),DMIInput模塊對列車司機輸入進行解析,獲得司機當前操作,如上電鍵按下(powerOn)、駕駛臺關閉(conOff)、隔離開關閉合(isoSwitch)、調車鍵按下(SHKey)、目視行車鍵按下(OSKey)、司機確認(driCon)、收到休眠信號(RecSLSig)等,這些數據將作為模型中各狀態之間轉換的條件。如從FS模式轉換到SB模式需要司機按下駕駛臺關閉按鈕,即conOff為真;從FS向OS轉換需要列車速度為零且目視行車按鈕被按下,即curSpeed為0且OSKey為真。

圖2 車載子系統模式轉換模型

2.3 仿真分析

這里采用SCADE提供的模擬仿真工具SCADE Simulator對已建立的模式轉換模型進行功能正確性仿真驗證。具體流程如下:對模型進行上電操作,此時模型處于待機模式;當接收到完全監控行車許可,此時車載子系統模型從SB模式轉換到FS模式;選取如圖3所示的兩列列車在區間追蹤運營場景進行仿真。本場景中列車2前方有7個空閑區段,其前方目標距離為10km,此時列車2運行速度為250km∕h,選取CRH3動車組制動參數為列車2的制動參數,如表4所示。

圖3 列車追蹤場景

表4 高速鐵路CRH3動車組技術參數

在SCADE Simulator工具中運行模式轉換模型,待運行結束后將所產生的數據保存在simuData.csv文件中。將該文件載入Matlab中,利用其繪圖工具繪制速度防護曲線和列車運行速度曲線,如圖4所示。從圖中可以看出,模型能夠為列車計算速度防護曲線,且能根據該曲線保證列車的運行安全,使列車在目標點之前停車。

圖4 列車2速度防護曲線及運行曲線

2.4 代碼生成

經過模擬仿真驗證了模型的有效性后,使用SCADE代碼生成器(KCG)自動將模型轉換為標準C語言代碼,部分代碼見圖5。

圖5 車載子系統模式轉換模型部分代碼

由圖5可知,函數ModeMng_init_ModeMng(outC_ModeMng_ModeMng*outC)為自動生成的程序代碼中用來初始化的方法,該函數的名稱有很好的可讀性,便于代碼閱讀和代碼追蹤。ModeMng_init_ModeMng的參數outC為結構體指針,該方法的輸入參數由outC引入。在SCADE模型設計過程中,每個變量在其作用域內只能被賦值一次,且所生成代碼中不包含遞歸、死循環、動態指針、動態內存分配等容易造成軟件缺陷的因素。因而,基于SCADE的模型設計不但縮短了車載子系統軟件的開發過程,也滿足了其高安全性的需求。

3 結束語

為提高車載子系統軟件開發效率和質量,提出了基于SCADE的車載子系統模式轉換功能的模型設計、仿真和代碼自動生成方法:利用SCADE建立滿足軟件功能需求和安全性需求的模型;利用SCADE對模型進行仿真驗證,可以在模型設計階段找出并解決模型缺陷;利用SCADE KCG將模型自動轉換為高質量代碼,可以節約大量的軟件手寫編碼時間。本方法已在面向特征的列控系統開發項目中應用,可以有效排除傳統軟件開發中不易發現的缺陷,減少測試工作量,節約開發時間。

猜你喜歡
狀態機控系統車載
一種車載可折疊宿營住房
關于DALI燈控系統的問答精選
聯調聯試中列控系統兼容性問題探討
高速磁浮車載運行控制系統綜述
基于有限狀態機的交會對接飛行任務規劃方法
奔馳S級48V車載電氣系統(下)
基于Spring StateMachine的有限狀態機應用研究
智能互聯勢不可擋 車載存儲需求爆發
一種新型列控系統方案探討
簡析GSM-R在CTCS-3列控系統中的作用和故障判斷處理
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合