陳子昊 王超逸 楊超 武利偉 呂小磊 顧金龍
摘 要:為提高整車(chē)EOL電檢系統(tǒng)腳本的驗(yàn)證效率,簡(jiǎn)化驗(yàn)證過(guò)程,根據(jù)電檢協(xié)議及原理提出一種搭建整車(chē)EOL電檢系統(tǒng)的虛擬驗(yàn)證環(huán)境的方法。采用VSPY的Message Editor模塊和Function Block模塊搭建操作過(guò)程簡(jiǎn)單,實(shí)現(xiàn)條件方便的整車(chē)EOL電檢系統(tǒng)虛擬驗(yàn)證環(huán)境,實(shí)現(xiàn)對(duì)電檢腳本的免臺(tái)架和實(shí)車(chē)測(cè)試,從而快速判斷出電檢腳本邏輯是否存在問(wèn)題,并及時(shí)處理問(wèn)題。
關(guān)鍵詞:虛擬驗(yàn)證 EOL 測(cè)試
Abstract:In order to improve the verification efficiency of the whole vehicle EOL electric inspection system script and simplify the verification process, a method of building a virtual verification environment of the whole vehicle EOL electric inspection system is proposed according to the electric inspection protocol and principle. Vspy's message editor module and function block module are used to build a virtual verification environment of the whole vehicle EOL electric inspection system with simple operation process and convenient conditions, so as to realize the bench free and real vehicle test of the electric inspection script, so as to quickly judge whether there are problems in the logic of the electric inspection script and deal with the problems in time.
Key words:virtual verification, EOL, testing
1 引言
隨著汽車(chē)行業(yè)的高速發(fā)展,人們對(duì)汽車(chē)在安全性,舒適性等方面要求越來(lái)越高,隨之而來(lái)的是關(guān)于汽車(chē)上ECU模塊的種類(lèi)越來(lái)越多,車(chē)型配置越來(lái)越復(fù)雜,對(duì)于EOL電檢系統(tǒng)的腳本開(kāi)發(fā)和驗(yàn)證的要求也越來(lái)越高,現(xiàn)階段大部分的電檢系統(tǒng)的腳本驗(yàn)證都是通過(guò)實(shí)車(chē)驗(yàn)證或者是臺(tái)架驗(yàn)證,但是實(shí)車(chē)驗(yàn)證和臺(tái)架驗(yàn)證存在以下幾點(diǎn)問(wèn)題:1.無(wú)論是實(shí)車(chē)驗(yàn)證或是臺(tái)架驗(yàn)證都是需要實(shí)體資源,在緊急情況下可能很難及時(shí)得到驗(yàn)證。2.實(shí)車(chē)和臺(tái)架驗(yàn)證跟腳本存在需求不同的可能,難以得到驗(yàn)證。3.驗(yàn)證效率低,可能并沒(méi)有擁有新版腳本的驗(yàn)證條件。因此,本文提出利用VSPY通過(guò)模擬仿真外部ECU的回復(fù),對(duì)診斷設(shè)備發(fā)出的指令進(jìn)行回復(fù),從而起到對(duì)整車(chē)電檢系統(tǒng)腳本虛擬驗(yàn)證的效果。
2 VSPY介紹
在汽車(chē)總線(xiàn)仿真測(cè)試行業(yè)中,一般使用最多的為兩款軟件,一是Vector公司的CANOE,另外一個(gè)則是英特佩斯公司的VSPY。
Vector公司CANoe是為了開(kāi)發(fā),測(cè)試和分析整個(gè)ECU網(wǎng)絡(luò)和單個(gè)ECU而設(shè)計(jì)的全面的軟件工具,它能夠參與整個(gè)開(kāi)發(fā)流程,它的功能較為豐富多樣,在全球大部分汽車(chē)廠和一級(jí)供應(yīng)商得到廣泛的應(yīng)用,但是其產(chǎn)品分模塊和功能進(jìn)行銷(xiāo)售,同時(shí)其銷(xiāo)售的價(jià)格昂貴。
而英特佩斯的VSPY是一款專(zhuān)業(yè)的汽車(chē)總線(xiàn)仿真測(cè)試軟件,專(zhuān)業(yè)的CAN/LIN總線(xiàn)分析儀,能夠進(jìn)行汽車(chē)故障診斷,ECU節(jié)點(diǎn)仿真開(kāi)發(fā),ECU自動(dòng)化測(cè)試,總線(xiàn)數(shù)據(jù)采集,CAN/LIN線(xiàn)解碼/破解,XCP/CCP協(xié)議的ECU標(biāo)定,以及車(chē)輛網(wǎng)絡(luò)總線(xiàn)數(shù)據(jù)監(jiān)測(cè)。簡(jiǎn)單易學(xué),更重要的是價(jià)格只有Vector公司CANoe的價(jià)格的1/5,購(gòu)買(mǎi)軟件就可以獲得全部功能,操作方便,因此,在車(chē)輛虛擬驗(yàn)證臺(tái)架的搭建過(guò)程中,采用VSPY較為合適,不僅提高整個(gè)搭建過(guò)程的效率,也降低了搭建的成本。
通過(guò)VSPY工具對(duì)整車(chē)EOL電檢系統(tǒng)虛擬環(huán)境的搭建,主要利用到VSPY SPY3版本的診斷報(bào)文編輯區(qū)、功能測(cè)試項(xiàng)編輯區(qū)、message模塊編輯區(qū)三個(gè)模塊編輯區(qū)。
2.1 診斷報(bào)文編輯區(qū)(Messages Editor)
診斷報(bào)文編輯區(qū)中主要分為三個(gè)板塊:請(qǐng)求報(bào)文編輯區(qū)(Receive),響應(yīng)報(bào)文編輯(Transmit),數(shù)據(jù)庫(kù)(database),在虛擬驗(yàn)證中主要用到Receive功能和Transmit功能。
請(qǐng)求報(bào)文編輯區(qū)主要的作用是編輯識(shí)別并比對(duì)設(shè)備發(fā)出的報(bào)文,并與Function Block功能結(jié)合,完成對(duì)設(shè)備報(bào)文的驗(yàn)證,如果驗(yàn)證比對(duì)成功則通過(guò)Function Block功能調(diào)用發(fā)送響應(yīng)的報(bào)文回復(fù)。
響應(yīng)報(bào)文編輯區(qū)的主要作用是編輯設(shè)備請(qǐng)求報(bào)文對(duì)應(yīng)的響應(yīng)報(bào)文,通過(guò)報(bào)文編輯區(qū)的數(shù)據(jù)報(bào)文識(shí)別設(shè)備發(fā)送的報(bào)文,通過(guò)Fuction Block中的腳本,回復(fù)響應(yīng)報(bào)文區(qū)鏈接的報(bào)文。
2.2 功能測(cè)試項(xiàng)編輯區(qū)(Function Block)
Function Block功能是整車(chē)EOL系統(tǒng)虛擬驗(yàn)證的重要部分,也是VSPY中常用的腳本控制語(yǔ)言,它既可以在VSPY中運(yùn)行,也可以用VSPY可將其編譯程CoreMini寫(xiě)入neoVI硬件產(chǎn)品中脫機(jī)運(yùn)行。目前Function Block大概含有三十條指令,包括常用的邏輯控制、數(shù)據(jù)記錄、發(fā)送報(bào)文等。
在測(cè)試驗(yàn)證過(guò)程中,通過(guò)Function Block實(shí)現(xiàn)幾點(diǎn)功能:1.用于判斷外部設(shè)備的請(qǐng)求報(bào)文,然后發(fā)送相應(yīng)的響應(yīng)報(bào)文。2.設(shè)置診斷地址,報(bào)文響應(yīng)時(shí)間,響應(yīng)次數(shù)等。3.創(chuàng)建診斷序列,按照一定的順序和發(fā)送響應(yīng)報(bào)文。4.動(dòng)態(tài)設(shè)置ECU響應(yīng)的狀態(tài)值。
2.3 Message模塊
在診斷設(shè)備開(kāi)始發(fā)送報(bào)文后,我們可以通過(guò)Spy Networks-Message進(jìn)入報(bào)文查看界面,所有與報(bào)文信息有關(guān)的查看均在此界面進(jìn)行。
在message界面下,可以看查看各個(gè)參數(shù),在查看CAN報(bào)文即默認(rèn)狀態(tài)的情況下,有以下的主要內(nèi)容可以查看。
3 虛擬驗(yàn)證系統(tǒng)搭建的結(jié)構(gòu)及腳本原理
3.1 虛擬驗(yàn)證系統(tǒng)搭建的結(jié)構(gòu)
虛擬驗(yàn)證的實(shí)現(xiàn)方式為將待驗(yàn)證的腳本release導(dǎo)入測(cè)試診斷儀中,然后通過(guò)通訊接口跟搭建好的臺(tái)架進(jìn)行數(shù)據(jù)交互,設(shè)備發(fā)出測(cè)試的DID,通過(guò)接口在虛擬臺(tái)架中進(jìn)行判斷,然后虛擬臺(tái)架會(huì)根據(jù)條件回復(fù)相關(guān)的回復(fù)DID通過(guò)通訊接口,反饋到診斷設(shè)備中,從而達(dá)到虛擬驗(yàn)證腳本的目的。
如下圖所示,在虛擬驗(yàn)證系統(tǒng)結(jié)構(gòu)中,主要分為診斷報(bào)文編輯區(qū)和功能測(cè)試項(xiàng)編輯區(qū),在診斷報(bào)文編輯區(qū)模塊中,通過(guò)設(shè)置請(qǐng)求報(bào)文編輯區(qū)的相關(guān)的指令進(jìn)行識(shí)別并比對(duì)設(shè)備發(fā)出的相關(guān)報(bào)文,通過(guò)編輯響應(yīng)報(bào)文編輯區(qū)中相關(guān)數(shù)據(jù),來(lái)進(jìn)行存儲(chǔ)相關(guān)的回復(fù)報(bào)文,兩者通過(guò)Function Block進(jìn)行連接,也可以理解為診斷報(bào)文編輯區(qū)起到整個(gè)虛擬驗(yàn)證系統(tǒng)的數(shù)據(jù)庫(kù)的功能,F(xiàn)unction Block從中調(diào)用已經(jīng)編輯好的相關(guān)報(bào)文用來(lái)進(jìn)行比對(duì)或是回復(fù)。
3.2 Fuction Block腳本邏輯原理
以吉利SS11車(chē)型的寫(xiě)入功能測(cè)試協(xié)議為例,F(xiàn)unction Block的script類(lèi)型與C語(yǔ)言類(lèi)似,首先為if語(yǔ)句進(jìn)行判斷,判斷條件為請(qǐng)求報(bào)文編輯區(qū)中的設(shè)置好的RX_SIM_2EF101模塊,而RX_SIM_2EF101模塊中編輯的報(bào)文為2E F1 01,即在lin線(xiàn)的數(shù)據(jù)流中,如果出現(xiàn) 2E F1 01的報(bào)文,即開(kāi)始執(zhí)行該條件下的腳本,同理Else If類(lèi)同于C語(yǔ)言中的功能,從而實(shí)現(xiàn)判斷不同指令執(zhí)行不同的腳本的作用。
Wait Until語(yǔ)句為當(dāng)前條件循環(huán),類(lèi)同于C語(yǔ)言中的While語(yǔ)句,控制腳本一直處理等待狀態(tài),直到設(shè)置的條件為真才繼續(xù)往下執(zhí)行。
而Transmit語(yǔ)句則是發(fā)送響應(yīng)報(bào)文編輯區(qū)中設(shè)置好的報(bào)文,發(fā)送到數(shù)據(jù)流中,對(duì)If語(yǔ)句的判斷條件進(jìn)行回復(fù),而最后的set value則是使這次回復(fù)的次數(shù)為1次,如果取消這個(gè)語(yǔ)句,則腳本會(huì)對(duì)判斷報(bào)文一直循環(huán)發(fā)送回復(fù)報(bào)文。發(fā)送結(jié)束后,跳到End If語(yǔ)句結(jié)束腳本的運(yùn)行。
通過(guò)上述操作可以驗(yàn)證正反饋的腳本驗(yàn)證,同理,也可以對(duì)相關(guān)腳本的負(fù)反饋也進(jìn)行驗(yàn)證,流程圖如下,由此可見(jiàn),虛擬驗(yàn)證不僅可以驗(yàn)證腳本的正反饋,也可以測(cè)試負(fù)反饋是否會(huì)對(duì)腳本產(chǎn)生影響。
4 整車(chē)電檢系統(tǒng)虛擬驗(yàn)證環(huán)境的應(yīng)用
基于SS11車(chē)型 ESC模塊進(jìn)行測(cè)試驗(yàn)證,正負(fù)反饋均驗(yàn)證成功,驗(yàn)證總時(shí)長(zhǎng)約3S,測(cè)試結(jié)果的部分信息如下圖所示。
以UK lotus為例,當(dāng)初版腳本導(dǎo)入后,經(jīng)過(guò)實(shí)車(chē)驗(yàn)證關(guān)于腳本問(wèn)題平均一周發(fā)現(xiàn)并解決的腳本問(wèn)題為2個(gè),而通過(guò)虛擬臺(tái)架驗(yàn)證腳本問(wèn)題一天平均發(fā)現(xiàn)并解決腳本問(wèn)題為5個(gè),大大提高了腳本的驗(yàn)證效率,降低了腳本在實(shí)車(chē)測(cè)試運(yùn)行失敗的風(fēng)險(xiǎn)。
5 結(jié)論
提出一種利用VSPY工具,搭建整車(chē)EOL電檢系統(tǒng)腳本驗(yàn)證的虛擬環(huán)境的方法,該方法也可根據(jù)編輯不同的報(bào)文模塊,完成對(duì)電檢腳本不同工位的進(jìn)行測(cè)試。解決了當(dāng)前缺少實(shí)體資源和實(shí)體資源與腳本測(cè)試條件不符的情況,同時(shí)也提高了電檢系統(tǒng)腳本的驗(yàn)證效率,降低腳本的邏輯錯(cuò)誤的概率,為后面的基地實(shí)車(chē)腳本驗(yàn)證提供了技術(shù)支持。
參考文獻(xiàn):
[1]何默,費(fèi)毅杰,孫競(jìng).基于ISO 14229協(xié)議的汽車(chē)ECU自動(dòng)診斷測(cè)試平臺(tái)開(kāi)發(fā)[J].汽車(chē)電器,2020(05):60-62+67.
[2]裴軍偉,韓可強(qiáng),丁健,黃家剛,程雨佳.基于EOL的下線(xiàn)診斷寫(xiě)配置系統(tǒng)開(kāi)發(fā)[J].汽車(chē)電器,2019(01):30-32.
[3]ISO13400-3-2011. Published in Switzerland,2011.
[4]惠志洲,單慧.基于CANoe的UDS診斷網(wǎng)絡(luò)層測(cè)試方法[J].電子測(cè)試,2021(09):65-67+73.
[5]張英,張仁杰.基于CAN總線(xiàn)的汽車(chē)遠(yuǎn)程故障診斷系統(tǒng)研究[J].信息技術(shù),2014(10):86-90.
作者簡(jiǎn)介
陳子昊:(1998—),男,軟件開(kāi)發(fā)工程師,學(xué)士。研究方向:EOL電檢系統(tǒng)軟件開(kāi)發(fā)。