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