前言:想要寫出一篇引人入勝的文章?我們特意為您整理了CAN網(wǎng)絡(luò)下的車輛故障診斷軟件設(shè)計范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:設(shè)計一種應(yīng)用于電腦端的車輛故障診斷軟件,將不易理解的二進(jìn)制can信息數(shù)據(jù)轉(zhuǎn)變成十進(jìn)制數(shù)據(jù)和文字,同時給出相應(yīng)的故障描述,降低維修工作難度,提高故障診斷效率。
關(guān)鍵詞:CAN網(wǎng)絡(luò);車輛故障;診斷軟件
隨著汽車產(chǎn)業(yè)的迅猛發(fā)展,汽車的電子控制系統(tǒng)智能化程度越來越高,所使用的電子控制單元越來越多,也越來越復(fù)雜。系統(tǒng)中任何一個部件的故障,都可能導(dǎo)致整個系統(tǒng)的故障。電子控制系統(tǒng)的故障通常由CAN總線發(fā)出,總線上的信息都是以二進(jìn)制為基礎(chǔ)。當(dāng)車輛出現(xiàn)故障時,汽車維修人員需要具備一定的專業(yè)知識,才能解讀和定位車輛的故障。因此,開發(fā)一款有針對性的車輛故障診斷軟件在汽車的維修服務(wù)中非常重要[1]。本文所開發(fā)的車輛故障診斷軟件能夠自動完成故障數(shù)據(jù)采集、問題判斷及故障描述等功能,能夠降低維修人員的工作復(fù)雜度,提高工作效率。
1基本方案
基本方案由標(biāo)準(zhǔn)總線設(shè)備(CAN工具)和故障診斷軟件兩部分組成。其基本構(gòu)架如圖1所示。標(biāo)準(zhǔn)總線設(shè)備通過車輛的OBD接口接入車載CAN網(wǎng)絡(luò),主要負(fù)責(zé)電腦和車輛之間不同數(shù)據(jù)幀的封裝和信號轉(zhuǎn)換[2]。故障診斷軟件安裝在電腦上,通過USB接口與標(biāo)準(zhǔn)總線設(shè)備連接,主要負(fù)責(zé)向車輛控制單元發(fā)送指令,同時處理應(yīng)答的數(shù)據(jù);記錄下每次的故障信息及維修人員的維修記錄,建立維修記錄文件。目前車輛上的電控模塊都使用CAN總線進(jìn)行通信,因此汽車故障診斷系統(tǒng)主要針對CAN總線通信協(xié)議進(jìn)行開發(fā),通過連接車輛OBD口實(shí)現(xiàn)。系統(tǒng)軟件的通信流程如下:1)故障診斷系統(tǒng)通過專用的CAN工具與車輛CAN總線進(jìn)行連接;若連接不成功,則進(jìn)行提示,并且在一定時間內(nèi)循環(huán)連接,直至成功為止。2)連接成功后,對CAN進(jìn)行特定波特率(250kbps)設(shè)置,完成初始化。3)設(shè)置總線信息的過濾機(jī)制,對于CAN總線而言,總線上傳輸著大量的數(shù)據(jù),通過CANID的過濾,篩選出需要的數(shù)據(jù)傳給上位機(jī),避免上位機(jī)對繁多的數(shù)據(jù)進(jìn)行處理。4)根據(jù)通信協(xié)議中故障位的范圍對總線上相應(yīng)的CAN信息進(jìn)行取值,再進(jìn)行一定的數(shù)據(jù)處理。5)處理后的數(shù)據(jù)如是車輛的故障碼,則查詢軟件中存入的故障描述表,將對應(yīng)的故障描述顯示出來。6)將每次出現(xiàn)的故障進(jìn)行記錄,同時記錄下解決此次故障的方法。7)收集數(shù)據(jù)形成數(shù)據(jù)文件,若再出現(xiàn)相同故障時,可調(diào)出之前處理的維修記錄,提示維修人員。8)故障處理完成后,斷開故障診斷系統(tǒng)和總線的連接,此次故障診斷結(jié)束[3]。
2系統(tǒng)軟件設(shè)計
車輛故障診斷平臺開發(fā)使用MicrosoftVisualStu-dio的開發(fā)工具集,基于NETFramework4,采用C#語言編寫,適用于主流的MicrosoftWindows系統(tǒng)。根據(jù)診斷系統(tǒng)需求分析,采用分層的設(shè)計思路,將軟件架構(gòu)從下到上分為4層:底層———驅(qū)動層,次中層———數(shù)據(jù)層,中層———邏輯層,上層———表示層[4]。1)驅(qū)動層。驅(qū)動層主要通過調(diào)用CAN工具提供的DLL庫為接口,實(shí)現(xiàn)對CAN工具的開啟、配置、初始化、收發(fā)數(shù)據(jù)和關(guān)閉等功能。其主要負(fù)責(zé)標(biāo)準(zhǔn)接口函數(shù)的調(diào)用,將其封裝成功能函數(shù),供數(shù)據(jù)層調(diào)用,實(shí)現(xiàn)數(shù)據(jù)層和接口函數(shù)的連接。接口函數(shù)主要包括:建立總線連接、斷開總線連接、發(fā)送/接收數(shù)據(jù)、過濾接收CANID、讀取車輛模塊信息、CAN連接過程中錯誤提示、更新/清除數(shù)據(jù)緩存區(qū)[5]。2)數(shù)據(jù)層。數(shù)據(jù)層主要是對數(shù)據(jù)的處理,包括對數(shù)據(jù)進(jìn)行發(fā)送、接收、記錄與調(diào)用。其建立在驅(qū)動層上,通過驅(qū)動層封裝的函數(shù),設(shè)計以下功能程序:向CAN總線發(fā)送診斷請求、接收ECU反饋回來的數(shù)據(jù)、收集數(shù)據(jù)信息、從數(shù)據(jù)記錄文件里查詢相應(yīng)的信息[6]。3)邏輯層。邏輯層主要負(fù)責(zé)對CAN總線指令生成。當(dāng)用戶對車輛故障診斷軟件進(jìn)行操作時,邏輯層對操作進(jìn)行解析,轉(zhuǎn)化成一定的數(shù)據(jù),再通過數(shù)據(jù)層和驅(qū)動層,發(fā)送到CAN總線上。當(dāng)邏輯層接收到CAN總線上的車輛反饋數(shù)據(jù)時,將從反饋的數(shù)據(jù)中提取所需信息,根據(jù)通訊協(xié)議解析為有效數(shù)據(jù),在表示層上和用戶進(jìn)行交互[7]。邏輯層負(fù)責(zé)車輛故障診斷平臺系統(tǒng)功能的實(shí)現(xiàn),主要包括故障診斷功能、故障維修幫助功能和軟件其他功能:①故障診斷功能通過將車輛的模塊發(fā)送出來的數(shù)據(jù)進(jìn)行解析,從而得到故障碼,進(jìn)而對車輛實(shí)現(xiàn)故障診斷;②維修診斷幫助功能是通過訪問診斷數(shù)據(jù)文件,從診斷文件中查詢相應(yīng)的維修幫助內(nèi)容并調(diào)用[8];③軟件其他功能包括軟件激活、用戶認(rèn)證、密碼登錄、軟件升級等。4)表示層。表示層主要功能包括數(shù)據(jù)的顯示和用戶操作入口兩個方面。軟件界面主要包括標(biāo)題區(qū)、工作區(qū)和狀態(tài)顯示區(qū)3個部分:標(biāo)題區(qū)可以實(shí)現(xiàn)不同界面之間的切換和軟件的關(guān)閉;工作區(qū)包括用戶的操作入口和結(jié)果的顯示;狀態(tài)顯示區(qū)包括總線連接狀態(tài)、動態(tài)接收數(shù)據(jù)狀態(tài)和總線負(fù)載狀態(tài)[9]。
3系統(tǒng)測試及結(jié)果
以某車輛為測試對象,其核心電控模塊包括ECU、ABS、ASR、EBS等,故障診斷平臺工具通過車輛OBD接口連接車載總線網(wǎng)絡(luò),測試人員通過PC端的車輛故障診斷軟件進(jìn)行整車的故障診斷功能測試。車輛故障診斷軟件顯示的故障及描述如圖2所示。當(dāng)車輛壓力故障燈亮?xí)r,維修人員使用故障診斷軟件讀到故障碼,描述為壓力傳感器,初步判斷為發(fā)動機(jī)的壓力傳感器電壓數(shù)據(jù)故障,意味著壓力傳感器并未工作。根據(jù)軟件的維修診斷幫助排查,檢查壓力傳感器,對傳感器進(jìn)行維修,重新讀取車輛的數(shù)據(jù),壓力傳感部分恢復(fù)正常。故障碼被清除,故障燈熄滅,故障被排除。
4結(jié)束語
基于OBD的汽車故障診斷系統(tǒng)適用于標(biāo)準(zhǔn)的診斷接口工具,同時使用主流的車載CAN網(wǎng)絡(luò)通信協(xié)議,具有良好的通用性。軟件模塊化的開發(fā)思路,具有良好的擴(kuò)展性。將現(xiàn)代的軟件技術(shù)和汽車故障診斷技術(shù)相結(jié)合,實(shí)現(xiàn)故障診斷的智能化,從而更加便捷地診斷汽車電子控制系統(tǒng)的故障[10]。
參考文獻(xiàn):
[1]顏伏伍,王攀,胡杰,等.基于車載總線的PC式汽車故障診斷系統(tǒng)[J].武漢理工大學(xué)學(xué)報(信息與管理工程版),2011,33(5):758-762.
[2]郭剛,王勵明,盧明.基于MVCI、ODX的診斷標(biāo)準(zhǔn)研究[J].制造業(yè)自動化,2010,32(14):15-16.
[3]仇雅莉.汽車故障診斷技術(shù)發(fā)展研究[J].交通標(biāo)準(zhǔn)化,2010(11):223-225.
[4]蔡浩.汽車故障診斷系統(tǒng)的設(shè)計與開發(fā)[D].上海:上海交通大學(xué),2009.
[5]柳燕子.基于本體的汽車故障診斷知識建模與推理研究[J].現(xiàn)代國企研究,2018(4):136-137.
[6]胡杰,盛祥政,李洪飛,等.基于智能手機(jī)的汽車故障診斷系統(tǒng)研究與開發(fā)[J].汽車技術(shù),2011(9):4-10.
[7]葉仁滿.《汽車故障診斷》課堂的思考與探索[J].汽車維護(hù)與修理,2018(8):34-35.
[8]韓杰.現(xiàn)代汽車故障診斷技術(shù)探究[J].時代農(nóng)機(jī),2018,45(9):208.
[9]邱霖,尹少峰.電控汽車故障診斷中如何用好診斷設(shè)備[J].中國高新技術(shù)企業(yè),2016(12):76-77.
[10]伍辨學(xué).在汽車維修中不應(yīng)忽略傳統(tǒng)診斷的應(yīng)用[J].廣東科技,2007(8):84.
作者:胡洋 李韌 常圣 單位:安徽安凱汽車股份有限公司