DTC的构成由 ISO 15031-6和ISO 14229-1的故障断码格式规定DTC信息由四个字节组成如下表所示其中DTCHighByteDTCMiddleByteDTCLowByte表示服务中的故障诊断码StatusOfDTC表示故障码状态。DTCHighByteDTCMiddleByte两字节表示故障内码对应5位标准故障码。5位标准故障码第1位是字母后面4位是数字。第一个字节我们把汽车系统分为四大类。分别是动力底盘车身网络通信分别用PCBU表示。第一位字母★简单一眼就能分辨PBCU的方法DTCstates 4个字节看第一个字节如果第一个字节是40那就是P如果第一个字节是40且80,那就是C如果第一个字节是80且C0.那就是B如果第一个字节是C0那就是U。第二位数字第三位数字对于动力系统部分该位“0”表示燃油和空气计量辅助排放控制整个系统 “1”表示燃油和空气计量系统“2”表示燃油和空气计量系统(喷油器)“3”表示点火系统“4”表示废气控制系统“5”表示巡航、怠速控制系统“6”表示与控制单元相关“7”“8”表示变速箱系统等。第二个字节第四位和第五位数字表示具体故障对象和类型。举例说明故障码U3210U代表的就是Network网络故障位于DTCHighByte字节的bit15、bit14位且都为13代表的就是ISO/SAE保留位于DTCHighByte字节的bit13、bit12且都为12代表的就是燃油和空气计量系统(喷油器)位于DTCHighByte字节的bit11、bit10、biit9、bit8且bit9为1其余全为010代表的就是具体故障对象和类型位于DTCMiddleByte字节上第三个字节DTCLowByte描述故障种类和子类型该部分内容描述需遵循ISO 15031-6。对于不需要该字节信息的DTC该字节填充为0x00。第四个字节StatusOfDTC表示故障码状态DTC状态掩码StatusOfDTCbit描述0testFailed当前周期检测到故障条件满足时置11testFailedThisMonitoringCycle当前运行循环中是否出现过testFailed12pendingDTC当前或上一个运行循环中出现过testFailed13confirmedDTC故障已确认并存储4testNotCompletedSinceLastClear自上次清除故障信息后是否成功检测已检测置05testFailedSinceLastClear自上次清除故障信息后是否出现过testFailed16testNotCompletedThisMonitoringCycle当前运行循环中是否进行故障检测已检测置07warningIndicatorRequested请求点亮仪表盘的MIL灯注意14服务清除DTC格式改变DTC状态的八个位除bit4和bit6外均会被清零因为bit4和bit6这两个testNotCompleted开头会被强制置1。Bit0恢复0的两种情况①UDS 14服务或OBD 04服务②调用Dem_ResetEventStatus函数对该故障状态位进行复位Bit3恢复0的三种情况①故障老化②故障替代③UDS 14服务或OBD 04服务Bit5恢复0的三种情况①故障替代②UDS 14服务或OBD 04服务