盧益明,劉司宇
(中車唐山機車車輛有限公司,河北唐山 063035)
隨著電子技術的快速發展,軌道交通等電氣系統的設計越來越復雜,而系統的驗證、維修等工作的難度也隨之增加。通過軟件仿真技術,實現電氣系統的全數字化是行之有效的解決方案。
目前現有的電氣設計工具,能設計復雜的電氣系統,但是大部分軟件沒有仿真能力,無法模擬電氣系統控制邏輯。對于設計質量的檢驗主要依賴人工核查和調試階段的實車驗證,缺少在設計階段的工具驗證手段,不利于設計質量的提高和穩定,也影響生產效率。并且在現有的電氣設計工具上進行仿真功能二次開發的方法,很難將專有仿真軟件的仿真功能完全體現,如電氣設備庫邏輯定制化、圖形界面實例化、測試腳本定制化等仿真功能。
為此,文中介紹了一種基于ControlBuild 的列車電氣邏輯仿真測試平臺。該平臺能夠實現由電路圖到電氣仿真模型的自動轉換,并能夠對電氣仿真模型進行自動測試,最終實現列車級控制電路設計驗證。
電路往往作為被控對象或控制邏輯的一部分存在于整個系統中。考慮到應用的廣泛性和復雜性,ControlBuild 為電氣邏輯仿真提供了單獨的支持。通過在系統中建立與實際電路圖在外觀上幾乎完全一致的電路仿真模型,ControlBuild 可以進一步實時地計算和更新對應電路的狀態。
ControlBuild 電路仿真的突出特點包括:
(1)內置電氣元件模型庫支持常見的電氣元器件,如電源、開關、繼電器等。而對有特殊特性的元件,可以定制開發。
(2)支持將整個電路通過多頁實現。
(3)仿真時,實時更新各元件狀態,并以特定方式直觀顯示,如開關開斷狀態、電路導通時對應線路顯示為紅色,否則顯示為灰色等。
(4)可以與其他語言(如C 語言等)所編寫的組件同時仿真,并可通過接口變量進行通訊[1]。
平臺主要實現了對電路設計文件自動生成電氣仿真模型,再通過編寫測試腳本的方式,利用自動化測試工具進行測試仿真,并輸出測試報告。
平臺采用配置文件和數據庫結合的方法,按照預定義的設計規則進行設計規范檢查,最終實現電路圖到電氣仿真模型的自動轉換。能夠對電路圖中所有的元器件、連線等進行解析,能夠對電路圖高度復原,且能夠自動根據設計規范進行設計錯誤篩查。可提升電路圖設計質量,規范電路圖設計的模塊化、標準化;平臺利用修改配置文件的方法,實現電路圖元器件的內部邏輯仿真。不僅可以將列車實際生產中涉及的輸入輸出I/O 設備、司機控制器、多檔開關、按鈕、繼電器、蜂鳴器、二極管端子排等電氣設備1∶1 地進行電氣特性還原,完全模擬實物動作狀態,還能夠按列車實際電氣特性線路1∶1 地進行電氣線路通斷電模擬。能夠解決電路圖中元器件無法仿真,黑盒邏輯無法控制等問題。增加了電氣系統控制邏輯的靈活性和可控性;平臺引進了一種電氣仿真模型搭建的工程架構。保證了電路模型設計質量,并且適用于多種數字化模型[2]。減輕了建模工作量,為后續電氣系統測試提供了便利;平臺中的自動化測試功能能夠對電路圖單頁、單車、列車的功能進行自動腳本測試,能夠對電路圖設計進行仿真驗證,并自動輸出測試報告,提升了電氣仿真模型功能驗證效率。方便測試資源積累,減少了回歸測試投入資源和成本。
由電路圖自動轉換到電氣仿真模型一般需要經過電路圖信息讀取、配置文件數據庫處理和電氣仿真模型生成3 大過程,自動轉換方案如圖1所示。

圖1 由電路圖到電氣仿真模型的自動轉換方案
(1)電路圖信息讀取
主要通過自動轉換工具通過正確合法使用電路圖設計軟件API 接口對電路圖的信息進行讀取,以及對電氣系統的其他信息進行配置等。涉及內容主要包含:電氣系統列車信息配置、提取電路圖中的列表信息、設備名稱針腳及連接信號、電路圖元器件庫讀取、電路圖黑盒設備識別等。
自動轉換工具能夠解析電路圖中的所有元器件信息,并對其中無法識別的元器件輸出日志文件,用于自定義。
自動轉換工具能夠對電路圖連線(包括頁內連線、功能組間連線、車間連線等)進行解析,并在解析過程中對其進行檢查,將功能組間設計錯誤,包括線號缺失、設備信息缺失、跨接線信息錯誤、多檔開關信息缺失、帶二極管的端子信息缺失、設備重名等錯誤信息輸出為日志文件,方便設計者進行故障檢測。
(2)配置文件數據庫處理
主要通過自動轉化工具將列車配置信息、電氣仿真模型命名規則、電路圖和電氣仿真模型元器件對應規則、電路圖和電氣仿真模型黑盒設備對應規則等信息以配置形式存儲到本地,并在自動轉換過程中,利用數據庫處理的方法,將電路圖及電氣系統信息轉換到電氣仿真模型中。
(3)電氣仿真模型生成
首先需要搭建電氣仿真模型工程架構。然后通過自動轉換工具,利用數據庫信息,對電氣仿真模型進行自動繪制。自動生成的電氣仿真模型能夠滿足后續對電氣系統進行測試驗證和進一步搭建控制系統模型的需求。
電氣仿真模型工程架構分為4 層,如圖2 所示。利用自動轉換工具,結合定制的元器件庫和數據庫配置文件,能夠實現由電路圖到電氣仿真模型的自動繪制。

圖2 電氣仿真模型工程架構搭建方案
第1 層(最頂層)為列車級仿真模型,集成各車輛級模型、速度模型、MVB 總線信號、司控臺等;電路模型中,車輛間跨接線連接在該層級完成。
第2 層為車輛級仿真模型,集成車輛級電路模型、各系統模型等;電路模型中,各子系統硬線I/O連接在該層級完成。
第3 層為功能組級仿真模型,集成功能組級電路模型、各類開關;電路模型中,各功能組間的電路連接在該層級完成。
第4 層為電路仿真模型(最底層),集成電路圖中的各個分頁;電路模型中,最底層電路頁面間的連接在該層級完成。
平臺設計了一種鐵路行業專用的元器件庫。是根據電路圖中涉及的數據庫元器件特性和鐵路行業使用的電氣元器件特性,對電氣仿真軟件中的電路仿真元器件功能進行重新開發,形成鐵路行業專用的元器件庫。
對于某些項目中特殊的自建元器件,能夠形成日志文件輸出,用于約定轉換規則,并能夠方便配置增加元器件用于擴展。
可以根據設計需要對電路圖黑盒設備進行邏輯編寫,再利用電路圖和電氣仿真模型黑盒設備對應的配置進行電氣特性連接,進而實現黑盒邏輯控制。
對電氣仿真或列車仿真的測試既可以通過ControlBuild 仿真界面以手動仿真測試的方式執行,也可以通過平臺的自動化測試工具實現。
平臺中的自動化測試工具,將能夠按照編寫好的測試用例自動生成測試腳本,測試腳本能夠進行自動測試并輸出測試報告,能夠方便地查看轉換過程中遇到的設計規則不符合項等。電氣仿真模型自動化測試方案如圖3 所示。

圖3 電氣仿真模型自動測試方案
電氣仿真模型自動化測試首先要進行測試用例配置,測試用例配置主要包含元器件信息、動作和結果3 個主要因素。信息是要給出被控制元器件的具體信息,根據該信息能夠去尋找電氣仿真模型中的變量;動作是元器件動作,即給元器件賦值;結果是該元器件動作引起的一系列反應即引起相關的元器件值變化,通過捕捉該器件值的變化與預設值對比,判斷該動作是否達到預期。
然后解析電氣仿真模型中的所有變量,包括變量的名字、類型、輸入/輸出和變量實例等信息,將所有的信息存儲到數據庫中。
最后通過對測試用例信息的提取,對比數據庫,提取相關變量,根據動作去自動生成邏輯代碼,然后在期望值處尋找相應的變化值,去數據庫中找到相應變量,根據預設結構構想去生成結果代碼,最后生成ControlBuild 能夠自動識別的腳本文件,并將其自動導入到電氣仿真模型中。自動化測試腳本自動執行過程如圖4 所示。

圖4 自動化測試腳本自動執行過程
測試腳本主要包括初始化、蓄電池給電、列車激活占用等。根據整車及每個功能組的電路控制邏輯功能編寫測試腳本,通過自動化測試驗證電路控制邏輯的正確性。
自動化測試工具大大減少了用戶編寫腳本的工作量。測試質量穩定可靠、測試效率高,且能夠方便地查看電氣仿真模型中的設計規則不符合項等,節省了大量人力資源投入。
根據文中的自動轉換平臺設計方案,搭建了列車電氣邏輯仿真測試平臺,其中電路圖設計軟件以E3 軟件為例,電氣仿真軟件以ControlBuild 軟件為例,配置文件以XML 配置文件為例,自動測試腳本編寫以EXCEL 格式為例,執行的電氣仿真測試腳本以ST 語言為例。
由電路圖到電氣仿真模型的自動轉換平臺開發實例如圖5 所示。

圖5 電氣仿真模型實例
列車電氣邏輯仿真測試平臺能夠有效地解決電路圖到電氣仿真模型的轉換問題,并能夠按照預定義的設計規則進行設計規范檢查。生成的電氣仿真模型開發效率高,質量穩定、可靠,與實際電路圖一一對應,復原程度高。與手動繪制相比,極大地提高了效率,節約了人力成本和時間成本。
平臺中的自動化測試工具,大大減少了用戶編寫腳本的工作量。測試質量穩定可靠、測試效率高,且能夠自動輸出測試結果,對測試失敗用例進行日志提示和回歸測試,方便技術人員進行故障診斷,縮短調試周期,提高研發設計水平,目前已在某公司多個實車項目中應用,適合在軌道交通領域推廣,具有很好的發展前景。
平臺生成的電氣仿真模型能夠作為單獨模型,將其外部控制信號以輸入輸出的方式與其他模塊進行連接,直接用于列車控制系統集成仿真測試,不僅可提升電氣仿真模型開發效率,還可應用在列車控制單元軟件測試中[3],提升軟件測試環境開發效率。