19 子功能
子功能ID | 详情 | 描述 |
---|
0x01 | reportNumberOfDTCByStatusMask | 检索匹配状态掩码的DTC个数 |
0x02 | reportDTCByStatusMask | 检索匹配状态掩码的DTC |
0x04 | reportDTCSnapshotRecordByDTCNumber | 检索匹配DTC状态掩码的DTCSnapshot记录数据 |
0x06 | reportDTCExtDataRecordByDTCNumber | 根据客户定义的DTC掩码和DTCExtendedData记录编号检索DTCExtendedData记录数据 |
0x0A | reportSupportedDTC | 检索目标ECU支持的所有DTC的状态 |
常用子功能详解
DTC 格式
DTC格式ID | 使用的规范 | 助记符 |
---|
0x00 | ISO 15031-6规范 | J2012-DADTCF00 |
0x01 | ISO 14229-1规范 | 14229-1DTCF |
0x02 | SAE J1939-73规范 | J1939-73DTCF |
0x03 | ISO 14229-4规范 | 14229-4DTCF |
0x04 | ISO 27145-2规范 | J2012DADTCF04 |
0x05`0xff | 保留 | - |
状态掩码
每一个DTC都已一个状态掩码,当发生了响应的故障,会设置响应的状态为,然后和DTC预先设置的状态掩码值进行与的运算,进入得到DTC的掩码。
状态掩码参考
bit | 英文描述 | 备注 |
---|
bit 0 | testFailed | 当前是否检测到DTC |
| | “0”=DTC测试的最新结果表明未检测到故障。 |
| | “1”=DTC测试的最新结果表明了一个成熟的失败结果。 |
bit 1 | testFailedThisOperationCycle | 当前点火周期是否检测到错误 |
| | “0”=testFailed:在当前操作周期内或在当前操作周期内调用ClearDiagnosticInformation后,尚未报告testFailed结果。 |
| | “1”=testFailed:在当前操作周期中至少报告了一次testFailed结果。 |
bit 2 | pendingDTC | 当前及上衣点火周期是否检测到错误 |
| | “0”=在完成测试完成且未检测到故障的操作循环后或调用ClearDiagnosticInformation服务时,该位应设置为0。 |
| | “1”=如果在当前操作循环中检测到故障,则该位应设置为1并锁定。 |
bit 3 | confirmedDTC | 历史确认故障码 |
| | “0”=自上次调用ClearDiagnosticInformation后,或在满足故障诊断码的老化条件(或由于故障记忆溢出而清除了故障诊断码)后,从未确认过故障诊断码。 |
| | “1”=自上次调用ClearDiagnosticInformation后至少确认一次的DTC,且尚未满足老化标准。 |
bit 4 | testNotCompletedSinceLastClear | 至上次清除测试未完成 |
| | “0”=自上次清除诊断信息以来,DTC测试至少返回一次测试结果(无论通过或失败)。 |
| | “1”=自上次清除诊断信息后,DTC测试尚未运行到完成。 |
bit 5 | testFailedSinceLastClear | 至上次清除检测到错误 |
| | “0”=自上次清除诊断信息后,DTC测试未显示失败结果。如果满足老化阈值或发生故障记忆溢出,则车辆制造商应负责将该位重置为零(“0”)。 |
| | “1”=自上次清除诊断信息以来,DTC测试至少返回一次失败结果。 |
bit 6 | testNotCompletedThisOperationCycle | 当前激活周期测试未完成 |
| | “0”=DTC测试在当前驾驶循环期间(或自上次在当前操作循环期间清除诊断信息以来)完成。 |
| | “1”=此操作循环(或自上次清除此操作循环的诊断信息后),DTC测试尚未运行到完成。 |
bit 7 | warningIndicatorRequested | 警告指示灯 |
| | “0”=服务器未请求warningIndicator处于活动状态。 |
| | “1”=服务器正在请求warningIndicator处于活动状态。 |
19 01 (通过状态掩码请求DTC的数量)
请求格式
字节编号 | 参数名称 | data | 描述 |
---|
1 | ReadDTCInformation Request SID | 0X19 | 读取DTC |
2 | reportNumberOfDTCByStatusMask | 0X01 | 通过状态掩码请求DTC的数量 |
3 | DTCStatusMask | 0X00~0XFF | 需要匹配的状态掩码 |
肯定应答格式
字节编号 | 参数名称 | data | 描述 |
---|
1 | ReadDTCInformation Ask SID | 0X59 | 响应标识 |
2 | reportNumberOfDTCByStatusMask | 0X01 | 通过状态掩码请求DTC的数量 |
3 | DTCStatueAvailabilityMask | 0X00~0XFF | 匹配的状态掩码 |
4 | DTCFormatID | 0X00~0X04 | DTC格式ID |
5 | DTCCount Hight | 0X00~0XFF | DTC数量高字节 |
3 | DTCCount low | 0X00~0XFF | DTC数量低字节 |
示例
示例解析
字节编号 | data | 描述 |
---|
1 | 0X19 | 读取DTC |
2 | 0X01 | 通过状态掩码请求DTC的数量 |
3 | 01 | 状态掩码= 0000 0001B:当前是否检测到DTC |
字节编号 | data | 描述 |
---|
1 | 0X59 | 响应标识 |
2 | 0X01 | 通过状态掩码请求DTC的数量 |
3 | 0X01 | 匹配的状态掩码 |
4 | 0X00 | DTC格式ID |
5 | 0X00 | DTC数量高字节 |
3 | 0X01 | DTC数量低字节 |
19 02 (通过状态掩码请求DTC)
请求格式
字节编号 | 参数名称 | data | 描述 |
---|
1 | ReadDTCInformation Request SID | 0X19 | 读取DTC |
2 | reportDTCByStatusMask | 0X01 | 通过状态掩码请求DTC |
3 | DTCStatusMask | 0X00~0XFF | 需要匹配的状态掩码 |
肯定应答格式
字节编号 | 参数名称 | data | 描述 |
---|
1 | ReadDTCInformation Ask SID | 0X59 | 响应标识 |
2 | reportDTCByStatusMask | 0X01 | 通过状态掩码请求DTC |
3 | DTCStatueAvailabilityMask | 0X00~0XFF | 匹配的状态掩码 |
4~6 | DTC_1 Hight | 0X00~0XFF | DTC 1 |
7 | DTC_1 Status | 0X00~0XFF | DTC 1 状态字节 |
8~10 | DTC_2 Hight | 0X00~0XFF | DTC 2 |
11 | DTC_2 Status | 0X00~0XFF | DTC 2 状态字节 |
示例
示例解析
字节编号 | data | 描述 |
---|
1 | 0X19 | 读取DTC |
2 | 0X02 | 通过状态掩码请求DTC |
3 | 02 | 状态掩码= 0000 0001B:当前是否检测到DTC,历史DTC |
字节编号 | data | 描述 |
---|
1 | 0X59 | 响应标识 |
2 | 0X02 | 通过状态掩码请求DTC |
3 | 0X02 | 匹配的状态掩码 |
4~6 | 0X01 0X22 0X87 | DTC码 |
7 | 0X09 | DTC 状态码 |
19 0A (读取支持的DTC)
请求格式
字节编号 | 参数名称 | data | 描述 |
---|
1 | ReadDTCInformation Request SID | 0X19 | 读取DTC |
2 | reportSupportedDTC | 0X0A | 检索所有支持的DTC |
肯定应答格式
字节编号 | 参数名称 | data | 描述 |
---|
1 | ReadDTCInformation Ask SID | 0X59 | 响应标识 |
2 | reportSupportedDTC | 0XA0 | 检索所有支持的DTC |
3 | DTCStatueAvailabilityMask | 0XFF | 匹配的状态掩码 |
4~6 | DTC_1 Hight | 0X00~0XFF | DTC 1 |
7 | DTC_1 Status | 0X00~0XFF | DTC 1 状态字节 |
8~10 | DTC_2 Hight | 0X00~0XFF | DTC 2 |
11 | DTC_2 Status | 0X00~0XFF | DTC 2 状态字节 |