中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > 汽車OBD2診斷程序開發(fā)

        汽車OBD2診斷程序開發(fā)

        作者: 時間:2011-06-30 來源:網(wǎng)絡 收藏
        故障碼(DTCs Diagnostic Trouble Codes)

        讀故障碼是診斷儀最常用的功能,這里只是簡單的說明一下,詳細內容請查閱ISO15031-5文本
        一般情況下可直接用MODE 03讀取當前故障碼,但這里我們

        先用MODE 01 PID 01讀取現(xiàn)在有多少個故障碼存在ECU內

        >01 01
        41 01 81 07 65 04
        >

        41 01 前面已說明是對MODE 01 PID 01的響應代碼,
        81 代表當前的故障碼數(shù),這個10進制數(shù)值是129,不是代表有129個故障碼,
        81它的最高位MSB 代表是否點亮故障指燈,低7位代表了故障碼的數(shù)量
        16進制算法應是 0x81 0x7F = 0x01 所以是一個故障碼。也可是10進制數(shù)值直接減128
        即:129-128=1;

        所以81代表了,故障燈點亮,有一個故障碼,81后面的數(shù)據(jù)請參考標準文本,和讀故障碼沒有關系。

        本文引用地址:http://www.antipu.com.cn/article/197379.htm




        在這個例子中,TL718只返回了一行數(shù)據(jù),但是如果有另外的控制模塊也附合響應條件,有可能返回多行信息。
        比喻常見的:發(fā)動機電腦和自動波箱控制電腦同時返回信息,就會有2行信息,要確認是哪一個電腦返回的是哪一行
        信息,必須設置返回OBD消息保的三字節(jié)頭(AT H1內部命令打開),查看消息頭字節(jié)中的第三個字節(jié)(源地址)確定
        是那個電腦模塊返回的消息包。這里先不討論,在另外章節(jié)來詳細討論,多消息包數(shù)據(jù)。



        現(xiàn)在已經(jīng)讀了有多少個故障碼,下一步讀實際的故障碼是什么。

        診斷模式MODE 03讀?。褐灰唵蔚叵騎L718發(fā)送03

        >03

        可能的返回信息數(shù)據(jù)如下:
        43 01 33 00 00 00 00

        注:如果故障碼數(shù)量多于3或多個電腦模塊,會返回多行消息包,

        43是對MODE 03 請求的響應(03+40),另外的6個字節(jié)是故障代碼,2個字節(jié)代表一個故障碼。
        這里有3個代表故障碼的數(shù)據(jù):0133 0000 0000,“0000”是ISO15031在這個模式下返回的填充數(shù)據(jù)
        不是實際的故障碼。

        故障碼含義:ISO定義:二字節(jié)故障碼(例0133)的第一個數(shù)如下表所示現(xiàn)在來分析上面的故障碼 0133:






        第一個數(shù)字“0”按上表用“P0”代替。0133就代表是故障碼P0133。
        同樣如果收到的是D016則,“D”用U1代替,則故障代碼就時U1016;
        如果收到是1131則代換后,故障代碼是P1131。

        注:ISO15765 CAN故障碼消息包和J11850、ISO9141 ISO14230返回的信息有稍不同,
        編寫程序時要注意,ISO 15765 返回的信息第二個數(shù)據(jù)代表的是電腦模塊有多少個故障碼(DTCs),
        詳細看ISO15031-5內定義。



        清除故障代碼

        診斷模式MODE04 是復位ECU的一個功能,同時也清觸故障代碼;執(zhí)行后ECU將:

        1、復位故障代碼的數(shù)量為0
        2、刪除所有的故障代碼
        3、刪除存儲的凍結楨數(shù)據(jù)
        4、刪除所有O2傳感器聽測試數(shù)據(jù)
        5、刪除模式MODE06 和 MODE 07的數(shù)據(jù)信息

        復位后你的由于復位了一些數(shù)據(jù),短時間內可能會引起工作異常。為了防止不小心復位ECU,
        ISO15031-5要求所有的掃描工具(診斷儀)在發(fā)送MODE 04指令前,必須加一個“確認信息”。
        TL718不監(jiān)視發(fā)送信息的內容是否是復位指令。

        >04
        44
        >
        發(fā)送04指令后,車輛ECU接收成攻,將立即復位以上內容,
        并發(fā)回一個MODE 04的響應信息44(04+40)。

        一般的流程:




        結束語




          • ISO14230 ISO9141要求通訊前的初始化過程、及連接后要求有一個周期性的握手信號,這些TL718都已經(jīng)自動完成,OBD2標準的都不用更改。怎樣更改這些參數(shù):
          • 看完這些內容,就可開始你的OBD2開發(fā)。實際上廠商專用的診斷功能程序差不多也是這么簡單。為什么叫專用,是因為它沒有公開應用層的協(xié)議。開發(fā)時比我們OBD2開發(fā)多少一個過程。就是怎樣用TL718從專用的設備中讀得專用的診斷指令(也就是應用層協(xié)議)。在開發(fā)專用功能的診斷儀中討論這個問題。
          • OBD2其他的診斷模式這里不再說明,診斷方法都是一樣的。詳細內容查看ISO15031-5或SAE J1979。
          • 多試多做你會發(fā)現(xiàn)開發(fā)原來如此簡單。

        c++相關文章:c++教程



        上一頁 1 2 3 下一頁

        關鍵詞: OBD2 汽車 診斷程序

        評論


        相關推薦

        技術專區(qū)

        關閉