国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CAN網(wǎng)絡(luò)的車輛故障診斷軟件設(shè)計

2021-01-04 03:59:26洋,韌,
客車技術(shù)與研究 2020年6期
關(guān)鍵詞:表示層總線故障診斷

胡 洋, 李 韌, 常 圣

(安徽安凱汽車股份有限公司, 合肥 230051)

隨著汽車產(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所示。

圖1 系統(tǒng)基本構(gòu)架圖

標(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口實現(xiàn)。系統(tǒng)軟件的通信流程如下:

1) 故障診斷系統(tǒng)通過專用的CAN工具與車輛CAN總線進(jìn)行連接;若連接不成功,則進(jìn)行提示,并且在一定時間內(nèi)循環(huán)連接,直至成功為止。

2) 連接成功后,對CAN進(jìn)行特定波特率(250 kbps)設(shè)置,完成初始化。

3) 設(shè)置總線信息的過濾機(jī)制,對于CAN總線而言,總線上傳輸著大量的數(shù)據(jù),通過CAN ID的過濾,篩選出需要的數(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ā)使用Microsoft Visual Studio的開發(fā)工具集,基于NET Framework 4,采用C#語言編寫,適用于主流的Microsoft Windows系統(tǒng)。根據(jù)診斷系統(tǒng)需求分析,采用分層的設(shè)計思路,將軟件架構(gòu)從下到上分為4層:底層——驅(qū)動層,次中層——數(shù)據(jù)層,中層——邏輯層,上層——表示層[4]。

1) 驅(qū)動層。驅(qū)動層主要通過調(diào)用CAN工具提供的DLL庫為接口,實現(xiàn)對CAN工具的開啟、配置、初始化、收發(fā)數(shù)據(jù)和關(guān)閉等功能。其主要負(fù)責(zé)標(biāo)準(zhǔn)接口函數(shù)的調(diào)用,將其封裝成功能函數(shù),供數(shù)據(jù)層調(diào)用,實現(xiàn)數(shù)據(jù)層和接口函數(shù)的連接。接口函數(shù)主要包括:建立總線連接、斷開總線連接、發(fā)送/接收數(shù)據(jù)、過濾接收CAN ID、讀取車輛模塊信息、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)功能的實現(xiàn),主要包括故障診斷功能、故障維修幫助功能和軟件其他功能:①故障診斷功能通過將車輛的模塊發(fā)送出來的數(shù)據(jù)進(jìn)行解析,從而得到故障碼,進(jìn)而對車輛實現(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ū)可以實現(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所示。

圖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é)合,實現(xiàn)故障診斷的智能化,從而更加便捷地診斷汽車電子控制系統(tǒng)的故障[10]。

猜你喜歡
表示層總線故障診斷
基于Spring的企業(yè)級Web項目架構(gòu)設(shè)計研究
軟件(2019年6期)2019-10-08 06:27:21
基于PCI Express總線的xHC與FPGA的直接通信
機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
ASP.NET三層構(gòu)架解析
基于SSH框架科研管理系統(tǒng)的設(shè)計
因果圖定性分析法及其在故障診斷中的應(yīng)用
多通道ARINC429總線檢查儀
基于LCD和排列熵的滾動軸承故障診斷
基于WPD-HHT的滾動軸承故障診斷
基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計
河南科技(2014年16期)2014-02-27 14:13:22
新化县| 葵青区| 宁乡县| 永善县| 石渠县| 泉州市| 山西省| 清远市| 读书| 武穴市| 拉萨市| 高邑县| 抚松县| 通许县| 盐亭县| 嘉义市| 门头沟区| 普陀区| 昆山市| 柳林县| 苏尼特右旗| 荆州市| 卢氏县| 依安县| 铁岭市| 普安县| 浮梁县| 永靖县| 丹巴县| 三明市| 亚东县| 奉化市| 汕头市| 宁武县| 阳朔县| 马尔康县| 铁力市| 株洲县| 民权县| 武城县| 佛山市|