盧益明,劉司宇
(中車唐山機(jī)車車輛有限公司,河北唐山 063035)
隨著電子技術(shù)的快速發(fā)展,軌道交通等電氣系統(tǒng)的設(shè)計越來越復(fù)雜,而系統(tǒng)的驗證、維修等工作的難度也隨之增加。通過軟件仿真技術(shù),實現(xiàn)電氣系統(tǒng)的全數(shù)字化是行之有效的解決方案。
目前現(xiàn)有的電氣設(shè)計工具,能設(shè)計復(fù)雜的電氣系統(tǒng),但是大部分軟件沒有仿真能力,無法模擬電氣系統(tǒng)控制邏輯。對于設(shè)計質(zhì)量的檢驗主要依賴人工核查和調(diào)試階段的實車驗證,缺少在設(shè)計階段的工具驗證手段,不利于設(shè)計質(zhì)量的提高和穩(wěn)定,也影響生產(chǎn)效率。并且在現(xiàn)有的電氣設(shè)計工具上進(jìn)行仿真功能二次開發(fā)的方法,很難將專有仿真軟件的仿真功能完全體現(xiàn),如電氣設(shè)備庫邏輯定制化、圖形界面實例化、測試腳本定制化等仿真功能。
為此,文中介紹了一種基于ControlBuild 的列車電氣邏輯仿真測試平臺。該平臺能夠?qū)崿F(xiàn)由電路圖到電氣仿真模型的自動轉(zhuǎn)換,并能夠?qū)﹄姎夥抡婺P瓦M(jìn)行自動測試,最終實現(xiàn)列車級控制電路設(shè)計驗證。
電路往往作為被控對象或控制邏輯的一部分存在于整個系統(tǒng)中??紤]到應(yīng)用的廣泛性和復(fù)雜性,ControlBuild 為電氣邏輯仿真提供了單獨(dú)的支持。通過在系統(tǒng)中建立與實際電路圖在外觀上幾乎完全一致的電路仿真模型,ControlBuild 可以進(jìn)一步實時地計算和更新對應(yīng)電路的狀態(tài)。
ControlBuild 電路仿真的突出特點(diǎn)包括:
(1)內(nèi)置電氣元件模型庫支持常見的電氣元器件,如電源、開關(guān)、繼電器等。而對有特殊特性的元件,可以定制開發(fā)。
(2)支持將整個電路通過多頁實現(xiàn)。
(3)仿真時,實時更新各元件狀態(tài),并以特定方式直觀顯示,如開關(guān)開斷狀態(tài)、電路導(dǎo)通時對應(yīng)線路顯示為紅色,否則顯示為灰色等。
(4)可以與其他語言(如C 語言等)所編寫的組件同時仿真,并可通過接口變量進(jìn)行通訊[1]。
平臺主要實現(xiàn)了對電路設(shè)計文件自動生成電氣仿真模型,再通過編寫測試腳本的方式,利用自動化測試工具進(jìn)行測試仿真,并輸出測試報告。
平臺采用配置文件和數(shù)據(jù)庫結(jié)合的方法,按照預(yù)定義的設(shè)計規(guī)則進(jìn)行設(shè)計規(guī)范檢查,最終實現(xiàn)電路圖到電氣仿真模型的自動轉(zhuǎn)換。能夠?qū)﹄娐穲D中所有的元器件、連線等進(jìn)行解析,能夠?qū)﹄娐穲D高度復(fù)原,且能夠自動根據(jù)設(shè)計規(guī)范進(jìn)行設(shè)計錯誤篩查??商嵘娐穲D設(shè)計質(zhì)量,規(guī)范電路圖設(shè)計的模塊化、標(biāo)準(zhǔn)化;平臺利用修改配置文件的方法,實現(xiàn)電路圖元器件的內(nèi)部邏輯仿真。不僅可以將列車實際生產(chǎn)中涉及的輸入輸出I/O 設(shè)備、司機(jī)控制器、多檔開關(guān)、按鈕、繼電器、蜂鳴器、二極管端子排等電氣設(shè)備1∶1 地進(jìn)行電氣特性還原,完全模擬實物動作狀態(tài),還能夠按列車實際電氣特性線路1∶1 地進(jìn)行電氣線路通斷電模擬。能夠解決電路圖中元器件無法仿真,黑盒邏輯無法控制等問題。增加了電氣系統(tǒng)控制邏輯的靈活性和可控性;平臺引進(jìn)了一種電氣仿真模型搭建的工程架構(gòu)。保證了電路模型設(shè)計質(zhì)量,并且適用于多種數(shù)字化模型[2]。減輕了建模工作量,為后續(xù)電氣系統(tǒng)測試提供了便利;平臺中的自動化測試功能能夠?qū)﹄娐穲D單頁、單車、列車的功能進(jìn)行自動腳本測試,能夠?qū)﹄娐穲D設(shè)計進(jìn)行仿真驗證,并自動輸出測試報告,提升了電氣仿真模型功能驗證效率。方便測試資源積累,減少了回歸測試投入資源和成本。
由電路圖自動轉(zhuǎn)換到電氣仿真模型一般需要經(jīng)過電路圖信息讀取、配置文件數(shù)據(jù)庫處理和電氣仿真模型生成3 大過程,自動轉(zhuǎn)換方案如圖1所示。
圖1 由電路圖到電氣仿真模型的自動轉(zhuǎn)換方案
(1)電路圖信息讀取
主要通過自動轉(zhuǎn)換工具通過正確合法使用電路圖設(shè)計軟件API 接口對電路圖的信息進(jìn)行讀取,以及對電氣系統(tǒng)的其他信息進(jìn)行配置等。涉及內(nèi)容主要包含:電氣系統(tǒng)列車信息配置、提取電路圖中的列表信息、設(shè)備名稱針腳及連接信號、電路圖元器件庫讀取、電路圖黑盒設(shè)備識別等。
自動轉(zhuǎn)換工具能夠解析電路圖中的所有元器件信息,并對其中無法識別的元器件輸出日志文件,用于自定義。
自動轉(zhuǎn)換工具能夠?qū)﹄娐穲D連線(包括頁內(nèi)連線、功能組間連線、車間連線等)進(jìn)行解析,并在解析過程中對其進(jìn)行檢查,將功能組間設(shè)計錯誤,包括線號缺失、設(shè)備信息缺失、跨接線信息錯誤、多檔開關(guān)信息缺失、帶二極管的端子信息缺失、設(shè)備重名等錯誤信息輸出為日志文件,方便設(shè)計者進(jìn)行故障檢測。
(2)配置文件數(shù)據(jù)庫處理
主要通過自動轉(zhuǎn)化工具將列車配置信息、電氣仿真模型命名規(guī)則、電路圖和電氣仿真模型元器件對應(yīng)規(guī)則、電路圖和電氣仿真模型黑盒設(shè)備對應(yīng)規(guī)則等信息以配置形式存儲到本地,并在自動轉(zhuǎn)換過程中,利用數(shù)據(jù)庫處理的方法,將電路圖及電氣系統(tǒng)信息轉(zhuǎn)換到電氣仿真模型中。
(3)電氣仿真模型生成
首先需要搭建電氣仿真模型工程架構(gòu)。然后通過自動轉(zhuǎn)換工具,利用數(shù)據(jù)庫信息,對電氣仿真模型進(jìn)行自動繪制。自動生成的電氣仿真模型能夠滿足后續(xù)對電氣系統(tǒng)進(jìn)行測試驗證和進(jìn)一步搭建控制系統(tǒng)模型的需求。
電氣仿真模型工程架構(gòu)分為4 層,如圖2 所示。利用自動轉(zhuǎn)換工具,結(jié)合定制的元器件庫和數(shù)據(jù)庫配置文件,能夠?qū)崿F(xiàn)由電路圖到電氣仿真模型的自動繪制。
圖2 電氣仿真模型工程架構(gòu)搭建方案
第1 層(最頂層)為列車級仿真模型,集成各車輛級模型、速度模型、MVB 總線信號、司控臺等;電路模型中,車輛間跨接線連接在該層級完成。
第2 層為車輛級仿真模型,集成車輛級電路模型、各系統(tǒng)模型等;電路模型中,各子系統(tǒng)硬線I/O連接在該層級完成。
第3 層為功能組級仿真模型,集成功能組級電路模型、各類開關(guān);電路模型中,各功能組間的電路連接在該層級完成。
第4 層為電路仿真模型(最底層),集成電路圖中的各個分頁;電路模型中,最底層電路頁面間的連接在該層級完成。
平臺設(shè)計了一種鐵路行業(yè)專用的元器件庫。是根據(jù)電路圖中涉及的數(shù)據(jù)庫元器件特性和鐵路行業(yè)使用的電氣元器件特性,對電氣仿真軟件中的電路仿真元器件功能進(jìn)行重新開發(fā),形成鐵路行業(yè)專用的元器件庫。
對于某些項目中特殊的自建元器件,能夠形成日志文件輸出,用于約定轉(zhuǎn)換規(guī)則,并能夠方便配置增加元器件用于擴(kuò)展。
可以根據(jù)設(shè)計需要對電路圖黑盒設(shè)備進(jìn)行邏輯編寫,再利用電路圖和電氣仿真模型黑盒設(shè)備對應(yīng)的配置進(jìn)行電氣特性連接,進(jìn)而實現(xiàn)黑盒邏輯控制。
對電氣仿真或列車仿真的測試既可以通過ControlBuild 仿真界面以手動仿真測試的方式執(zhí)行,也可以通過平臺的自動化測試工具實現(xiàn)。
平臺中的自動化測試工具,將能夠按照編寫好的測試用例自動生成測試腳本,測試腳本能夠進(jìn)行自動測試并輸出測試報告,能夠方便地查看轉(zhuǎn)換過程中遇到的設(shè)計規(guī)則不符合項等。電氣仿真模型自動化測試方案如圖3 所示。
圖3 電氣仿真模型自動測試方案
電氣仿真模型自動化測試首先要進(jìn)行測試用例配置,測試用例配置主要包含元器件信息、動作和結(jié)果3 個主要因素。信息是要給出被控制元器件的具體信息,根據(jù)該信息能夠去尋找電氣仿真模型中的變量;動作是元器件動作,即給元器件賦值;結(jié)果是該元器件動作引起的一系列反應(yīng)即引起相關(guān)的元器件值變化,通過捕捉該器件值的變化與預(yù)設(shè)值對比,判斷該動作是否達(dá)到預(yù)期。
然后解析電氣仿真模型中的所有變量,包括變量的名字、類型、輸入/輸出和變量實例等信息,將所有的信息存儲到數(shù)據(jù)庫中。
最后通過對測試用例信息的提取,對比數(shù)據(jù)庫,提取相關(guān)變量,根據(jù)動作去自動生成邏輯代碼,然后在期望值處尋找相應(yīng)的變化值,去數(shù)據(jù)庫中找到相應(yīng)變量,根據(jù)預(yù)設(shè)結(jié)構(gòu)構(gòu)想去生成結(jié)果代碼,最后生成ControlBuild 能夠自動識別的腳本文件,并將其自動導(dǎo)入到電氣仿真模型中。自動化測試腳本自動執(zhí)行過程如圖4 所示。
圖4 自動化測試腳本自動執(zhí)行過程
測試腳本主要包括初始化、蓄電池給電、列車激活占用等。根據(jù)整車及每個功能組的電路控制邏輯功能編寫測試腳本,通過自動化測試驗證電路控制邏輯的正確性。
自動化測試工具大大減少了用戶編寫腳本的工作量。測試質(zhì)量穩(wěn)定可靠、測試效率高,且能夠方便地查看電氣仿真模型中的設(shè)計規(guī)則不符合項等,節(jié)省了大量人力資源投入。
根據(jù)文中的自動轉(zhuǎn)換平臺設(shè)計方案,搭建了列車電氣邏輯仿真測試平臺,其中電路圖設(shè)計軟件以E3 軟件為例,電氣仿真軟件以ControlBuild 軟件為例,配置文件以XML 配置文件為例,自動測試腳本編寫以EXCEL 格式為例,執(zhí)行的電氣仿真測試腳本以ST 語言為例。
由電路圖到電氣仿真模型的自動轉(zhuǎn)換平臺開發(fā)實例如圖5 所示。
圖5 電氣仿真模型實例
列車電氣邏輯仿真測試平臺能夠有效地解決電路圖到電氣仿真模型的轉(zhuǎn)換問題,并能夠按照預(yù)定義的設(shè)計規(guī)則進(jìn)行設(shè)計規(guī)范檢查。生成的電氣仿真模型開發(fā)效率高,質(zhì)量穩(wěn)定、可靠,與實際電路圖一一對應(yīng),復(fù)原程度高。與手動繪制相比,極大地提高了效率,節(jié)約了人力成本和時間成本。
平臺中的自動化測試工具,大大減少了用戶編寫腳本的工作量。測試質(zhì)量穩(wěn)定可靠、測試效率高,且能夠自動輸出測試結(jié)果,對測試失敗用例進(jìn)行日志提示和回歸測試,方便技術(shù)人員進(jìn)行故障診斷,縮短調(diào)試周期,提高研發(fā)設(shè)計水平,目前已在某公司多個實車項目中應(yīng)用,適合在軌道交通領(lǐng)域推廣,具有很好的發(fā)展前景。
平臺生成的電氣仿真模型能夠作為單獨(dú)模型,將其外部控制信號以輸入輸出的方式與其他模塊進(jìn)行連接,直接用于列車控制系統(tǒng)集成仿真測試,不僅可提升電氣仿真模型開發(fā)效率,還可應(yīng)用在列車控制單元軟件測試中[3],提升軟件測試環(huán)境開發(fā)效率。