段靜 余長超 陳展
摘 要:本文在對測試環境需求分析的基礎上,闡述了利用OPC方式與機車TCU控制邏輯軟件通信互聯,從而實現測試環境的純軟構建。并借助NI TestStand軟件測試管理工具,設計測試序列,實現機車TCU邏輯控制軟件的自動化測試。通過實際項目測試應用,該平臺滿足了對TCU邏輯軟件自動化測試的需求。該方法具有很強的通用性,適用于同類型的軟件測試活動。
關鍵詞:OPC;TestStand;自動化測試
中圖分類號:TK424 文獻標志碼:A
Abstract:This paper expounds the use of OPC mode and the communication of locomotive TCU control logic software based on the analysis of test environment requirements,so as to realize the soft construction of test environment. With the help of NI TestStand software test management tool, test sequence is designed to realize automatic test of TCU logic control software for locomotive. Through the actual project testing application, the platform meets the need of automatic testing of TCU logic software. Its very versatile and is suitable for the same type of software testing activities.
Keywords:OPC;TestStand; Automated test
0 引言
隨著當前國內外軌道交通的不斷發展,軌道車輛需求量也逐年攀升。牽引系統作為軌道車輛的“心臟”,承擔著非常重要的角色。對于TCU邏輯控制軟件的可靠性要求越發嚴格,不同市場項目的軟件測試任務也越來越重。目前已經構建了TCU半實物仿真測試臺以及TCU功能測試臺,半實物仿真測試臺注重于算法研究及TCU軟件性能分析,TCU功能測試臺注重于TCU的基本功能驗證。但由于受測試臺資源的限制以及市場項目進度緊張的壓力,現有資源遠不滿足TCU控制軟件邏輯功能的測試驗證需求,因此研究開發了基于純軟件的自動化測試方法,實現可以更加便捷、高效地進行測試,減少在軟件設計階段存在的問題及缺陷,并可進行現場故障及問題的再現和分析,縮短產品開發周期、提升產品設計質量。
1 方案分析
機車TCU邏輯控制功能,由TCU機箱中的SMC主控插件的控制軟件實現,主要完成對機車牽引變流器的各種邏輯控制功能,其中主要包括:主電路接觸器控制邏輯、變流器模塊脈沖啟/停控制邏輯、故障診斷與保護控制邏輯、牽引制動力特性控制、功率分配控制等。為了快速進行軟件在環,對TCU主控軟件測試。同時,由于要實現對主控插件軟件的測試,需要模擬TCU機箱中其他插件信號,通過外部通信接口方式替代實物機箱中的背板總線。
機車TCU控制軟件采用KW公司的Multiprog軟件,該軟件具有OPC通信接口,并可在PC機上虛擬服務器,TCU控制軟件編譯完成后,可將目標碼下載到虛擬的服務器中。仿真平臺軟件采用NI公司的圖形化編程軟件LabVIEW,LabVIEW帶有基于DataSocket技術的OPC通信模塊。
OPC(OLE for Process Control)是一個工業標準,為基于Windows的應用程序和現場過程控制應用建立了通信的橋梁。它改變了之前每一個現場應用軟件都需要編寫專用的接口函數方式,通過一種具有高效性、可靠性、開放性、客戶操作性的即插即用的設備驅動程序OPC完成。它是以微軟公司的OLE技術為基礎,通過提供一套標準的OLE/COM接口完成,允許多臺微機間交換文檔、圖形等對象。通過該標準,可將測試軟件與被測軟件快速建立數據連接,從而實現數據閉環。
同時為了提高測試驗證效率,需要一種簡便快捷的自動化測試方式。NI TestStand可用于開發、執行和部署測試系統軟件。此外,用戶還可使用任何編程語言編寫的測試代碼模塊開發測試序列。測試序列可以指定執行流、生成測試報告、進行數據庫記錄,用戶可借助易用的操作界面,快速部署測試系統進行自動化測試。
2 測試系統的組成與方案設計
針對機車TCU純軟測試的需求,設計一種基于NI的自動化測試仿真平臺。被測軟件通過設計OPC接口,與測試環境軟件數據互聯,同時設計基于TestStand的頂層管理。實現對被測軟件的自動化測試。機車TCU純軟件自動化測試拓撲如圖1所示。
針對機車TCU純軟件測試方案的分析,本方法僅需1臺PC機即可完成所有測試工作。其中,被測軟件和自動化測試環境軟件安裝在本地,兩個軟件系統間通過OPC服務器建立連接。在自動化測試軟件中,根據仿真模型的構建需要,并結合通用平臺化的考慮,該部分內部可分為實驗環境應用軟件、通用接口應用層軟件、外部測試模型注入、自動化測試接口軟件以及通信軟件等。在實驗環境應用軟件內部,由牽引變流器傳動模型和TCU機箱插件模擬組成。該部分與通用接口應用層軟件、外部測試模型注入軟件、自動化測試軟件分別采用不同的端口進行本地TCP通信,將各個不同的模塊進行集合。軟件開發人員和軟件測試人員既可以手動測試,也可以通過設計測試用例的測試序列進行自動化測試。
3 機車TCU控制邏輯純軟件仿真平臺的實現
根據用戶的需求,需要實現的功能包括:(1)TCU外部環境模擬;(2)TCU機箱內部插件數據模擬;(3)OPC通信;(4)波形監視、記錄與回放;(5)外部測試模型接口設計。
3.1 TCU外部環境模擬
TCU外部環境模型包括主電路、司控臺、模擬司控臺、變流器數字量模型、電壓電流模型、溫度壓力模型、機車運行模型等。
3.1.1 主電路模型
根據實際裝車外部車輛電氣,直觀展示從供電電源到變壓器、中間直流回路、到逆變器、交流電機、輔助用電設備等車輛電氣裝置的運行情況。通過主電路,可以查看各個元器件的工作狀態及電路中各傳感器讀數,并可強制控件數據,主電路中的數據均來源于各插件模型和外部環境模型。
3.1.2 模擬司控臺模型
模擬司控臺通過OPC通信端口,直接與TCU進行數據交互,相比司控臺,模擬司控臺中數據更加齊全。司控臺用于裝車程序的調試,模擬司控臺用于裝車前,進行各種調試試驗時,下發各種命令及TCU狀態顯示。模擬司控臺的輸出有主控制命令(主斷、向前、向后、牽引、制動等)、模擬量給定(力矩、四象限電流、逆變電流、輔逆頻率等)、各插件軟件版本號、四象限模塊/逆變模塊/輔逆模塊元件故障、模塊過熱故障、主控制命令、接觸器及模塊隔離狀態顯示等。
3.1.3 變流器數字量模型
變流器數字量模型包括TCU采集的所有數字量信號,如變流器元件故障,模塊過熱信號,充電短接接觸器狀態,主斷狀態等。為能夠真實反應主變流器對TCU命令及外部環境的響應,結合DIO插件模型、司控臺、主電路進行邏輯模擬。
3.1.4 電壓電流模型
電壓電流模型是根據能量平衡原理,利用電機側功率及一些確定的電壓量,來對變流器中各電壓電流傳感器的數值進行建模。由于模擬了電傳動系統的所有外部環境,因此對TCU的所有輸入電壓電流信號進行建模,包括原邊電流、四象限輸入電流、中間電壓和半中間電壓、斬波電流等。
3.1.5 機車運動模型
機車運動模型主要是利用機車傳動系統的參數及外部線路數據,配置相應的列車阻力系數、坡道、機車重量、轉彎半徑、齒輪傳動比等,根據MCC插件模型輸入的給定牽引/制動力矩、輪徑、牽引/制動命令、過分相發電命令等,實時計算出輸出電機軸的實際力矩、電機實時轉速等。
3.1.6 網壓模型
網壓模型根據環境模型參數設置,司控臺的過分相命令,變流器數字量模型的主斷狀態,MVB插件模型的電機速度、手柄給定力等,計算當前網壓值,并能向變流器數字量模型輸出過分相分主斷信號,輸出過分相預告信號。仿真模型中假設網壓與當前機車運行工況及功率無關,網壓模型可由正常工況和4種非正常工況(網壓突升、突降、波動和過分相)綜合而成,每種非常工況下的參數均可進行配置。
3.1.7 溫度壓力模型
溫度壓力模型是根據外部環境溫度、用戶設置參數及一些相關數據,建立變流器TCU采集的各種溫度,水壓數據模型。溫度壓力模型依據機車運動模型輸出的實際力矩、電機轉速,ACC插件模型的輔變實際輸出頻率,能夠模擬出水溫、水壓、柜體溫度、油溫、電機溫度等。
3.2 TCU機箱插件模擬
TCU插件包括所有通過AMS總線與SMC插件進行數據通信的插件,主要包括LSC、MSC、LCC、MCC、ACC、DIO插件等模型,建立這些插件模型的目的是模擬各插件與SMC插件的數據流關系及各插件的軟件功能。
3.3 OPC通信
機車TCU控制軟件與仿真平臺軟件通過OPC建立通信,SMC軟件與各外部環境模型、插件模型、司控臺、模擬司控臺等交互的所有數據均可通過仿真平臺模擬實現。SMC軟件與仿真平臺進行交互的數據按照最大接口單元進行設計,形成通用的通信協議配置文件,可在其基礎上,針對具體車型的TCU軟件,配置具體的通信協議,滿足對多種車型TCU的需求。其中OPC通信軟件代碼中,分別在OpenDataSocket模塊中設置讀/寫模式,通過數據轉換,分別采用ReadDataSocket和WriteDataSocket進行數據讀寫操作,并根據軟件工程內部通知器進行數據傳輸,保證數據同步的處理。
3.4 波形監視、數據記錄與回放
快速波形監視軟件主要用來對TCU邏輯控制軟件內部重要數字模擬量的狀態和數值進行監視,通過OPC服務器相應端口以10ms為周期接收256路數字量和64路模擬量。用戶可根據需要配置任意16路數字量和16路模擬量進行實時監視。
同時,可以根據測試的需要,保存當前測試過程中的所有通道數據,每通道數據以Excel格式文件進行保存,并以實驗當前時刻命名保存在安裝軟件的對應目錄下。
測試環境軟件還支持數據回放功能,通過界面操作,選擇用戶指定路徑下的數據文件,在數據回放軟件界面中通過勾選待觀測通道進行回放分析。
3.5 外部測試模型接口設計
對于有特殊需求的仿真模型,軟件測試人員可通過開放的外部接口,遵循軟件內部制定的通信協議,通過外部的仿真模型數據覆蓋軟件測試軟件內部已有的測試數據流的方式,即可實現外部數據注入。
4 自動化測試設計
NI TestStand是可立即執行的測試執行管理軟件,用于組織、控制和執行自動化原型設計、驗證或制造測試系統。加入在LabVIEW、Visual Basic .NET、Visual C/C++、LabWindows/CVI和C#中編寫的測試程序,使用該工具可快速創建測試序列。使用NI TestStand編寫的系統可與源代碼控制、需求管理、數據管理系統進行集成。
當采用自動化測試手段時,手動執行測試環境軟件無效,所有的外部接口數據中,自動化測試管理軟件中的優先級最高,系統只響應TestStand測試序列中的測試數據。
借助于工具自帶的序列編輯器,用戶可創建測試序列,實現使用任何編程語言編寫的代碼模塊執行的自動化。根據測試用例,設計對應的起始條件PreUUT、執行過程MainSequence,后處理PostUUT自動讀取對應協議位置的信號,與預設值進行比較,得到測試用例是否通過的結論。同時根據測試人員的測試需求進行人機接口設計,測試結果信息將自動記錄在測試報告或數據庫中。在測試過程中,可動態觀察到每個步驟的執行情況,方便測試人員追溯歷史測試數據。
5 測試應用
機車TCU控制軟件邏輯自動化測試平臺,目前已經用于神華八軸機車、南非22E機車的軟件測試中。通過該自動化測試平臺的實際使用,幫助設計人員發現了TCU邏輯控制軟件存在的問題和缺陷。在復用仿真平臺軟件的基礎上,較容易應用于動車TCU的邏輯驗證。
利用LabVIEW圖形化設計工具和TestStand程序管理平臺,可以快速開發出適應具體需求的測試程序并可以方便地進行修改,且開發周期短,極大地提高了測試工作效率,保證軟件產品質量,有效地保證了公司產品的可靠性。
參考文獻
[1]陳樹學,劉萱. LabVIEW寶典[M].北京:電子工業出版社,2011.
[2]成正林,李學明,黃明明,等.機車傳動系統控制邏輯純軟件仿真測試平臺開發[J].機車電傳動,2016(2):98-100.
[3]王書淵,文龍賢,張奕黃.基于虛擬儀器的城軌車輛牽引測試系統設計[J].電力機車與城軌車輛,2006(6):18-19.
[4]鐘曉軍.大功率貨運電力機車牽引重在列車方案計算分析[J].鐵道機車車輛,2013,33(12):61-62.
[5]熊斌.基于LabVIEW及TestStand的自動化功能測試系統研究[D].哈爾濱:哈爾濱工業大學,2010.