您的位置首页 >科技要闻 >

UDS CAN 诊断 SID 0x14 详解ClearDiagnosticInformation 清除诊断信息服务

UDS 里面 SID 0x14 也就是 ClearDiagnosticInformation 清除诊断信息服务,是汽车 CAN 诊断最常用的基础服务,作用是让诊断仪下发指令,擦掉 ECU 内部存储的故障码 DTC、快照帧、扩展故障数据、故障计数等全部诊断记录,遵循 ISO14229 标准,在整车标定、售后维修、台架测试里高频使用。很多新手容易踩坑,以为 0x14 发出去就代表故障消失,实际上它只擦除已经存下来的诊断日志,不会修复硬件本身故障,如果故障条件还存在,ECU 监测逻辑依旧会重新报 DTC;另外这个服务没有子功能,也不支持抑制正响应位,报文结构简单,但对会话条件、电压、ECU 状态有要求,不满足条件会返回否定响应。我们先把报文格式、常用分组、负响应码讲清楚,再给实操流程,最后说开发和测试里的注意点。

报文结构说明表

报文方向内容说明
诊断仪→ECU(请求)0x14 + groupOfDTC [3 字节] + [MemorySelection 可选]基础固定 4 字节,MemorySelection 是 2020 版标准新增,用来选择不同 DTC 存储区,属于可选字段
ECU→诊断仪(正响应)0x54只有 1 字节,0x14+0x40 得到正响应 SID;就算本来没有故障码,请求合法也返回 0x54
ECU→诊断仪(负响应)0x7F 0x14 NRC0x7F 固定否定标识,0x14 是目标服务 ID,NRC 代表错误原因

groupOfDTC 常用分组清单

  • 0xFF FF FF:清除该 ECU 下全部 DTC(日常维修、测试最常用)
  • 0xFF FF 0x01:车身域 DTC(B 类故障码)
  • 0xFF FF 0x02:底盘域 DTC(C 类故障码)
  • 0xFF FF 0x03:网络通信类 DTC(U 类故障码)
  • 0xFF FF 0x33:排放相关动力总成 DTC(P 类 OBD 故障码)
  • 自定义 3 字节 DTC 编号:只清除指定单条故障码

高频 NRC 否定响应码释义

NRC名称常见原因
0x13IncorrectMessageLengthOrInvalidFormat报文长度不对、字节排版错误,比如少发 groupOfDTC
0x22ConditionsNotCorrect条件不满足:电压超限、当前会话不允许、车辆运行状态禁止清故障
0x31RequestOutOfRange传入的 groupOfDTC 分组不存在,ECU 不支持该 DTC 组
0x72GeneralProgrammingFailure擦写非易失存储(EEPROM/Flash)失败,硬件存储异常
0x78ResponsePending擦除耗时较长,ECU 先返回这个,擦完再发 0x54,防止诊断仪超时

实操调用步骤

  1. 先切换诊断会话:大部分 ECU 要求在默认会话或者扩展会话下才能执行 0x14,编程会话一般不开放清 DTC
  2. 前置读取 DTC:先用 0x19 服务读取并保存故障、快照数据,清掉之后快照数据无法找回
  3. 下发 0x14 请求报文,比如清全部故障:0x14 0xFF 0xFF 0xFF
  4. 接收 ECU 响应:收到 0x54 代表清除指令执行完成;收到 0x78 则等待后续报文;收到其他 NRC 对照表格排查问题
  5. 校验结果:再次调用 0x19 读取 DTC 列表,确认对应故障记录已经清空

开发与测试重点注意事项

  1. 0x14 清除范围包含:DTC 状态字节、冻结帧快照、扩展故障数据、故障计数器、首次故障时间记录,不是只清 DTC 编号
  2. 故障真实存在时,清除之后监视器还会重新置位 DTC,不能靠 0x14 掩盖硬件故障
  3. 部分整车有策略限制:发动机运转、车速不为 0 时,禁止清除排放相关 DTC,直接返回 0x22
  4. MemorySelection 属于可选扩展,很多老 ECU 不支持,不要随便追加这个字节,避免报 0x13 长度错误

【常见问题】

问题 1:UDS SID 0x14 ClearDiagnosticInformation 服务返回 0x54,是不是代表车辆故障已经修好?

回答 1:不是,UDS SID 0x14 ClearDiagnosticInformation 服务返回 0x54 只代表 ECU 成功擦除存储的诊断信息,硬件故障条件还存在的话,ECU 监测逻辑会再次上报 DTC。

问题 2:UDS SID 0x14 ClearDiagnosticInformation 服务,0x14 FF FF FF 这条报文作用是什么?

回答 2:UDS SID 0x14 ClearDiagnosticInformation 服务里 0x14 FF FF FF 是最常用指令,groupOfDTC 填 0xFFFFFF,代表清除当前 ECU 内部存储的全部 DTC 以及配套快照、扩展诊断数据。

问题 3:调用 UDS SID 0x14 ClearDiagnosticInformation 收到负响应 7F 14 22,一般是什么原因?

回答 3:调用 UDS SID 0x14 ClearDiagnosticInformation 收到 7F 14 22,NRC 为 0x22,代表 ConditionsNotCorrect,ECU 当前条件不允许清除诊断信息,常见是会话不对、电压异常、车辆工况限制。

问题 4:UDS SID 0x14 ClearDiagnosticInformation 服务有没有子功能,能不能使用抑制正响应位?

回答 4:UDS SID 0x14 ClearDiagnosticInformation 服务没有子功能字段,协议明确不支持 suppressPosRspMsgIndicationBit 抑制正响应位,只要执行成功一定会回复 0x54 正响应。

【参考资料】

[2026-11-11](详解 UDS CAN 诊断:ClearDiagnosticInformation Service(SID:0x14))电子工程专辑

[2026-10-30](0x14 ClearDiagnosticInformation — UDS DTC Clear)udssimulator.com

[2025-04-16](Clear Diagnostic Information (0x14) Service in UDS Protocol)PiEmbSysTech

[2024-07-20](UDS 基础知识介绍)汽车测试网

【免责声明】

本文基于 ISO14229-1 标准公开内容整理讲解 UDS SID 0x14 ClearDiagnosticInformation 服务,不同主机厂、ECU 软件会增加自定义限制策略;报文示例、NRC 说明仅用于学习测试,实车标定、维修诊断请配合原厂诊断规范,不直接作为量产开发、线下维修的唯一依据。

今日大家都在搜的词: