诊断_查询DTC(0x19)

时间:2024-04-14 07:18:09

查询DTC记录(0x19)

19服务复杂一点,其涉及到多个子服务。比较常用的子服务有19 01,19 02,19 04,19 06和19 0A。在介绍具体的子服务之前,先要介绍一些预备知识。
DTC Status
DTC Status是指DTC状态。DTC状态有八个:
­ bit0:Test failed,测试失效;
­ bit1:Test failed this monitoring cycle,本检测周期测试失效;
­ bit2:Pending DTC,等待DTC;
­ bit3:Confirmed DTC,确认DTC;
­ bit4:Test not completed since last clear,上次清零后测试未完成;
­ bit5:Test failed since last clear,上次清零后测试失效;
­ bit6:Test not completed this monitoring cycle,本检测周期测试未完成;
­ bit7:Warning indicator requested,警告指示位请求。
这8个状态实际记录的是当DTC发生的时候当时的一些状态。不要求ECU全部支持这8个状态(具体支持哪些状态要根据车厂要求确定)。每一个DTC都会有自己的DtcStauts,一般用1个字节的8个bit来对应上述8种状态,当DTC发生的时候,DTC根据车厂要求支持的DTC状态,确定自己的DtcStatus值,在该DTC故障消失的时候,再去变更该值。这里要特别注意,status的大小端问题。

DTC Status Mask
诊断仪在发送19信令时,还会发送一个DTC Status Mask值。这个值的意义是,已经记录的DTC中,DTCStatus和这个DtcStatusMask值相与后不为0,才是我们要查找的DTC。

19 01

诊断_查询DTC(0x19)

19 02

诊断_查询DTC(0x19)

19 04

诊断_查询DTC(0x19)诊断_查询DTC(0x19)
诊断_查询DTC(0x19)

19 06

诊断_查询DTC(0x19)
诊断_查询DTC(0x19)

19 0A

诊断_查询DTC(0x19)