汽车诊断之UDS入门-0x19 0x06服务
0x19 0x06 通過client定義的DTC mask和DTCExtendedData record number獲取DTC擴展記錄數據
Subfunction=06 reportDTCExtDataRecordByDTCNumber
ECU應檢索其支持且與client定義的DTCMaskRecord匹配的DTC(包含DTC number(高,中,低 byte)),client請求中的DTCExtDataRecordNumber參數應定義某個DTC的某條DTCExtendedData記錄。
除了DTC number和StatusOfDTC以外,ECU還應返回1條單獨預定義的DTCExtendedData記錄響應client的請求(DTCExtDataRecordNumber不等于0xFE或0xFF)
整車廠應定義DTCExtDataRecord的格式和內容。DTCExtDataRecord報告的數據結構由DTCExtDataRecordNumber定義,定義方式與record DataIdentifier中數據的定義類似。響應中可能包含多個DTCExtDataRecordNumber及相關的DTCExtDataRecord。單個或多個DTCExtDataRecordNumber允許存儲1個DTC不同類型的DTCExtDataRecords。
ECU應在單個響應消息中報告1個DTCExtendedData記錄,除非DTCExtDataRecordNumber已經被設置為0xFE或0xFF,這將造成ECU在1個單獨的響應消息中包含與client請求的DTCMaskRecord相關的所有存儲的DTCExtendedData記錄。
如果client定義的DTCMaskRecord或者DTCExtDataRecordNumber參數無效或者ECU不支持,ECU應給出負響應。該情形包含如果client發送的DTCExtDataRecordNumber參數是0xFE,但是沒有ECU支持的OBD擴展數據記錄(0x90-0xEF)。這區別于client定義的DTCMaskRecord或者DTCExtDataRecordNumber參數有效且ECU支持,但是沒有與之相關的DTC擴展數據(例如擴展數據內存溢出)。ECU應給出僅包含DTCAndStatusRecord(echo of 請求的DTC number(high,middle,low byte)加上statusodDTC)正響應。
client成功發出 ClearDiagnosticInformation 請求后,應清除 DTCExtendedData 信息。 整車廠需要定義清楚刪除已存儲 DTC 和 DTCExtended數據的規則以防內存溢出。
DTCMaskRecord
3字節的參數包含DTCHighByte, DTCMiddleByte 和 DTCLowByte,代表ECU支持的某個DTC獨有的ID值。
該參數支持ECU從下方多種解碼方式中選取1種:
 — ISO 15031-6[17] specification. 該格式由 DTCFormatIdentifier = SAE_J2012-DA_DTCFormat_00定義
 — 文檔沒有定義任何解碼方式 ,支持整車廠自定義解碼方式。該格式由 DTCFormatIdentifier = ISO_14229-1_DTCFormat定義。?
 — ?SAE J1939-73[24] specification. 該格式由 DTCFormatIdentifier = SAE_J1939-73_DTCFormat定義,
 — ISO 11992-4[9] specification. 該格式由 DTCFormatIdentifier = ISO_11992-4_DTCFormat定義
 — ISO 27145-2[21] specification. 該格式由 DTCFormatIdentifier = SAE_J2012-DA_VOBD_DTCFormat定義.
 DTCMaskRecord 應包含單 DTC值. 禁止使用DTC組。
DTCExtDataRecordNumber(client request)
?SubFunction=reportDTCExtDataRecordByDTCNumber 或?reportDTCExtDataRecordByRecordNumber .
DTCExtDataRecordNumber有1個字節,表示client定義的DTCMaskRecord對應的DTCExtendedData record數量。
該參數也被用于reportDTCExtendedDataRecordIdentification 來定義哪個DTC支持特定的DTCExtendedDataRecordNumber.
DTCAndStatusRecord
該參數包含滿足ISO_14229-1_DTCFormat, SAE_J2012-DA_DTCFormat_00, SAE_J1939-73_DTCFormat, SAE_J2012-DA_DTCFormat_04 或ISO_11992-4_DTCFormat格式的1組或多組DTCHighByte, DTCMiddleByte, DTCLowByte and statusOfDTC。如果滿足SAE_J1939-73_DTCFormat,支持SPN (Suspect Parameter Number), FMI (Failure Mode Identifier), and OC (Occurrence Counter)參數,上述參數在SAE J1939有定義。
DTCHighByte, DTCMiddleByte 和 DTCLowByte代表了ECU支持的某個DTC的獨有的ID。
DTCExtDataRecordNumber(ECU response)
要么與client請求中定義的相同,要么是存儲的DTCExtendedData record實際的TCExtDataRecordNumber。
DTCExtDataRecord
ECU定義的與某個DTC相關的包含擴展狀態信息的一組信息。DTCExtendedData包含在請求時已被定義的DTC參數值。
請求格式
?0x19 0x06舉例
假設
1.ECU支持存儲某個給定DTC相關的2個DTCExtendedData records;
2.請求所有DTC 0x123456相關的ECU存儲的有效DTCExtendedData records;
3.DTC 0x123456 status 是0x24且下方DTC相關的擴展數據有效;
4.通過 DTCExtDataRecordNumbers 0x05?and 0x10 查詢DTCExtendedData。
?下方DTCExtDataRecordNumber=0xFF,意為報告所有的DTCExtDataRecords,ECU返回2個已存儲的與client請求的DTC相關的DTCExtDataRecords。
?
總結
以上是生活随笔為你收集整理的汽车诊断之UDS入门-0x19 0x06服务的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 脉冲耦合神经网络(PCNN)阅读笔记
- 下一篇: 《别做“正常”的傻瓜(全新第2版)》
