DTC(Diagnostic Trouble Code) 表示诊断故障码,是故障类型的 "身份ID";用于汽车故障时对故障部位及原因的排查。其格式如下:
DTCHighByte(Hex) | DTCMiddleByte(Hex) | DTCLowByte(Hex) |
---|
1、故障内码与5位标准故障码的对应关系
其中,DTCHighByte、DTCMiddleByte这两个字节表示故障内码,对应5位标准故障码(第一位是字母,后面四位是数字),以外国某客户BUSOFF代码为例"U005588"这个故障码中的"U0055";最后面的"16"则是DTCLowByte的内容。故障内码与5位标准故障码的位置对应关系如下:
这些故障定义在J2012-DA中有详细的介绍,查阅该文档可清晰的明白故障代码的意义。
2、DTC故障码转换成标准故障码
前面介绍的故障内码与5位标准故障码的对应关系,我们可以将标准故障码换算成其16进制的表示,便于我们在代码中的记录操作。
(1)第一位是字母,表示故障所属系统;有如下四种表示:
故障内码(Bit15 Bit14) | 标准故障码的表示字符 | 所属系统 |
---|---|---|
00 | P | Powertrain |
01 | C | Chassis |
10 | B | Body |
11 | U | Network |
(2)第二位是数字,表示故障类型;有如下四种表示:
故障内码(Bit13 Bit12) | 标准故障码的表示字符 | 故障类型 |
---|---|---|
00 | 0 | ISO/SAE标准定义的故障码 |
01 | 1 | 制造商自定义的故障码 |
10 | 2 | ISO/SAE预留 |
11 | 3 | ISO/SAE预留 |
其它位的定义转换直接按照对应十六进制即可。以U005588为例,其故障内码为:1100000001010101,换算成16进制则为C055;补充上DTCLowByte(04),则其完整的16进制表示为0xC05588;可以看出只需要转换前两位U0即可。