【摘 要】目前ECU的硬件接口測試大多采用人工測試的方式。文章主要闡述一種實現ECU硬件接口自動化測試的方法。該方法首先把硬件接口測試中的工具集成為一套硬件接口測試平臺,運用VERISTAND和LABVIEW搭建相應的上位機系統,接著使用WITEST自動測試軟件編寫自動測試用例,并調用VERISTAND的相關接口來控制設備或讀取相關數據,最終達成ECU硬件接口的自動化測試,從而提升測試效率。
【關鍵詞】ECU;硬件接口;自動化測試
中圖分類號:U463.6 文獻標識碼:A 文章編號:1003-8639( 2024 )10-0070-02
Research on a Method to Realize Automatic Testing of ECU Hardware Interface
SONG Qian,WANG Tao,LI Zhongyin,WANG Yang,QU Lanfeng
(Institute of Electronic Control and Software,Weichai Power Co.,Ltd.,Weifang 261061,China)
【Abstract】At present,the hardware interface testing of ECU is mostly done by manual testing. The artice mainly elaborates on a method that can achieve automated testing of ECU hardware interfaces. In this method,the hardware interface testing tools are integrated into a set of hardware interface testing platform,the corresponding upper computer system is built by using VERISTAND and LABVIEW,and then the automatic test software WITEST is used to write automatic test cases,and the relevant interface of VERISTAND is called to control the device or read the relevant data. Finally,the automatic test of ECU hardware interface is achieved,which can improve the test efficiency.
【Key words】ECU;hardware interface;automated testing
作者簡介
宋茜(1987—),女,工程師,碩士,主要研究方向為ECU自動化測試。
隨著發動機技術的不斷更新,ECU針腳不斷增加,導致測試工作越來越繁雜。目前硬件接口測試大多采用人工手動測試的方式進行,存在測試工作重復性高、測試量大、測試時間長等問題。為了進一步提高測試效率,解放人工測試,本文提出一種可以實現硬件接口自動化測試的方法。
1 方法概述
該方法分為硬件和軟件兩個部分:硬件機箱與軟件。在硬件部分,主要是將測試中所用到的全部設備集成至一個機柜中,涉及的主要設備包括:示波器、信號發生器、可編程電源、NI PXI控制器及機箱、矩陣卡、數字源表等。軟件部分主要涉及4款軟件:INCA、LABVIEW、VERISTAND和WITEST自動測試軟件。其中,WITEST自動測試軟件作為編寫自動測試用例、執行用例以及統籌調用INCA和VERISTAND的中間軟件。INCA主要用于監控ECU數據和標定相關數據。VERISTAND用于編寫設備控制界面以及調用LABVIEW編寫的驅動。整個方法的框架如圖1所示。
2 功能實現
2.1 機柜
設備采用機柜的方式,由電源、PXI測試系統、示波器、模擬負載、矩陣板卡和調理板卡等組成。機柜布局示意如圖2所示,機柜內部帶有散熱風扇。
1)設備工作環境要求:電源為220V±10%,50Hz;最低溫度-10℃;最高溫度+45℃(24h平局溫度不超過+40℃);相對濕度為83%~87%RH(+40℃),68%~74%RH(-15℃)。
2)機柜主要設備功能有:①NI PXI控制器及機箱,嵌入式控制器,通過上位機的指令來控制設備的運行;②數字源表,用來作為信號源或測量設備;③示波器,主要用來采集信號波形;④信號發生器,為ECU提供注入信號;⑤可編程電源,為ECU提供不同供電能力;⑥信號矩陣卡,切換不同ECU針腳與設備相連;⑦可變電阻和可變負載,作為外接負載使用。
2.2 軟件系統
軟件方面主要涉及4款,分別是:WITEST自動測試軟件、VERISTAND、LABVIEW和INCA。接下來主要介紹WITEST自動測試軟件和LABVIEW的使用注意事項。
1)WITEST自動測試軟件。首先需要注意的是WITEST自動測試軟件版本與VERISTAND版本的兼容性。可以查看WITEST自動測試軟件的Help文件,匹配合適的VERISTAND版本。其次,由于在硬件接口測試中,相同類型接口的測試項目基本一致,所以在編寫測試用例時,注意把通用的功能編寫為一個可復用的模塊,以便可以重復使用。這些通用模塊能夠組成一個模塊庫,方便后續測試的重復使用,減少工作量。
2)LABVIEW。LABVIEW與VERISTAND同樣存在版本兼容性要求,需要按要求匹配正確的版本。在LABVIEW編程中要注意編程的規范性,以免給后續使用者帶來不必要的麻煩。當前項目中經常出現的錯誤是給儀器發送指令后,儀器不響應,報超時故障,所以在LABVIEW編寫驅動時,要注意規避此類錯誤。
2.3 自動測試流程
自動測試流程如圖3所示。以ECU供電針腳為例,具體說明整個測試過程。
2.3.1 在EXCEL表中編寫ECU供電針腳需要進行的測試項目
這一步很關鍵,需要梳理出不同針腳類型需要進行的哪些測試項目。例如圖4中ECU供電針腳需要進行2項測試,即ABC和DEF。在步驟描述和期望結果列填寫具體的測試方法和期望結果。
2.3.2 系統自動生成測試用例
由于接口測試的眾多功能具備可復用性,所以生成自動測試用例的步驟如下。
1)將針腳需要進行的測試項編寫為自動測試用例模塊。如圖5所示,就是把圖4中的ABC項對應的功能編寫為一個自動測試用例,存于模塊庫中,作為通用模塊,以便后期在所需的自動測試用例中進行調用。圖6即為在其他用例中調用通用模塊的示意圖。
2)將供電電壓的24V和期望結果的0.01作為用例的一個輸入項。如此一來,不同的ECU供電針腳,只要測試方法一致,均能調用該自動測試用例,僅需對輸入參數進行修改即可。
3)一個需求對應一個自動測試用例,需求下對應的多個測試用例均為通用模塊。仍以圖4中的例子為例,RequipmentID_EBik24jrld+Zwyi6/GC6UQ==001是一個自動測試用例,ABC和DEF都是通用的自動測試模塊。創建RequipmentID_001自動測試用例之后,把ABC和DEF添加到該自動測試用例中,就組成了這個需求對應的一個完整的自動測試用例(圖7)。這個過程是通過Python編寫的腳本來完成的。腳本會讀取EXCEL表的內容,依照需求創建自動測試用例,然后解析需求下包含的測試模塊以及測試模塊的輸入參數,最后將對應的輸入參數填寫到測試模塊,并將模塊添加到自動測試用例。
2.3.3 執行測試用例和獲取結果
此部分由WITEST自動測試軟件單獨完成,無需人工參與參數設置。然而,設備有時會報告故障或者出現卡死的狀況,這些可能導致自動化測試失敗的情況。因此,需要在自動測試用例中添加相關讀取設備狀態的功能。一旦設備出現問題,先停止自動測試用例的執行,調用相關程序來重啟設備,之后再重新開始執行自動測試用例。
3 結論
通過將示波器、信號發生器等常用硬件測試設備整合組裝為一套系統性的測試裝備,再借助軟件開發對應的設備驅動以及測試用例,便能夠實現硬件接口的自動化測試,將人工測試解放出來,提高測試效率。在整個流程中,設備的選擇、配置以及設備驅動的編寫是最為耗費時間和精力的環節,曾經出現過諸如可變電阻變化范圍選擇不恰當、示波器探頭配置不合理等問題,致使設備無法實現測試功能,所以在組裝設備之前,務必要梳理詳盡的測試需求,明確測試需求所需要的測試設備以及設備的參數。
(編輯 凌 波)