DTC(Diagnostic Trouble Code),也就是诊断故障码,就像是故障类型的“身份证”号码。当汽车的ECU(Electronic Control Unit,电子控制单元)检测到一个故障时,它会在存储器中存储一个对应的代码,这个代码就是故障码。除了故障码,ECU还可能存储与此故障相关的故障状态、快照信息及扩展信息。
1. 下线检测:对于一辆车的零部件的开发、系统集成、整车组装,其中涉及的流程之长、零件数量之多,可以说是相当的复杂;为了保证最终车辆下线,并且能够安全的上路,这就要在上路之前保证每个零件本身和零件之间必须保证没有任何问题,因此故障码检测就应运而生;不仅保证电子元器件本身不存在问题,而且保证电子元器件间也是通信正常,并保证最终车辆的安全上路。
2. 故障维修:车辆在整个使用的生命周期中,所处的环境也是相当的复杂且恶略;对于当前车辆复杂的线路来说是一项极大的挑战,同时在出现问题后问题的排查也是相当的困难,这时候我们就可以通过故障码来进行查询故障位置,进行快速定位和解决。
1. 故障内码与 5 位标准故障码的对应关系:DTCHighByte、DTCMiddleByte 这两个字节表示故障内码,对应 5 位标准故障码(第一位是字母,后面四位是数字),如“B100016”这个故障码中的“B1000”;最后面的“16”则是 DTCLowByte 的内容。故障内码与 5 位标准故障码的位置对应关系如下:(1)、第一位是字母,表示故障所属系统;有如下的四种情况:(2)、第二位是数字,表示故障类型;有如下的四种情况:(3)、第三位是数字,表示故障所属的子系统;以对动力系统为例(P 开头的故障码),有以下的情况:0:表示燃油和空气计量辅助排放控制整个系统;1:表示燃油和空气计量系统;2:表示燃油和空气计量系统(喷油器);3:表示点火系统;4:表示废气控制系统;5:表示巡航、怠速控制系统;6:车载电脑和输出信号;7:传动系统控制;8:传动系统控制;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,其故障内码为:1000 0000 0001 0010,换算成 16 进制则为 8012;补充上 DTCLowByte(10),则其完整的 16 进制表示为 0x801210。