韓可強(qiáng),裴軍偉,黃家剛,殷振華
(中國(guó)汽車(chē)技術(shù)研究中心,天津 300300)
近幾年,隨著汽車(chē)技術(shù)不斷改進(jìn)與更新,汽車(chē)市場(chǎng)進(jìn)入了一個(gè)快速發(fā)展的階段,在追求價(jià)格日益下降的同時(shí),還要求汽車(chē)的性能得到提高。為了滿(mǎn)足客戶(hù)的需求,不同功能單元的ECU運(yùn)用在汽車(chē)上,ECU之間通過(guò)CAN線(xiàn)或者K線(xiàn)傳輸信號(hào),速度更快、信號(hào)更穩(wěn)定,卻使汽車(chē)的系統(tǒng)變得越來(lái)越復(fù)雜。汽車(chē)控制的電子化增加了汽車(chē)診斷維修工作的難度,特別是對(duì)一些故障的測(cè)試,需要對(duì)故障的策略了解得很清楚,使用一些信號(hào)模擬設(shè)備,去制造相應(yīng)的故障。由于傳統(tǒng)的測(cè)試方法已不能達(dá)到要求,為此很多主機(jī)廠(chǎng)迫切的需要改進(jìn)診斷測(cè)試方法,從而提高效率和測(cè)試精度,節(jié)約開(kāi)支。本文主要介紹通過(guò)CAPL語(yǔ)言程序的編寫(xiě),CANoe控制CAPL程序,LabVIEW用來(lái)實(shí)現(xiàn)上位,控制CANoe,使CAPL程序與LabVIEW相結(jié)合,實(shí)現(xiàn)診斷自動(dòng)化。
1LabVIEW概述
LabVIEW是通用的編程系統(tǒng),有一個(gè)完成所有編程任務(wù)的龐大函數(shù)庫(kù)。LabVIEW還有傳統(tǒng)的程序調(diào)試工具,比如設(shè)置斷點(diǎn)、以動(dòng)畫(huà)方式顯示數(shù)據(jù)及其子程序 (子VI)的結(jié)果、單步執(zhí)行等,便于程序的調(diào)試。LabVIEW提供很多外觀(guān)與傳統(tǒng)儀器 (如示波器、萬(wàn)用表)類(lèi)似的控件,可用來(lái)方便創(chuàng)建用戶(hù)界面。
1)測(cè)試測(cè)量 LabVIEW最初就是為測(cè)試測(cè)量而設(shè)計(jì)的,因而測(cè)試測(cè)量也是現(xiàn)在LabVIEW最廣泛的應(yīng)用領(lǐng)域。
2)控制 控制與測(cè)試是兩個(gè)相關(guān)度很高的領(lǐng)域,從測(cè)試起家的LabVIEW首先拓展至控制領(lǐng)域。LabVIEW擁有專(zhuān)門(mén)用于控制領(lǐng)域的模塊——LabVIEWDSC。除此之外,工業(yè)控制領(lǐng)域常用的設(shè)備、數(shù)據(jù)線(xiàn)等也帶有相應(yīng)的Lab-VIEW驅(qū)動(dòng)程序。使用LabVIEW能很方便地編制各種控制程序。
3)仿真 LabVIEW包含了各種各樣的數(shù)學(xué)運(yùn)算函數(shù),特別適合模擬、仿真、原型設(shè)計(jì)等工作。
4)快速開(kāi)發(fā) 熟練使用LabVIEW去開(kāi)發(fā)新的程序或項(xiàng)目,可以縮短開(kāi)發(fā)時(shí)間。
5)跨平臺(tái) LabVIEW具有良好的平臺(tái)一致性。Lab-VIEW的代碼不需做任何修改就能運(yùn)行在三大臺(tái)式機(jī)操作系統(tǒng)上:Windows、Mac OS及Linux。并且LabVIEW還支持多種實(shí)時(shí)操作系統(tǒng)和嵌入式設(shè)備,比如常見(jiàn)的PDA、FPGA以及運(yùn)行VxWorks和PharLap系統(tǒng)的RT設(shè)備。
本測(cè)試系統(tǒng)中,LabVIEW的應(yīng)用使測(cè)試平臺(tái)更統(tǒng)一,各程序之間可以相互聯(lián)系,又不會(huì)相互沖突。LabVIEW建立的上位界面,實(shí)現(xiàn)一鍵式的選擇測(cè)試。
由于診斷測(cè)試故障中主要測(cè)試幾大類(lèi)故障,包括:①電源電壓過(guò)壓、欠壓故障;②報(bào)文丟失故障;③節(jié)點(diǎn)丟失故障;④極限電壓下ECU檢測(cè)故障的能力測(cè)試;⑤ECU診斷故障記錄能力的測(cè)試;⑥總線(xiàn)關(guān)閉故障;⑦Limphome故障(若節(jié)點(diǎn)有網(wǎng)絡(luò)管理)。
根據(jù)測(cè)試的故障,需要用到的硬件有程控電源 (控制15、30電,能夠控制電壓的變化,變化范圍一般在0~36 V),主要是針對(duì)電壓變化或者電源掉電下的測(cè)試,CANstress(通過(guò)干擾總線(xiàn)幀的傳輸,用來(lái)制造總線(xiàn)關(guān)閉故障),VTSystem(用來(lái)模擬負(fù)載,可以模擬電壓、電流以及許多模擬量),CANcase(信號(hào)的交互設(shè)備,用來(lái)DUT與CANoe的交互),各個(gè)硬件之間通過(guò)數(shù)據(jù)線(xiàn)相連接,合理布置在機(jī)柜上,而機(jī)柜通過(guò)接口與電腦結(jié)合,通過(guò)程序控制機(jī)柜里的每個(gè)硬件。圖1為診斷自動(dòng)化測(cè)試硬件圖。
圖1 診斷自動(dòng)化測(cè)試硬件圖
從圖1中可以看出:測(cè)試的時(shí)候,主要是測(cè)試機(jī)柜與臺(tái)架、電腦、DUT之間的連接,通過(guò)LabVIEW的上位程序,控制CANoe的運(yùn)行,達(dá)到測(cè)試的目的。
1)首先是通過(guò)CANdelastudio編寫(xiě)診斷數(shù)據(jù)庫(kù),可以只編寫(xiě)診斷測(cè)試中與讀故障相關(guān)的服務(wù)和診斷故障,此CDD編寫(xiě)好后,導(dǎo)入到CANoe中,作為一個(gè)數(shù)據(jù)庫(kù),在編寫(xiě)程序時(shí),可以調(diào)用里面的參數(shù),讀每一種故障在CDD中都有相對(duì)應(yīng)的故障碼,引用到程序中。
2)編寫(xiě)好通信矩陣的數(shù)據(jù)庫(kù)DBC。需要發(fā)送和接收的信號(hào),在DBC都應(yīng)該編寫(xiě),導(dǎo)入到CANoe中,也是作為一個(gè)數(shù)據(jù)庫(kù),可以通過(guò)建立仿真節(jié)點(diǎn),調(diào)用DBC的報(bào)文,通過(guò)功能函數(shù),直接控制報(bào)文的停止和發(fā)送。
3)程控電源的功能函數(shù)。每個(gè)程控電源都有屬于它本身的功能函數(shù),通過(guò)CAPL編程,用程序?qū)崿F(xiàn)電源的開(kāi)關(guān)和調(diào)節(jié)電壓的大小,生成相應(yīng)的CIN函數(shù)庫(kù),導(dǎo)入到相對(duì)應(yīng)的測(cè)試主程序中,就能直接控制程控電源。
4)CANstress通過(guò)與CAPL相兼容的功能函數(shù),編寫(xiě)程序,控制CANstress的運(yùn)行以及其干擾的參數(shù),在哪個(gè)診斷測(cè)試用例中,需要用到,直接添加。
5)診斷配置表。需要測(cè)試哪幾類(lèi)故障,通過(guò)診斷配置表,提取相對(duì)應(yīng)的CIN,導(dǎo)入主程序,測(cè)試不同的單節(jié)點(diǎn),可以使用通用的配置表。在主控界面,選擇好配置表后,就能生成相應(yīng)的CIN。在測(cè)試中,可以根據(jù)需要選擇測(cè)試用例。這些測(cè)試用例在主程序中和配置表中位置是相互對(duì)應(yīng)的,所以在測(cè)試前,先要對(duì)配置表進(jìn)行完善,需要測(cè)試哪些故障。
6)CIN函數(shù)庫(kù),主要是針對(duì)不同的硬件,需要建立相應(yīng)的CIN,導(dǎo)入到CAPL主程序中,實(shí)現(xiàn)各硬件間的交互,以及與LabVIEW上位的交互,從而滿(mǎn)足要求。
在診斷測(cè)試主程序中,主要是集合每個(gè)CIN函數(shù)庫(kù),每個(gè)故障的制造產(chǎn)生,讀取,怎樣恢復(fù),判斷的條件,生成相應(yīng)的報(bào)告,都可以通過(guò)程序控制。
總之,上位需要的函數(shù),所有硬件自控的函數(shù),都可以通過(guò)主程序結(jié)合在一起,需要什么,在相應(yīng)的位置處添加,從而實(shí)現(xiàn)不同的功能,程序可調(diào)節(jié)性比較大。
先根據(jù)要求,將各硬件連接正確,根據(jù)測(cè)試的單節(jié)點(diǎn)編制CDD和DBC,在CANoe中導(dǎo)入,根據(jù)需要測(cè)試的故障,配置好診斷的配置表。由于提取配置表的CIN,所以每一個(gè)故障都是以變量的形式在程序中定義的,只要上位提取的是什么故障,都可以測(cè)試,通用性比較強(qiáng)。當(dāng)所有需要的配置已完成,對(duì)硬件通電,打開(kāi)LabVIEW的主界面,通過(guò)LabVIEW的運(yùn)行,打開(kāi)上位的界面,在界面中選擇好配置表,生成CIN函數(shù),其他的配置好以后,點(diǎn)擊開(kāi)始運(yùn)行按鈕,整個(gè)測(cè)試只需要十幾分鐘。測(cè)試完成后,自動(dòng)生成測(cè)試報(bào)告,報(bào)告存放的路徑前期已設(shè)定好,根據(jù)報(bào)告,分析故障是否符合主機(jī)廠(chǎng)的要求。圖2為診斷自動(dòng)化工作流程圖,圖3為診斷自動(dòng)化測(cè)試平臺(tái),圖4為診斷上位界面。
圖2 診斷自動(dòng)化工作流程圖
圖3 診斷自動(dòng)化測(cè)試平臺(tái)
圖4 診斷上位界面
隨著技術(shù)的不斷創(chuàng)新,越來(lái)越多的診斷測(cè)試方法應(yīng)運(yùn)而生。選擇一種方法,提高測(cè)試效率和精度是每個(gè)主機(jī)廠(chǎng)所要求的。此診斷測(cè)試自動(dòng)平臺(tái)的建立,是建立在以前診斷故障測(cè)試的基礎(chǔ)上,充分應(yīng)用CANoe中CAPL編程,通過(guò)程序控制各硬件的運(yùn)行,模擬不同的故障條件,運(yùn)用Lab-VIEW 來(lái)實(shí)現(xiàn)上位,通過(guò)一鍵式啟動(dòng),實(shí)現(xiàn)不同類(lèi)型的故障測(cè)試。此平臺(tái)最大的優(yōu)勢(shì)就是節(jié)約成本,提高效率,對(duì)于初學(xué)者,也可以測(cè)試,不需要過(guò)多地了解協(xié)議。測(cè)試后的報(bào)告,簡(jiǎn)單明了,易于分析。相信在不久的將來(lái),更多合理的診斷自動(dòng)化測(cè)試方法會(huì)更好地運(yùn)用到汽車(chē)行業(yè)中。