陳子昊 王超逸 楊超 武利偉 呂小磊 顧金龍
吉利汽車集團(tuán)有限公司 浙江省寧波市 315336
隨著汽車行業(yè)的高速發(fā)展,人們對(duì)汽車在安全性,舒適性等方面要求越來越高,隨之而來的是關(guān)于汽車上ECU模塊的種類越來越多,車型配置越來越復(fù)雜,對(duì)于EOL電檢系統(tǒng)的腳本開發(fā)和驗(yàn)證的要求也越來越高,現(xiàn)階段大部分的電檢系統(tǒng)的腳本驗(yàn)證都是通過實(shí)車驗(yàn)證或者是臺(tái)架驗(yàn)證,但是實(shí)車驗(yàn)證和臺(tái)架驗(yàn)證存在以下幾點(diǎn)問題:1.無論是實(shí)車驗(yàn)證或是臺(tái)架驗(yàn)證都是需要實(shí)體資源,在緊急情況下可能很難及時(shí)得到驗(yàn)證。2.實(shí)車和臺(tái)架驗(yàn)證跟腳本存在需求不同的可能,難以得到驗(yàn)證。3.驗(yàn)證效率低,可能并沒有擁有新版腳本的驗(yàn)證條件。因此,本文提出利用VSPY通過模擬仿真外部ECU的回復(fù),對(duì)診斷設(shè)備發(fā)出的指令進(jìn)行回復(fù),從而起到對(duì)整車電檢系統(tǒng)腳本虛擬驗(yàn)證的效果。
在汽車總線仿真測(cè)試行業(yè)中,一般使用最多的為兩款軟件,一是Vector公司的CANOE,另外一個(gè)則是英特佩斯公司的VSPY。
Vector公司CANoe是為了開發(fā),測(cè)試和分析整個(gè)ECU網(wǎng)絡(luò)和單個(gè)ECU而設(shè)計(jì)的全面的軟件工具,它能夠參與整個(gè)開發(fā)流程,它的功能較為豐富多樣,在全球大部分汽車廠和一級(jí)供應(yīng)商得到廣泛的應(yīng)用,但是其產(chǎn)品分模塊和功能進(jìn)行銷售,同時(shí)其銷售的價(jià)格昂貴。
而英特佩斯的VSPY是一款專業(yè)的汽車總線仿真測(cè)試軟件,專業(yè)的CAN/LIN總線分析儀,能夠進(jìn)行汽車故障診斷,ECU節(jié)點(diǎn)仿真開發(fā),ECU自動(dòng)化測(cè)試,總線數(shù)據(jù)采集,CAN/LIN線解碼/破解,XCP/CCP協(xié)議的ECU標(biāo)定,以及車輛網(wǎng)絡(luò)總線數(shù)據(jù)監(jiān)測(cè)。簡(jiǎn)單易學(xué),更重要的是價(jià)格只有Vector公司CANoe的價(jià)格的1/5,購買軟件就可以獲得全部功能,操作方便,因此,在車輛虛擬驗(yàn)證臺(tái)架的搭建過程中,采用VSPY較為合適,不僅提高整個(gè)搭建過程的效率,也降低了搭建的成本。
通過VSPY工具對(duì)整車EOL電檢系統(tǒng)虛擬環(huán)境的搭建,主要利用到VSPY SPY3版本的診斷報(bào)文編輯區(qū)、功能測(cè)試項(xiàng)編輯區(qū)、message模塊編輯區(qū)三個(gè)模塊編輯區(qū)。
診斷報(bào)文編輯區(qū)中主要分為三個(gè)板塊:請(qǐng)求報(bào)文編輯區(qū)(Receive),響應(yīng)報(bào)文編輯(Transmit),數(shù)據(jù)庫(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ì)成功則通過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)文,通過報(bào)文編輯區(qū)的數(shù)據(jù)報(bào)文識(shí)別設(shè)備發(fā)送的報(bào)文,通過Fuction Block中的腳本,回復(fù)響應(yīng)報(bào)文區(qū)鏈接的報(bào)文。
Function Block功能是整車EOL系統(tǒng)虛擬驗(yàn)證的重要部分,也是VSPY中常用的腳本控制語言,它既可以在VSPY中運(yùn)行,也可以用VSPY可將其編譯程CoreMini寫入neoVI硬件產(chǎn)品中脫機(jī)運(yùn)行。目前Function Block大概含有三十條指令,包括常用的邏輯控制、數(shù)據(jù)記錄、發(fā)送報(bào)文等。
在測(cè)試驗(yàn)證過程中,通過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)值。
在診斷設(shè)備開始發(fā)送報(bào)文后,我們可以通過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)容可以查看。
表1 message 可視化內(nèi)容
虛擬驗(yàn)證的實(shí)現(xiàn)方式為將待驗(yàn)證的腳本release導(dǎo)入測(cè)試診斷儀中,然后通過通訊接口跟搭建好的臺(tái)架進(jìn)行數(shù)據(jù)交互,設(shè)備發(fā)出測(cè)試的DID,通過接口在虛擬臺(tái)架中進(jìn)行判斷,然后虛擬臺(tái)架會(huì)根據(jù)條件回復(fù)相關(guān)的回復(fù)DID通過通訊接口,反饋到診斷設(shè)備中,從而達(dá)到虛擬驗(yàn)證腳本的目的。
圖1 虛擬臺(tái)架的指令傳輸結(jié)構(gòu)
如下圖所示,在虛擬驗(yàn)證系統(tǒng)結(jié)構(gòu)中,主要分為診斷報(bào)文編輯區(qū)和功能測(cè)試項(xiàng)編輯區(qū),在診斷報(bào)文編輯區(qū)模塊中,通過設(shè)置請(qǐng)求報(bào)文編輯區(qū)的相關(guān)的指令進(jìn)行識(shí)別并比對(duì)設(shè)備發(fā)出的相關(guān)報(bào)文,通過編輯響應(yīng)報(bào)文編輯區(qū)中相關(guān)數(shù)據(jù),來進(jìn)行存儲(chǔ)相關(guān)的回復(fù)報(bào)文,兩者通過Function Block進(jìn)行連接,也可以理解為診斷報(bào)文編輯區(qū)起到整個(gè)虛擬驗(yàn)證系統(tǒng)的數(shù)據(jù)庫的功能,F(xiàn)unction Block從中調(diào)用已經(jīng)編輯好的相關(guān)報(bào)文用來進(jìn)行比對(duì)或是回復(fù)。
圖2 虛擬驗(yàn)證系統(tǒng)結(jié)構(gòu)
以吉利SS11車型的寫入功能測(cè)試協(xié)議為例,F(xiàn)unction Block的script類型與C語言類似,首先為if語句進(jìn)行判斷,判斷條件為請(qǐng)求報(bào)文編輯區(qū)中的設(shè)置好的RX_SIM_2EF101模塊,而RX_SIM_2EF101模塊中編輯的報(bào)文為2E F1 01,即在lin線的數(shù)據(jù)流中,如果出現(xiàn) 2E F1 01的報(bào)文,即開始執(zhí)行該條件下的腳本,同理Else If類同于C語言中的功能,從而實(shí)現(xiàn)判斷不同指令執(zhí)行不同的腳本的作用。
圖3 function block 正反饋邏輯圖(部分功能)
Wait Until語句為當(dāng)前條件循環(huán),類同于C語言中的While語句,控制腳本一直處理等待狀態(tài),直到設(shè)置的條件為真才繼續(xù)往下執(zhí)行。
而Transmit語句則是發(fā)送響應(yīng)報(bào)文編輯區(qū)中設(shè)置好的報(bào)文,發(fā)送到數(shù)據(jù)流中,對(duì)If語句的判斷條件進(jìn)行回復(fù),而最后的set value則是使這次回復(fù)的次數(shù)為1次,如果取消這個(gè)語句,則腳本會(huì)對(duì)判斷報(bào)文一直循環(huán)發(fā)送回復(fù)報(bào)文。發(fā)送結(jié)束后,跳到End If語句結(jié)束腳本的運(yùn)行。
通過上述操作可以驗(yàn)證正反饋的腳本驗(yàn)證,同理,也可以對(duì)相關(guān)腳本的負(fù)反饋也進(jìn)行驗(yàn)證,流程圖如下,由此可見,虛擬驗(yàn)證不僅可以驗(yàn)證腳本的正反饋,也可以測(cè)試負(fù)反饋是否會(huì)對(duì)腳本產(chǎn)生影響。
基于SS11車型 ESC模塊進(jìn)行測(cè)試驗(yàn)證,正負(fù)反饋均驗(yàn)證成功,驗(yàn)證總時(shí)長約3S,測(cè)試結(jié)果的部分信息如下圖所示。
圖4 測(cè)試正反饋部分結(jié)果
以UK lotus為例,當(dāng)初版腳本導(dǎo)入后,經(jīng)過實(shí)車驗(yàn)證關(guān)于腳本問題平均一周發(fā)現(xiàn)并解決的腳本問題為2個(gè),而通過虛擬臺(tái)架驗(yàn)證腳本問題一天平均發(fā)現(xiàn)并解決腳本問題為5個(gè),大大提高了腳本的驗(yàn)證效率,降低了腳本在實(shí)車測(cè)試運(yùn)行失敗的風(fēng)險(xiǎn)。
提出一種利用VSPY工具,搭建整車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í)車腳本驗(yàn)證提供了技術(shù)支持。