DTC标准故障码格式解析

DTC(Diagnostic Trouble Code)表示诊断故障码,是故障类型的"身份ID";用于汽车故障时对故障部位及原因的排查。其格式如下:

DTCHighByte(Hex) DTCMiddleByte(Hex) DTCLowByte(Hex)

1、故障内码与5位标准故障码的对应关系
  其中,DTCHighByte、DTCMiddleByte这两个字节表示故障内码,对应5位标准故障码(第一位是字母,后面四位是数字),如"B100016"这个故障码中的"B1000";最后面的"16"则是DTCLowByte的内容。故障内码与5位标准故障码的位置对应关系如下:

image

image

  (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;

posted @ 2023-06-29 14:58  可乐芬达  阅读(1436)  评论(0编辑  收藏  举报