DTC标准故障码格式解析
DTC(Diagnostic Trouble Code)表示诊断故障码,是故障类型的"身份ID";用于汽车故障时对故障部位及原因的排查。其格式如下:
DTCHighByte(Hex) | DTCMiddleByte(Hex) | DTCLowByte(Hex) |
---|
1、故障内码与5位标准故障码的对应关系
其中,DTCHighByte、DTCMiddleByte这两个字节表示故障内码,对应5位标准故障码(第一位是字母,后面四位是数字),如"B100016"这个故障码中的"B1000";最后面的"16"则是DTCLowByte的内容。故障内码与5位标准故障码的位置对应关系如下:
(1) 第一位是字母,表示故障所属系统;有如下的四种情况:
故障内码(Bit15 Bit14) | 标准故障码的表示字符1 | 所属系统 | 代号 |
---|---|---|---|
00 | 0 | Powertrain:动力系统故障 | P |
01 | 1 | Chassis:底盘故障 | C |
10 | 2 | Body:车身故障 | B |
11 | 3 | Network:网络故障 | U |
(2) 第二位是数字,表示故障类型;有如下的四种情况:
故障内码(Bit13 Bit12) | 标准故障码的表示字符2 | 故障类型 |
---|---|---|
00 | 0 | ISO/SAE标准定义的故障码 |
01 | 1 | 制造商自定义的故障码 |
10 | 2 | ISO/SAE预留 |
11 | 3 | ISO/SAE预留 |
(3) 第三位是数字,表示故障所属的子系统;以对动力系统为例(P开头的故障码),有以下的情况:
- 0:表示燃油和空气计量辅助排放控制整个系统;
- 1:表示燃油和空气计量系统;
- 2:表示燃油和空气计量系统(喷油器);
- 3:表示点火系统;
- 4:表示废气控制系统;
- 5:表示巡航、怠速控制系统;
- 6:车载电脑和输出信号;
- 7:传动系统控制;
- 8:传动系统控制;
(4) 最后两位也是数字,表示具体故障对象和类型。
补充:DTCLowByte则是描述故障种类和子类型,该部分内容遵循ISO 15031-6;对于不需要该字节信息的DTC,可填充为0x00。
2、故障码的16进制表示
根据前面介绍的故障内码与5位标准故障码的对应关系,我们可以将标准故障码换算成其16进制的表示,便于我们在代码中的记录操作。
关于标准故障码换算为16进制表示,其实只需根据第一小节中介绍的故障内码与5位标准故障码的对应关系;将标准故障码的第一、第二位(如下例中的“U0”、“B1”)换算为对应的内码格式,再以16进制表示出来;至于后面的其他内容,其格式本来就是16进制进行表示的,直接照着写下来即可(其实只是将标准故障码的第一、二位进行转换即可了)
例如:
U007304,其故障内码为:1100 0000 0111 0011,换算成16进制则为C073;补充上DTCLowByte(04),则其完整的16进制表示为0xC07304;
B100016,其故障内码为:1001 0000 0000 0000,换算成16进制则为9000;补充上DTCLowByte(16),则其完整的16进制表示为0x900016;