UDS(统一诊断服务)中的0x19服务是读取诊断故障码(DTC)信息,用于从车辆ECU中获取故障码及其相关数据。该服务通过子功能(Sub-function)区分不同的操作类型,以下是详细说明:
0x19服务概述
-
功能:读取DTC的数量、列表、状态、快照数据、扩展数据等。
-
子功能:通过第二个字节指定(如0x01、0x02等),高位为
1时抑制正响应(如0x81)。 -
常见应用场景:
-
故障诊断时获取故障码列表。
-
分析故障发生时的车辆状态(快照数据)。
-
读取故障码的触发环境(扩展数据)。
-
核心子功能详解
1. 0x19 01:读取DTC数量
-
功能:返回符合特定条件的DTC总数(如已确认的、未确认的等)。
-
请求格式:
19 01 [状态掩码]- 状态掩码:1字节,定义筛选条件(如
0xFF表示所有状态)。
- 状态掩码:1字节,定义筛选条件(如
-
响应格式:
59 01 [状态掩码] [DTC数量高字节] [DTC数量低字节]- 示例:
59 01 FF 00 03表示存在3个DTC。
- 示例:
2. 0x19 02:读取DTC列表
-
功能:返回所有匹配状态掩码的DTC列表及状态。
-
请求格式:
19 02 [状态掩码] -
响应格式:
59 02 [状态掩码] [DTC1高] [DTC1中] [DTC1低] [状态1] ...-
DTC格式:3字节(例如
P0101编码为0x0101,具体标准依赖协议)。 -
状态字节:表示故障状态(如bit0=当前故障,bit3=已确认等)。
-
3. 0x19 04:读取DTC快照数据
-
功能:获取故障发生时记录的车辆动态数据(如车速、转速等)。
-
请求格式:
19 04 [DTC高] [DTC中] [DTC低] [记录号]- 记录号:标识不同时间点的快照(通常为
0x01)。
- 记录号:标识不同时间点的快照(通常为
-
响应格式:
59 04 [DTC] [记录号] [数据1] [数据2] ...- 数据:按DID(数据标识符)组织的参数值。
4. 0x19 06:读取DTC扩展数据
-
功能:获取故障相关的环境信息(如温度、电压等)。
-
请求格式:
19 06 [DTC高] [DTC中] [DTC低] -
响应格式:
59 06 [DTC] [扩展数据] ...
其他子功能
-
0x03:读取DTC严重性信息。
-
0x0A:读取支持DTC状态掩码(ECU支持的故障状态类型)。
-
0xFF(制造商自定义):用于特殊用途。
关键参数说明
-
状态掩码:
-
Bit0:测试失败(当前故障)。
-
Bit1:当前确认的故障(历史存储)。
-
Bit2:故障已清除(需要维护周期确认)。
-
其他位保留或自定义。
-
-
DTC格式:
-
ISO 15031-6标准(如P0XXX、U0XXX)。
-
3字节编码(例如
0xC123对应特定故障)。
-
示例交互
-
读取DTC数量:
-
请求:
19 01 FF -
响应:
59 01 FF 00 02(2个故障码)。
-
-
读取DTC列表:
-
请求:
19 02 08(请求已确认的DTC)。 -
响应:
59 02 08 01 01 01 08(DTC P0101,状态为已确认)。
-
-
读取快照数据:
-
请求:
19 04 01 01 01 01 -
响应:
59 04 01 01 01 22 11 00 3A(包含车速、转速等参数)。
-
否定响应(NRC)
-
12:子功能不支持。
-
13:报文长度错误。
-
22:条件不满足(如无DTC)。
-
31:请求超出范围(如无效DTC)。
应用场景
-
维修诊断:快速定位故障原因。
-
数据监控:分析故障发生时的系统状态。
-
OBD合规:满足排放法规要求的故障报告。
通过0x19服务,诊断工具能高效获取ECU中存储的故障信息,为车辆维护和故障排查提供关键数据支持。
1686

被折叠的 条评论
为什么被折叠?



