帳號:
密碼:
智動化 / 文章 /

開發以PLC為基礎之車輛控制與管理系統
[作者 Magdalena Kowalska等人]   2018年01月04日 星期四 瀏覽人次: [40856]


現代化的鐵路車輛、車廂及其他運輸車輛大都裝配了先進的列車控制與管理系統(train control and management systems, TCMS)。TCMS負責像是緊急煞車、緊急關閉引擎等安全攸關任務,也負責暖器、通風等乘客舒適系統。


由於TCMS安全攸關的特性,其軟體必須遵守相當嚴格的要求。首先,軟體必須符合像是EN 50128等功能安全標準,其中涵蓋了鐵路控制與保護系統的軟體。嚴密而且持續不斷的測試是成功完成驗證程序的關鍵所在。然而在傳統的開發流程中,必須先有硬體才能開始進行測試,使得軟體缺陷的修正起來相當昂貴且可能被省略。


在本公司PESA,我們利用模型化基礎設計(以MathWorks公司的MATLAB/Simulink軟體為基礎)來開發車頭、電聯車(electric multiple units, EMUs)、柴聯車(diesel multiple units, DMUs)的即時TCMS軟體(圖1)。工程師在Simulink與Stateflow建立了低階的軟體需求模型,並執行模擬以驗證設計,也能產生IEC 61131-3 結構式文件編程語言(Structured Text),之後則轉檔佈署到可編程邏輯控制器中(programmable logic controller, PLC)。


透過這樣的方式,我們可以確保所執行的軟體皆符合設計規格、及早發現缺陷、縮短測試時間,還可以提供更完善的文件給認證機構,讓認證過程更為流暢。



圖1 : PESA公司為德國鐵路(Deutsche Bahn)與NEB(一間德國私鐵公司)建造的柴聯車鐵路車輛,裝配了一組以模型化基礎設計開發出來的TCMS。
圖1 : PESA公司為德國鐵路(Deutsche Bahn)與NEB(一間德國私鐵公司)建造的柴聯車鐵路車輛,裝配了一組以模型化基礎設計開發出來的TCMS。

TCMS軟體的建模與模擬

一開始,透過ALM軟體Polarion來定義最初始的系統規格,這些規格包含了安全功能,例如緊急煞車、牽引控制、柴油引擎關閉,以及非安全攸關的功能,例如照明、暖器、通風、及其他乘客舒適系統等等的控制。


接下來,我們利用Simulink與Stateflow來建立低階軟體的設計規格模型。從Stateflow的事件轉變圖,可以非常清楚地看到系統中的所有事件,以及需要確認的條件與待執行的動作(圖2),我們在此盡可能重複利用Simulink特製函式庫內的元件,其中包含了可依照當下電力需求來調整柴油引擎速度的調節器。



圖2 : 電池管理系統內的Stateflow圖表
圖2 : 電池管理系統內的Stateflow圖表

除了開發控制模型之外,我們也為火車的硬體元件開發了受控體模型,並利用這些受控體模型在Simulink中執行閉迴路模擬(closed-loop),以在硬體原型完成之前去驗證控制設計的功能性。即使已經有了硬體,我們仍然繼續利用模擬來驗證那些可能難以在真實火車上進行驗證或驗證起來很費時的功能(圖3);舉例來說,電池的放電可能會耗上數天的時間,或者讓乘客車箱升高到特定溫度將花上幾個小時等。而透過Simulink,我們可以在幾分鐘之內模擬電壓的下降或溫度的變化,能快速驗證電氣及乘客舒適系統功能在各種條件下的運作。



圖3 : 用來驗證輔助轉換器切換的Simulink模型
圖3 : 用來驗證輔助轉換器切換的Simulink模型

產生及測試結構式文件編程語言

透過模擬完成設計驗證之後,接著利用Simulink PLC Coder從Simulink與Stateflow模型來產生結構式文件編程語言(Structured Text)。因為產生的程式碼從未經過手動修改,可以100%確定程式碼符合模型抓出來的規格與設計。我們接著將結構式文件編程語言編譯到PLC整合開發環境(integrated development environment, IDE),這是用來在轉檔佈署到實體PLC進行即時的測試之前,可以先執行有限制測試的環境。以前,這些測試是能夠驗證設計的第一次機會,然而透過模型化基礎設計,我們可以在進行到這個階段之前,就已經可以先執行大規模的模擬了,這樣的好處是,我們可在更早的階段便發現問題,在開發後期發現到的問題數量也明顯減少;所以,我們現在的測試著重於那些尚未準備好進行模擬驗證的設計面向,這使得花在測試上的時間也因此減少了至少30%。


模型化基礎設計所提供的從模型產生結構式文件編程語言的功能,不僅可以避免手動編寫程式碼產生的錯誤,也提供了選擇不同的PLC目標硬體的彈性。我們目前使用了三家供應商的PLCs,可以利用相同的Simulink模型產生結構式文件編程語言,或甚至是C程式碼,來執行在任何一種PLCs上。


我們採用的測試流程是以EN 50128標準為基礎。在這套流程,根據我們的軟體元件設計規範(software component design specification, SCDS)建立軟體元件測試。該文件描述了元件的資料類型、資料值範圍、安全完整性等級(safety integrity levels)、以及軟體元件之間的交互作用。由於SCDS定義了輸入變量如何影響輸出狀態,測試工程師可以利用以Simulink PLC Coder產生的結構式文件編程語言內的一個包含了PLC函式模塊的黑盒子模型來測試每一個軟體元件(圖4)。



圖4 : 用來測試發電機控制元件的黑盒子模型
圖4 : 用來測試發電機控制元件的黑盒子模型

我們的測試環境包含了一個與真實使用在鐵路車輛的處理器與輸入/輸出模組相同的PLC控制器,以及模擬裝置、與測試軟體組合而成。測試軟體包含一組模擬過的開關與LEDs,以及用來說明及顯示類比數值的元件,像是車速與冷卻劑溫度(圖5)。測試工程師利用這個軟體,依據已建立好的元件測試情境設定輸入值,接著對顯示於軟體的輸出與定義相符的情境進行驗證。



圖5 : 用來進行元件測試的軟體
圖5 : 用來進行元件測試的軟體

繼續進行EN 51028認證與下一步

我們正在與TUV SUD合作進行安全相關軟體驗證的流程,以遵守符合EN 51028安全完整性等級2(safety integrity level, SIL)的標準。期待使用模型化基礎設計來提供文件、模擬、驗證軟體,以加速認證流程。當認證機構的審核人員想要比較我們系統的兩種版本,在過去,審核人員必須仔細檢視原始程式碼,而現在只要利用模型及文件就可以證明設計變更的執行完全符合我們的敘述。


接下來,我們打算把Polarion的系統規格與Simulink執行的模型元件連結起來,讓認證流程更加順暢,也計畫將模型化基礎設計的使用延伸到先進駕駛輔助系統的開發。舉例來說,我們正在研究結合影像處理與機器學習技巧,處理從熱顯像攝影機及其他感測器取得的輸入,進而建立一個能夠偵測軌道上的障礙物並自動啟用煞車的防撞系統。


(本文由鈦思科技提供;作者Magdalena Kowalska、Micha? Grzonka任職於PESA Bydgoszcz SA公司)


相關文章
資料科學與機器學習協助改善頸部損傷評估
MATLAB與Simulink整合自動化機器學習與DevOps
智慧人機介面將產品設計發想變成無限可能
Sklearn2ONNX AI範例分享:風扇堵塞偵測
自主移動機器人持續重塑物流和物料搬運
comments powered by Disqus
  相關新聞
» 帆宣與佳世達合組「達宣智慧」公司 啟動智慧醫療引擎
» 助工具機業者拓展海外市場 經濟部提供融資20億元
» 海大與法國濱海大學合作 推升智慧永續海洋
» 國研盃智慧機械競賽揭曉 聯合大學高爾夫機器人奪冠
» AI台北智慧城市展多樣風貌 開箱大巨蛋數位場館
  相關產品
» 凌華支援第14代 Intel處理器用於先進工業與 AI 解決方案
» 智慧監測良方 泓格微型氣象站提供資訊面面俱到
» 凌華新款5G IIoT遠端邊緣網路閘道器採用Arm架構
» SICK W10直接反射式光電感測器提升物體檢測多樣性
» Igus為醫療技術合作專案提供免潤滑微型滑軌


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 / E-Mail: webmaster@hope.com.tw