【车载开发系列】诊断故障码DTC的格式标识符
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
【车载开发系列】诊断故障码DTC的格式标识符
诊断故障码DTC的格式标识符
一.DTC格式标识符概念
DTCFormatIdentifier规定了服务器所报告的DTC格式。它的取值请参照下面的列表。给定的服务器仅允许支持一个DTCFormatIdentifier。
通过DTCFormatIdentifier报告了DTC格式及解码方法等信息。
它规定使用DTCHighByte高位字节DTCMiddleByte中位字节DTCLowByte低位字节进行解码。DTCRecordDTC记录和DTCAndStatusRecordDTC和状态记录当中的DTC编码方式就是参照了DTC格式标识符。
Byte | Value Description | 说明 |
---|---|---|
0x00 | SAE_J2012-DA_DTCFormat_00 | 根据ISO15031-6规范本参数值规定了服务器所报告DTC的格式 |
0x01 | ISO_14229-1_DTCFormat | 本参数定义了服务器所报告DTC的格式 |
0x02 | SAE_J1939-73_DTCFormat | 根据SAEJ1939-73本参数定义了服务器所报告DTC的格式 |
0x03 | ISO_11992-4_DTCFormat | 根据ISO_11992-4本参数定义了服务器所报告DTC的格式 |
0x04 | SAE_J2012-DA_DTCFormat_04 | 本参数定义了服务器所报告DTC的格式见ISO27145-2规范 |
0x05 - 0xFF | ISO/SAE reserved | ISOSAE已保留 |
注1该标识在ISO14229-1中附件D-D.4中定义
注2SAE是美国汽车工程师协议
注3DTC格式标识符是强制的必须指定的
在OBD诊断当中用的最多的格式是SAE_J2012-DA_DTCFormat_00
在UDS诊断当中用的最多的格式是ISO_14229-1_DTCFormat
SAEJ1939协议是由美国汽车工程师协议SAE基于CAN2.0B协议制定的主要针对商用车的CAN总线通讯协议
二.DTC格式标识符的运用
不同车企所支持的子功能是不同的当然支持的DTC格式标识符也会不一样。
1DTCByXXXXMask通过掩码获得DTC情报
在SID$19以下四个子功能当中DTCFormatIdentifier的值就是通过肯定响应从服务器端通知客户端的。
reportType = [
reportNumberOfDTCByStatusMask = 0x01;
reportNumberOfDTCBySeverityMaskRecord = 0x07;
reportNumberOfMirrorMemoryDTCByStatusMask = 0x11;
reportNumberOfEmissionsOBDDTCByStatusMask = 0x12;
]
2按掩码记录报告WWH OBD DTC
reportWWHOBDDTCByMaskRecord(0x42)子功能。它规定了服务器应向客户端传输与客户端定义状态掩码和严重性掩码记录相匹配的WWH OBD DTC列表
及其对应状态和严重性信息。
在这个子功能当中DTCFormatIdentifier只返回两种类型的Format。
DTCFormatIdentifier = [
SAE_J2012-DA_DTCFormat_04
SAE_J1939-73_DTCFormat
]
3报告永久性状态的WWH OBD DTC
它规定服务器向客户端传输状态为永久DTC的WWH OBD DTC列表。
在这个子功能当中DTCFormatIdentifier也只返回两种类型的Format。
DTCFormatIdentifier = [
SAE_J2012-DA_DTCFormat_04
SAE_J1939-73_DTCFormat
]
三.DTC格式标识符作用
ISO15031-6是排放相关诊断OBD的故障码定义它引用了SAE J2012其中提到OBD DTC是2字节但一些新的诊断通讯标准中定义的DTC是3字节如ISO27145解析方式有所不同这个时候通过DTC格式标志字来区分解析方式。
正因为上面的原因如果没有DTC格式标识符那么我们就无法成功解析出DTC中的内容来了。