田 豐,林家強(qiáng),周軍成,韋佳萍,周國(guó)林,許運(yùn)灼
(1.上汽通用五菱汽車股份有限公司,廣西 柳州 545007;2.柳州孔輝汽車科技有限公司,廣西 柳州 545026;3.湖南湖大艾盛汽車技術(shù)開發(fā)有限公司,湖南 長(zhǎng)沙 410221;4.柳州滬信汽車科技有限公司,廣西 柳州 545616)
隨著汽車功能日益豐富,配置也多樣化,車載電控單元ECU的數(shù)量在不斷增多,各ECU之間通過(guò)總線的信息交互也越來(lái)越多。當(dāng)某ECU需要的總線信號(hào)丟失或無(wú)效時(shí),其功能就會(huì)受到影響,此時(shí)ECU會(huì)按照一定規(guī)則將該故障通過(guò)診斷故障代碼DTC的形式記錄并上報(bào)。對(duì)于DTC的產(chǎn)生及恢復(fù)邏輯測(cè)試,一直以來(lái)都是各大主機(jī)廠診斷測(cè)試的重要內(nèi)容。裴偉軍、毛鴻霖等人提出的基于VT System和CANoe系列軟件的故障碼測(cè)試是一種通過(guò)搭建臺(tái)架測(cè)試系統(tǒng),在實(shí)驗(yàn)室單節(jié)點(diǎn)條件下,模擬相關(guān)總線信號(hào)故障的測(cè)試方法[1-2],目前幾乎所有開展此項(xiàng)測(cè)試的主機(jī)廠也都是采用這種方法。
然而,對(duì)于發(fā)動(dòng)機(jī)控制模塊ECM、變速器控制模塊TCM等排放相關(guān)的ECU而言,某些總線信號(hào)的丟失或無(wú)效,會(huì)導(dǎo)致車輛進(jìn)入跛行等極限工況,從而影響排放。根據(jù)相關(guān)法規(guī)要求,排放相關(guān)的DTC需要2個(gè)或2個(gè)以上的駕駛循環(huán)才允許確認(rèn),而DTC的消除更是需要經(jīng)過(guò)多個(gè)無(wú)故障暖機(jī)循環(huán)才能滿足要求。駕駛循環(huán)和暖機(jī)循環(huán)需要滿足發(fā)動(dòng)機(jī)運(yùn)轉(zhuǎn)、車速、水溫等條件,然而要想在實(shí)驗(yàn)室環(huán)境下實(shí)現(xiàn)這些條件只能斥巨資搭建復(fù)雜的硬件在環(huán)(HIL)測(cè)試系統(tǒng)[3],這對(duì)主機(jī)廠而言是個(gè)不小的挑戰(zhàn)。因此,目前大多主機(jī)廠對(duì)于這部分DTC的邏輯確認(rèn)直接采用ECU供應(yīng)商的測(cè)試結(jié)果或者在實(shí)車上粗略測(cè)試。顯然,這并不能達(dá)到準(zhǔn)確驗(yàn)證DTC邏輯的目的,也會(huì)給售后分析故障增加難度。為此,本文提出一種使用低成本標(biāo)準(zhǔn)設(shè)備在實(shí)車上精確測(cè)試排放相關(guān)故障碼的方法,利用簡(jiǎn)單的測(cè)試環(huán)境補(bǔ)充了此項(xiàng)測(cè)試的空缺。
美國(guó)因特佩斯公司的Vehicle Spy是一款汽車總線仿真測(cè)試軟件,可以實(shí)現(xiàn)節(jié)點(diǎn)仿真、數(shù)據(jù)解碼、自動(dòng)測(cè)試、數(shù)據(jù)采集等多種功能[4],滿足實(shí)驗(yàn)室和實(shí)車環(huán)境中對(duì)車輛ECU的基礎(chǔ)測(cè)試需求。本文所介紹的就是利用Vehicle Spy軟件在實(shí)車環(huán)境下進(jìn)行的排放相關(guān)故障碼測(cè)試方案。
將Vehicle Spy硬件一端通過(guò)在線診斷(OBD)連接線接至整車OBD口,另一端通過(guò)USB接口接至裝有Vehicle Spy軟件的電腦上,測(cè)試環(huán)境即搭建完成,其整體連接示意如圖1所示。本測(cè)試方法以實(shí)車環(huán)境為基礎(chǔ),免去了復(fù)雜的測(cè)試硬件方案設(shè)計(jì),僅需通過(guò)標(biāo)準(zhǔn)工具中的相關(guān)軟件腳本編輯,配合人為的車輛操作,即可完成排放相關(guān)網(wǎng)絡(luò)DTC測(cè)試,大大降低測(cè)試成本的同時(shí),也能精確地驗(yàn)證DTC的設(shè)計(jì)邏輯。
圖1 排放相關(guān)網(wǎng)絡(luò)DTC測(cè)試環(huán)境整體連接示意圖
由于測(cè)試內(nèi)容涉及到網(wǎng)絡(luò)報(bào)文的丟失、無(wú)效、錯(cuò)誤等故障現(xiàn)象,在進(jìn)行測(cè)試之前需要編制好DBC數(shù)據(jù)庫(kù)。這需要識(shí)別被測(cè)DTC指向的是總線上的哪些ECU所發(fā)出的哪些報(bào)文。根據(jù)具體車型的通信矩陣,在Vehicle Spy軟件中的Message Editor界面進(jìn)行發(fā)送信號(hào)編制,網(wǎng)絡(luò)數(shù)據(jù)庫(kù)編制如圖2所示。編制完成后即可在Tx Panel面板對(duì)所編輯的報(bào)文進(jìn)行周期性模擬發(fā)送,如圖3所示。
圖2 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)編制
圖3 網(wǎng)絡(luò)報(bào)文發(fā)送面板
由于在測(cè)試過(guò)程中需要用到停止通信、讀故障碼、清故障碼等UDS診斷服務(wù),因此診斷數(shù)據(jù)庫(kù)的編輯也至關(guān)重要。停止通信服務(wù)用于整車特定ECU報(bào)文的停發(fā),結(jié)合之前編輯的DBC數(shù)據(jù)庫(kù),即可實(shí)現(xiàn)在不對(duì)整車電子元器件及線束接插件做任何改動(dòng)的情況下,精確控制被測(cè)DTC所對(duì)應(yīng)報(bào)文的內(nèi)容和周期,輕松制造期望的網(wǎng)絡(luò)故障,方便快捷。讀故障碼、清故障碼服務(wù)用于測(cè)試過(guò)程中判斷故障是否產(chǎn)生及手動(dòng)清除。
Function Block是Vehicle Spy軟件中的一個(gè)腳本編輯工具,提供了一種列表式的命令執(zhí)行步驟編輯方式,用于創(chuàng)建可直接執(zhí)行的測(cè)試腳本序列。用戶無(wú)需了解具體編程語(yǔ)言,也可輕松操作完成測(cè)試用例編輯。結(jié)合前面兩步中所編輯的應(yīng)用報(bào)文及診斷報(bào)文內(nèi)容,在Function Block中給每一個(gè)步驟設(shè)置具體的指令,如發(fā)送應(yīng)用報(bào)文、設(shè)置信號(hào)值、等待特定條件、發(fā)送診斷報(bào)文等,搭配工具提供的循環(huán)設(shè)置,即可實(shí)現(xiàn)自動(dòng)執(zhí)行制造故障、讀取故障碼、判斷測(cè)試結(jié)果等操作。Function Block測(cè)試腳本編輯界面如圖4所示。
圖4 Function Block測(cè)試腳本編輯界面
對(duì)于排放相關(guān)的ECU,在整車上電后即開始監(jiān)控相關(guān)的網(wǎng)絡(luò)報(bào)文故障。第1個(gè)操作循環(huán),從使用診斷服務(wù)停發(fā)相關(guān)ECU報(bào)文,到測(cè)試設(shè)備模擬發(fā)送被停掉的報(bào)文這段時(shí)間,ECU可能已經(jīng)記錄了某些DTC。為了排除第1個(gè)操作循環(huán)中測(cè)試尚未開始階段的其他因素干擾,需要先對(duì)ECU進(jìn)行清除DTC操作。在模擬發(fā)送相關(guān)報(bào)文一定時(shí)間后,根據(jù)DTC列表中描述的待測(cè)DTC產(chǎn)生條件,精確停發(fā)一定時(shí)間(如10個(gè)報(bào)文周期)相關(guān)報(bào)文后讀取DTC,判斷是否已經(jīng)產(chǎn)生了待確認(rèn)(Pending)DTC,若已產(chǎn)生則可以結(jié)束當(dāng)前操作循環(huán),若未產(chǎn)生則對(duì)停發(fā)報(bào)文的周期進(jìn)行微調(diào),直至產(chǎn)生待確認(rèn)的DTC為止。整個(gè)操作循環(huán)過(guò)程中,需要配合車輛,至少啟動(dòng)一次發(fā)動(dòng)機(jī)(若為混動(dòng)車型,則需要至少達(dá)到一次高壓狀態(tài)),以滿足駕駛循環(huán)的條件,否則ECU會(huì)一直處于第1個(gè)操作循環(huán)過(guò)程中,無(wú)法結(jié)束,從而影響測(cè)試結(jié)果。
第2個(gè)操作循環(huán),執(zhí)行與第1個(gè)操作循環(huán)同樣的操作,直至產(chǎn)生已確認(rèn)(Confirm)DTC,測(cè)試完成。根據(jù)具體DTC策略,此方法還能應(yīng)用于更多駕駛循環(huán)甚至暖機(jī)循環(huán)才能確認(rèn)故障的情況測(cè)試,具體測(cè)試及判斷流程如圖5所示。
圖5 排放相關(guān)DTC測(cè)試流程
由于測(cè)試用例中最終結(jié)果的判斷都是要以讀取到相應(yīng)DTC為條件,如果一直讀取不到DTC或者尚未滿足條件就已經(jīng)讀取到了DTC,均屬于測(cè)試不合格。測(cè)試用例中將各種不合格的情況均已考慮在內(nèi),以保證測(cè)試結(jié)果的準(zhǔn)確性。具體包括以下幾種情況。
1)還未開始測(cè)試就已經(jīng)出現(xiàn)了待測(cè)DTC。
2)第1個(gè)操作循環(huán)無(wú)法產(chǎn)生待確認(rèn)DTC。
3)第1個(gè)操作循環(huán)還未達(dá)到故障產(chǎn)生條件就已經(jīng)出現(xiàn)了待確認(rèn)DTC。
4)第1個(gè)操作循環(huán)超過(guò)了故障產(chǎn)生條件才出現(xiàn)待確認(rèn)DTC。
5)第1個(gè)操作循環(huán)就已經(jīng)產(chǎn)生了已確認(rèn)DTC。
6)第2個(gè)操作循環(huán)無(wú)法產(chǎn)生已確認(rèn)DTC。
7)第2個(gè)操作循環(huán)還未達(dá)到故障產(chǎn)生條件就已經(jīng)產(chǎn)生了已確認(rèn)DTC。
8)第2個(gè)操作循環(huán)超過(guò)了故障產(chǎn)生條件才出現(xiàn)已確認(rèn)DTC。
本文以ECM排放相關(guān)網(wǎng)絡(luò)DTC C15100為例,在實(shí)車上驗(yàn)證了此方法的可行性和準(zhǔn)確性。在第1個(gè)駕駛循環(huán)中按設(shè)計(jì)條件制造故障后,讀出了狀態(tài)位為0x27的Pending故障。配合發(fā)動(dòng)機(jī)啟動(dòng)、熄火、重新上電等操作,結(jié)束第1個(gè)駕駛循環(huán),并進(jìn)入第2個(gè)駕駛循環(huán)。繼續(xù)按DTC設(shè)計(jì)條件制造故障,讀出了狀態(tài)位為0x2F的Confirm故障。測(cè)試結(jié)果示例如圖6所示。
圖6 測(cè)試結(jié)果示例
通過(guò)基于Vehicle Spy的半自動(dòng)化測(cè)試方法,實(shí)現(xiàn)了對(duì)排放系統(tǒng)ECU的排放相關(guān)網(wǎng)絡(luò)故障碼邏輯測(cè)試,避免了復(fù)雜的硬件系統(tǒng)設(shè)計(jì),同時(shí)節(jié)約了測(cè)試成本。利用Function Block功能,保證了測(cè)試過(guò)程的嚴(yán)謹(jǐn)性和測(cè)試結(jié)果的準(zhǔn)確性,對(duì)DTC設(shè)計(jì)邏輯給出了評(píng)價(jià),也為售后排查相關(guān)問題提供了試驗(yàn)數(shù)據(jù)支持。