裴軍偉,韓可強(qiáng),唐風(fēng)敏
(中國(guó)汽車技術(shù)研究中心,天津 300300)
隨著我國(guó)汽車工業(yè)的迅速發(fā)展,汽車數(shù)量急劇增多。人們對(duì)汽車的安全性、舒適性及燃油經(jīng)濟(jì)性的要求越來(lái)越苛刻,這使得控制單元之間的信息交換越來(lái)越密集,傳感器和導(dǎo)線的數(shù)量越來(lái)越多,另外汽車上的電子控制設(shè)備增多,控制也越來(lái)越復(fù)雜,因而對(duì)汽車故障的診斷和排除的難度加大。而目前的診斷主要是人工診斷,運(yùn)用診斷儀對(duì)單個(gè)控制單元進(jìn)行故障的測(cè)試,對(duì)其進(jìn)行分析,但這種診斷方法效率不高,不能一次性測(cè)試很多控制單元,精度也達(dá)不到人們的期望值,因此,一種自動(dòng)化的診斷技術(shù)實(shí)現(xiàn)越來(lái)越迫切。本文探討了利用CANoe軟件實(shí)現(xiàn)診斷自動(dòng)化測(cè)試,通過VT System和CANoe中的編程語(yǔ)言CAPL分別實(shí)現(xiàn)硬件和軟件的設(shè)計(jì)。從而使診斷自動(dòng)化測(cè)試程度更高,通用性強(qiáng),靈活性好,滿足客戶的需要。
CANoe軟件被應(yīng)用在CAN總線系統(tǒng)的設(shè)計(jì)、建模、仿真、開發(fā)、測(cè)試及驗(yàn)證當(dāng)中,為客戶提供強(qiáng)大且完整的CAN總線網(wǎng)絡(luò)開發(fā)仿真分析解決方案。在診斷中,CANoe可以分析上層協(xié)議為KWP2000和UDS。診斷控制臺(tái) (Diagnostics Console)——“Diagnostic Feature Set”的一部分,可以在CANdela Studio[1]的診斷描述文件的基礎(chǔ)上,提供對(duì)診斷服務(wù)的交互式訪問功能。診斷需求可以選擇,參數(shù)化,并在它們相關(guān)的響應(yīng)中顯示。Fault Memory Console提供了快速而簡(jiǎn)便的訪問ECU故障存儲(chǔ)區(qū)域的功能。用戶可編程就意味著用戶可以按自己的要求對(duì)CANoe/DENoe的功能進(jìn)行擴(kuò)展。在數(shù)據(jù)流程圖的任意節(jié)點(diǎn)里都可以插入模塊模型,并且可以編寫用戶自己的程序來(lái)實(shí)現(xiàn)功能。CAPL就是用來(lái)實(shí)現(xiàn)可編程能力的編程語(yǔ)言,它是面向應(yīng)用的類C語(yǔ)言,并且包含了交互式的開發(fā)環(huán)境,在這個(gè)環(huán)境下,用戶能容易地創(chuàng)建、修改、編譯CAPL[2]的程序。在CANoe的軟件支持下,可以通過編程來(lái)控制所生成的診斷測(cè)試序列,根據(jù)自己的需要和單節(jié)點(diǎn)本身的特點(diǎn)進(jìn)行序列添加和刪減,以最少的測(cè)試用例完成需求的測(cè)試項(xiàng)目;通過搭建自動(dòng)化測(cè)試系統(tǒng),定義測(cè)試用例,設(shè)定通過標(biāo)準(zhǔn);采用自動(dòng)化測(cè)試,可以減少測(cè)試人員對(duì)分析數(shù)據(jù)、采集數(shù)據(jù)所消耗的精力與時(shí)間,同時(shí)自動(dòng)化測(cè)試可以最大范圍減少人為多次測(cè)量引入的誤差,自動(dòng)化測(cè)試系統(tǒng)還可以精確地進(jìn)行時(shí)間觸發(fā)、采樣和記錄,有利于提高測(cè)試精度、準(zhǔn)確度和可靠性。
由于該硬件設(shè)計(jì)主要是通過VT System[1]來(lái)實(shí)現(xiàn),而VT System的各個(gè)板卡可實(shí)現(xiàn)各個(gè)測(cè)試的用途,VT System各個(gè)板卡及通道的配置可通過CANoe軟件實(shí)現(xiàn),并通過CAPL語(yǔ)言對(duì)整個(gè)VT System的板卡通道進(jìn)行操作,從而可以更有效地根據(jù)需要來(lái)實(shí)現(xiàn)控制。同時(shí)VT System是通過TCP/IP協(xié)議與CANoe進(jìn)行數(shù)據(jù)通信,由于該診斷平臺(tái)需要對(duì)所測(cè)的ECU進(jìn)行供電,而VT中的供電模塊為M1_VT7001,通過M1_VT7001的開始狀態(tài)圖可以清楚地發(fā)現(xiàn)其內(nèi)部的連接情況,并能分析其如何與ECU進(jìn)行連接并控制ECU電源的通斷。
該硬件的設(shè)計(jì)主要有下面幾個(gè)步驟,首先對(duì)VT進(jìn)行供電,然后把KL30電和KL15電分別連接到VT System的VT7001電源板卡上的電源輸出通道1和通道2上,通過與VT System的供電模塊相連接,可以快速準(zhǔn)確地對(duì)ECU電源進(jìn)行控制,并且能通過CAPL程序?qū)﹄妷旱拇笮『头秶鷣?lái)進(jìn)行控制,從而為自動(dòng)化測(cè)試的CANoe與被測(cè)試樣件提供紐帶。ECU的CANH和CANL通過轉(zhuǎn)接線連接到 CANCASE[3]上,可實(shí)現(xiàn)ECU與CAN網(wǎng)絡(luò)通信,并能對(duì)總線故障進(jìn)行模擬,上位機(jī)采用CANoe軟件進(jìn)行數(shù)據(jù)處理與數(shù)據(jù)分析,診斷故障碼 (DTC)測(cè)試圖如圖1所示,診斷自動(dòng)化測(cè)試平臺(tái)如圖2所示。
傳統(tǒng)的診斷測(cè)試,只是編好數(shù)據(jù)庫(kù)導(dǎo)入diva進(jìn)行測(cè)試,有很多支持的服務(wù)或診斷功能不能沒有測(cè)試或驗(yàn)證,目前各個(gè)車廠還沒有對(duì)DTC(故障碼)進(jìn)行系統(tǒng)或統(tǒng)一的驗(yàn)證,究其原因就是測(cè)試DTC需要建立HIL(硬件在環(huán)系統(tǒng))的測(cè)試環(huán)境,實(shí)現(xiàn)上比較麻煩,且對(duì)硬件要求比較高。而VT System的參與,可以更好地測(cè)試出DTC,對(duì)汽車的故障檢測(cè)比較方便。
首先是配置VT System的通道和參數(shù),并通過CAPL語(yǔ)言對(duì)其進(jìn)行控制,然后將配置好CANoe.VT配置文件導(dǎo)入到diva中,就可以實(shí)現(xiàn)診斷故障碼的自動(dòng)化測(cè)試,效率大大提高,能滿足汽車越來(lái)越復(fù)雜的功能和電控模塊自診斷協(xié)議,且更好地節(jié)約成本。圖3為診斷自動(dòng)化的工作流程圖。
首先通過CANoe配置其測(cè)試環(huán)境,搭建虛擬節(jié)點(diǎn)[2]和測(cè)試程序,每個(gè)虛擬節(jié)點(diǎn)的添加通過CAPL Browser編寫網(wǎng)絡(luò)管理邏輯,CAPL語(yǔ)言可用于仿真節(jié)點(diǎn)的動(dòng)態(tài)建模,為了測(cè)試結(jié)果的正確性,要運(yùn)用CANoe中XML來(lái)提取測(cè)試序列,測(cè)試用例可以根據(jù)需要通過Test Automation Editor來(lái)添加,而TAE可以清晰地構(gòu)建測(cè)試組中的測(cè)試用例,并且可以圖形的生成參數(shù)化的測(cè)試用例。當(dāng)測(cè)試用例生成后,可以在其中加入一些程序,來(lái)實(shí)現(xiàn)自動(dòng)化的診斷。
當(dāng)硬件和軟件都配置好以后,根據(jù)硬件圖連接,配置好CANoe的測(cè)試環(huán)境,在diva軟件中導(dǎo)入相對(duì)節(jié)點(diǎn)已編好的cdd,生成所需要的所有測(cè)試項(xiàng)。由于diva里的程序是已經(jīng)設(shè)置好的,所以它生成的測(cè)試項(xiàng)是固定的,有時(shí)候不能滿足客戶的需求,這就需要在CANoe中通過添加程序,生成所需要的序列,使診斷的范圍覆蓋率更高。當(dāng)diva的測(cè)試項(xiàng)生成后,直接導(dǎo)入到CANoe中,就可進(jìn)行自動(dòng)化的診斷測(cè)試。另外一種自動(dòng)化測(cè)試方法是,可以直接在CANoe中導(dǎo)入編好的cdd。在診斷中,對(duì)故障碼的測(cè)試尤為重要,我們可以在CANoe中設(shè)置好要測(cè)的DTC和需要生成的序列,從而實(shí)現(xiàn)自動(dòng)化的診斷,達(dá)到所期待的結(jié)果。圖4為在CANoe軟件下的自動(dòng)化診斷的界面。
此自動(dòng)化診斷平臺(tái)的搭建很好地解決了網(wǎng)絡(luò)通信故障的測(cè)試,對(duì)于汽車內(nèi)的模塊,如BCM、DCM和ABS,只要模塊內(nèi)部支持診斷,都可以根據(jù)提供的故障策略進(jìn)行測(cè)試。一般測(cè)試的故障都是與通信相關(guān)的,比如在極限電壓下記錄故障碼的能力,還有被測(cè)模塊與其它模塊失去通信而記錄的故障。
此平臺(tái)在許多項(xiàng)目中也得到了很好的應(yīng)用,比如力帆820 BCM模塊,需要測(cè)試故障碼B100016(供電電壓過低)和B100017(供電電壓過高),通過該平臺(tái)制造故障,讀取其故障碼,可以驗(yàn)證故障產(chǎn)生和恢復(fù)策略的正確性。江鈴E31項(xiàng)目中RBCM模塊,需要測(cè)試B112011(左后轉(zhuǎn)向燈開路)、B112015(左后轉(zhuǎn)向燈短路)、B112611(倒車燈開路)、B112715(倒車燈短路)。除了以上測(cè)試之外,此診斷平臺(tái)將會(huì)應(yīng)用到更多的項(xiàng)目當(dāng)中,比如即將合作的力帆和北汽銀翔,還有五菱及東風(fēng)項(xiàng)目。
本文主要介紹自動(dòng)化診斷平臺(tái)的搭建,而自動(dòng)化診斷的實(shí)現(xiàn)可以更好地應(yīng)用到汽車模塊診斷中,使診斷的效率和精度更高,具有很重要的意義,更能促進(jìn)汽車行業(yè)的發(fā)展。相信在不久的將來(lái),診斷的技術(shù)會(huì)越來(lái)越高。其中主要通過配置不同的VT板卡,自動(dòng)化診斷測(cè)試平臺(tái)還能完成更多功能需求、更復(fù)雜的環(huán)境要求的測(cè)試。
[1]明星.基于VT System的汽車電子自動(dòng)測(cè)試系統(tǒng)的研制及應(yīng)用[J]. 汽車電器, 2012 (8): 62-64.
[2]潘俊家,楊芝華,龔進(jìn)峰,等.CAN總線網(wǎng)絡(luò)自動(dòng)化測(cè)試平臺(tái)應(yīng)用[J].交通信息與安全,2013.06.20:1-3.
[3]王鵬.汽車車身控制器自動(dòng)測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué)機(jī)械電子工程學(xué)科碩士學(xué)位論文,2007:1-6.