王昊 吳勇
1.山東信息職業(yè)技術(shù)學(xué)院 山東省濰坊市 261061 2.山東海事職業(yè)學(xué)院 山東省濰坊市 261108
傳統(tǒng)的汽車故障診斷方法借助“看、聽、摸、嗅”等手段,配合基本的檢測設(shè)備,只能大致地確定汽車的性能狀況,對故障的檢測主要依賴于技術(shù)人員的經(jīng)驗判斷。現(xiàn)代汽車裝備了大量的電子元件,可以實時、動態(tài)地對發(fā)動機運行狀況進(jìn)行檢測,催生出現(xiàn)代化的汽車檢測診斷方法。本文從職業(yè)院校的教學(xué)實際出發(fā),借助成熟的CAN總線分析儀,利用LabVIEW虛擬儀器平臺開發(fā)出一套汽車發(fā)動機在線檢測系統(tǒng),具有一定的教學(xué)應(yīng)用價值。
為了便于對車輛排放進(jìn)行檢測,汽車車載診斷(OBD)系統(tǒng)中對基于CAN總線的網(wǎng)絡(luò)各層所使用的標(biāo)準(zhǔn)進(jìn)行了規(guī)定,如表1所示。
本課題所設(shè)計的汽車發(fā)動機測控教學(xué)系統(tǒng)主要借助于通用OBD診斷協(xié)議中的應(yīng)用層協(xié)議即ISO 15031-5協(xié)議,實現(xiàn)汽車在線檢測與故障診斷模塊。
本課題設(shè)計開發(fā)的汽車發(fā)動機測控系統(tǒng)使用CANalyst-II分析儀采集卡采集4G15T型發(fā)動機各傳感器在運行過程中產(chǎn)生的各種信號,通過CAN數(shù)據(jù)采集卡采集汽車CAN總線實時數(shù)據(jù),利用USB接口傳遞到PC機,經(jīng)過分析,借助于Labview虛擬儀器軟件進(jìn)行系統(tǒng)登錄,數(shù)據(jù)顯示等功能硬件連接如圖1所示。
數(shù)據(jù)采集卡用來采集汽車CAN總線的數(shù)據(jù)并通過USB接口傳輸?shù)絇C機,本文選用的是珠海創(chuàng)芯光電科技有限公司生產(chǎn)的CANalyst-II 分析儀。它配備了2個通道CAN接口,支持CAN2.0A和CAN2.0B協(xié)議,支持標(biāo)準(zhǔn)幀和擴(kuò)展幀。通過USB接口連接電腦,便可以實現(xiàn)數(shù)據(jù)的獲取與傳輸。
表1 基于OSI模型汽車CAN總線各層的診斷協(xié)議
圖1 硬件連接示意圖
為了能動態(tài)檢測發(fā)動機運行時的各項數(shù)據(jù),本程序主要設(shè)計了設(shè)備的打開與初始化,發(fā)送請求報文,接收響應(yīng)報文并處理顯示這三個部分。為了與CANalyst-II分析儀的硬件配置相結(jié)合,在軟件設(shè)計時主要是采用調(diào)用庫函數(shù)節(jié)點的方法來實現(xiàn)。首先要調(diào)用設(shè)備打開與初始化函數(shù),使CAN分析儀工作并將相應(yīng)通道初始化。
在CAN總線通信中,請求報文最終是以數(shù)組的方式來發(fā)送的,所以采用LabVIEW的創(chuàng)建數(shù)組函數(shù)來創(chuàng)建CAN報文。按照CAN報文的格式來創(chuàng)建數(shù)組,VCI_CAN_OBJ結(jié)構(gòu)體總共是24個字節(jié),每個字節(jié)長度是8位,其中只有Data中的8個字節(jié)是請求報文的內(nèi)容。將創(chuàng)建的數(shù)組經(jīng)過VCI_Transmit函數(shù)進(jìn)行發(fā)送,使用VCI_Receive函數(shù)從指定的設(shè)備CAN通道的接收緩沖區(qū)中讀取數(shù)據(jù)。
對于獲取到的數(shù)據(jù),首先對其ID進(jìn)行判定,通常ECU返回的地址為“0x7E8”。然后使用索引數(shù)組函數(shù)將指定ID的數(shù)據(jù)進(jìn)行拆分,拆分為8個字節(jié)。大部分OBD指令長度只有一個字節(jié)或2個字節(jié)。使用條件結(jié)構(gòu)對響應(yīng)報文的PID代碼進(jìn)行判定,然后提取相應(yīng)字節(jié)的數(shù)據(jù)進(jìn)行不同的顯示。以PID 0C為例,其代表發(fā)動機轉(zhuǎn)速的數(shù)據(jù),在報文數(shù)據(jù)第3、4字節(jié)表示發(fā)動機轉(zhuǎn)速的數(shù)值,換算關(guān)系為((A*256)+B)/4。
根據(jù)不同的PID代碼,分別設(shè)置不同的換算關(guān)系,我們就可以得到車速、冷卻液溫度、進(jìn)氣溫度、節(jié)氣門開度等其他數(shù)據(jù)了。相應(yīng)數(shù)據(jù)的接收與數(shù)據(jù)顯示的程序框圖如圖2所示:
將硬件線路連接到實驗車輛的OBD診斷座上,然后運行我們所設(shè)計的汽車發(fā)動機測控教學(xué)系統(tǒng)軟件,進(jìn)入發(fā)動機運行數(shù)據(jù)顯示界面。啟動車輛,使發(fā)動機在怠速狀態(tài)下運行,在軟件面板中設(shè)置好總線的波特率,點擊“打開設(shè)備”按鈕,可以看到面板上出現(xiàn)了動態(tài)的實車運行數(shù)據(jù)。
圖2 CAN響應(yīng)報文數(shù)據(jù)接收與顯示程序框圖
圖3 汽車發(fā)動機測控系統(tǒng)實時監(jiān)測系統(tǒng)運行界面
可以看到,系統(tǒng)顯示的數(shù)據(jù)動態(tài)變化,可以通過數(shù)值、儀表、波形等多種方式進(jìn)行顯示,實時性好。將本系統(tǒng)應(yīng)用于汽車檢測相關(guān)專業(yè)的教學(xué)實踐中,可以極大降低設(shè)備采購成本,易于進(jìn)行二次開發(fā),功能豐富而且實用,具有較高的推廣價值。