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