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

?

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

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

胡 洋, 李 韌, 常 圣

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

隨著汽車(chē)產(chǎn)業(yè)的迅猛發(fā)展,汽車(chē)的電子控制系統(tǒng)智能化程度越來(lái)越高,所使用的電子控制單元越來(lái)越多,也越來(lái)越復(fù)雜。系統(tǒng)中任何一個(gè)部件的故障,都可能導(dǎo)致整個(gè)系統(tǒng)的故障。電子控制系統(tǒng)的故障通常由CAN總線發(fā)出,總線上的信息都是以二進(jìn)制為基礎(chǔ)。當(dāng)車(chē)輛出現(xiàn)故障時(shí),汽車(chē)維修人員需要具備一定的專(zhuān)業(yè)知識(shí),才能解讀和定位車(chē)輛的故障。因此,開(kāi)發(fā)一款有針對(duì)性的車(chē)輛故障診斷軟件在汽車(chē)的維修服務(wù)中非常重要[1]。本文所開(kāi)發(fā)的車(chē)輛故障診斷軟件能夠自動(dòng)完成故障數(shù)據(jù)采集、問(wèn)題判斷及故障描述等功能,能夠降低維修人員的工作復(fù)雜度,提高工作效率。

1 基本方案

基本方案由標(biāo)準(zhǔn)總線設(shè)備(CAN工具)和故障診斷軟件兩部分組成。其基本構(gòu)架如圖1所示。

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

標(biāo)準(zhǔn)總線設(shè)備通過(guò)車(chē)輛的OBD接口接入車(chē)載CAN網(wǎng)絡(luò),主要負(fù)責(zé)電腦和車(chē)輛之間不同數(shù)據(jù)幀的封裝和信號(hào)轉(zhuǎn)換[2]。

故障診斷軟件安裝在電腦上,通過(guò)USB接口與標(biāo)準(zhǔn)總線設(shè)備連接,主要負(fù)責(zé)向車(chē)輛控制單元發(fā)送指令,同時(shí)處理應(yīng)答的數(shù)據(jù);記錄下每次的故障信息及維修人員的維修記錄,建立維修記錄文件。

目前車(chē)輛上的電控模塊都使用CAN總線進(jìn)行通信,因此汽車(chē)故障診斷系統(tǒng)主要針對(duì)CAN總線通信協(xié)議進(jìn)行開(kāi)發(fā),通過(guò)連接車(chē)輛OBD口實(shí)現(xiàn)。系統(tǒng)軟件的通信流程如下:

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

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

3) 設(shè)置總線信息的過(guò)濾機(jī)制,對(duì)于CAN總線而言,總線上傳輸著大量的數(shù)據(jù),通過(guò)CAN ID的過(guò)濾,篩選出需要的數(shù)據(jù)傳給上位機(jī),避免上位機(jī)對(duì)繁多的數(shù)據(jù)進(jìn)行處理。

4) 根據(jù)通信協(xié)議中故障位的范圍對(duì)總線上相應(yīng)的CAN信息進(jìn)行取值,再進(jìn)行一定的數(shù)據(jù)處理。

5) 處理后的數(shù)據(jù)如是車(chē)輛的故障碼,則查詢(xún)軟件中存入的故障描述表,將對(duì)應(yīng)的故障描述顯示出來(lái)。

6) 將每次出現(xiàn)的故障進(jìn)行記錄,同時(shí)記錄下解決此次故障的方法。

7) 收集數(shù)據(jù)形成數(shù)據(jù)文件,若再出現(xiàn)相同故障時(shí),可調(diào)出之前處理的維修記錄,提示維修人員。

8) 故障處理完成后,斷開(kāi)故障診斷系統(tǒng)和總線的連接,此次故障診斷結(jié)束[3]。

2 系統(tǒng)軟件設(shè)計(jì)

車(chē)輛故障診斷平臺(tái)開(kāi)發(fā)使用Microsoft Visual Studio的開(kāi)發(fā)工具集,基于NET Framework 4,采用C#語(yǔ)言編寫(xiě),適用于主流的Microsoft Windows系統(tǒng)。根據(jù)診斷系統(tǒng)需求分析,采用分層的設(shè)計(jì)思路,將軟件架構(gòu)從下到上分為4層:底層——驅(qū)動(dòng)層,次中層——數(shù)據(jù)層,中層——邏輯層,上層——表示層[4]。

1) 驅(qū)動(dòng)層。驅(qū)動(dòng)層主要通過(guò)調(diào)用CAN工具提供的DLL庫(kù)為接口,實(shí)現(xiàn)對(duì)CAN工具的開(kāi)啟、配置、初始化、收發(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ù)主要包括:建立總線連接、斷開(kāi)總線連接、發(fā)送/接收數(shù)據(jù)、過(guò)濾接收CAN ID、讀取車(chē)輛模塊信息、CAN連接過(guò)程中錯(cuò)誤提示、更新/清除數(shù)據(jù)緩存區(qū)[5]。

2) 數(shù)據(jù)層。數(shù)據(jù)層主要是對(duì)數(shù)據(jù)的處理,包括對(duì)數(shù)據(jù)進(jìn)行發(fā)送、接收、記錄與調(diào)用。其建立在驅(qū)動(dòng)層上,通過(guò)驅(qū)動(dòng)層封裝的函數(shù),設(shè)計(jì)以下功能程序:向CAN總線發(fā)送診斷請(qǐng)求、接收ECU反饋回來(lái)的數(shù)據(jù)、收集數(shù)據(jù)信息、從數(shù)據(jù)記錄文件里查詢(xún)相應(yīng)的信息[6]。

3) 邏輯層。邏輯層主要負(fù)責(zé)對(duì)CAN總線指令生成。當(dāng)用戶(hù)對(duì)車(chē)輛故障診斷軟件進(jìn)行操作時(shí),邏輯層對(duì)操作進(jìn)行解析,轉(zhuǎn)化成一定的數(shù)據(jù),再通過(guò)數(shù)據(jù)層和驅(qū)動(dòng)層,發(fā)送到CAN總線上。當(dāng)邏輯層接收到CAN總線上的車(chē)輛反饋數(shù)據(jù)時(shí),將從反饋的數(shù)據(jù)中提取所需信息,根據(jù)通訊協(xié)議解析為有效數(shù)據(jù),在表示層上和用戶(hù)進(jìn)行交互[7]。

邏輯層負(fù)責(zé)車(chē)輛故障診斷平臺(tái)系統(tǒng)功能的實(shí)現(xiàn),主要包括故障診斷功能、故障維修幫助功能和軟件其他功能:①故障診斷功能通過(guò)將車(chē)輛的模塊發(fā)送出來(lái)的數(shù)據(jù)進(jìn)行解析,從而得到故障碼,進(jìn)而對(duì)車(chē)輛實(shí)現(xiàn)故障診斷;②維修診斷幫助功能是通過(guò)訪問(wèn)診斷數(shù)據(jù)文件,從診斷文件中查詢(xún)相應(yīng)的維修幫助內(nèi)容并調(diào)用[8];③軟件其他功能包括軟件激活、用戶(hù)認(rèn)證、密碼登錄、軟件升級(jí)等。

4)表示層。表示層主要功能包括數(shù)據(jù)的顯示和用戶(hù)操作入口兩個(gè)方面。軟件界面主要包括標(biāo)題區(qū)、工作區(qū)和狀態(tài)顯示區(qū)3個(gè)部分:標(biāo)題區(qū)可以實(shí)現(xiàn)不同界面之間的切換和軟件的關(guān)閉;工作區(qū)包括用戶(hù)的操作入口和結(jié)果的顯示;狀態(tài)顯示區(qū)包括總線連接狀態(tài)、動(dòng)態(tài)接收數(shù)據(jù)狀態(tài)和總線負(fù)載狀態(tài)[9]。

3 系統(tǒng)測(cè)試及結(jié)果

以某車(chē)輛為測(cè)試對(duì)象,其核心電控模塊包括ECU、ABS、ASR、EBS等,故障診斷平臺(tái)工具通過(guò)車(chē)輛OBD接口連接車(chē)載總線網(wǎng)絡(luò),測(cè)試人員通過(guò)PC端的車(chē)輛故障診斷軟件進(jìn)行整車(chē)的故障診斷功能測(cè)試。車(chē)輛故障診斷軟件顯示的故障及描述如圖2所示。

圖2 軟件顯示的故障

當(dāng)車(chē)輛壓力故障燈亮?xí)r,維修人員使用故障診斷軟件讀到故障碼,描述為壓力傳感器,初步判斷為發(fā)動(dòng)機(jī)的壓力傳感器電壓數(shù)據(jù)故障,意味著壓力傳感器并未工作。根據(jù)軟件的維修診斷幫助排查,檢查壓力傳感器,對(duì)傳感器進(jìn)行維修,重新讀取車(chē)輛的數(shù)據(jù),壓力傳感部分恢復(fù)正常。故障碼被清除,故障燈熄滅,故障被排除。

4 結(jié)束語(yǔ)

基于OBD的汽車(chē)故障診斷系統(tǒng)適用于標(biāo)準(zhǔn)的診斷接口工具,同時(shí)使用主流的車(chē)載CAN網(wǎng)絡(luò)通信協(xié)議,具有良好的通用性。軟件模塊化的開(kāi)發(fā)思路,具有良好的擴(kuò)展性。將現(xiàn)代的軟件技術(shù)和汽車(chē)故障診斷技術(shù)相結(jié)合,實(shí)現(xiàn)故障診斷的智能化,從而更加便捷地診斷汽車(chē)電子控制系統(tǒng)的故障[10]。

猜你喜歡
表示層總線故障診斷
基于Spring的企業(yè)級(jí)Web項(xiàng)目架構(gòu)設(shè)計(jì)研究
軟件(2019年6期)2019-10-08 06:27:21
基于PCI Express總線的xHC與FPGA的直接通信
機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
ASP.NET三層構(gòu)架解析
基于SSH框架科研管理系統(tǒng)的設(shè)計(jì)
因果圖定性分析法及其在故障診斷中的應(yīng)用
多通道ARINC429總線檢查儀
基于LCD和排列熵的滾動(dòng)軸承故障診斷
基于WPD-HHT的滾動(dòng)軸承故障診斷
基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計(jì)
河南科技(2014年16期)2014-02-27 14:13:22
福清市| 荔浦县| 兴业县| 望城县| 鹿泉市| 丰顺县| 高尔夫| 惠水县| 锡林郭勒盟| 文安县| 临泉县| 龙陵县| 江城| 玉屏| 星座| 久治县| 达孜县| 璧山县| 黔西县| 琼海市| 丹江口市| 沂水县| 巨野县| 介休市| 砚山县| 临邑县| 和静县| 浮梁县| 巩留县| 禹州市| 秦安县| 莱州市| 杂多县| 平顺县| 江门市| 施秉县| 台南县| 彩票| 牟定县| 民权县| 新巴尔虎右旗|