目录
一、功能定义与应用场景
1、核心功能
SID=0x85,用于控制ECU是否更新DTC(诊断故障码)的状态位:
- 关闭DTC记录(Sub-function=0x02):冻结所有DTC状态位的更新,故障事件检测暂停,但已存储的DTC状态保持不变。
- 开启DTC记录(Sub-function=0x01):恢复DTC状态位的实时更新。
2、典型应用场景
- ECU刷写
在针对单个ECU刷写程序时,需通过功能寻址命令其他ECU停止记录DTC,避免因通信中断误报“通信丢失”类故障。刷写完成后重新开启DTC记录。
- 特殊测试场景:
某些测试或校准过程中需临时禁用故障记录,防止干扰数据采集。
二、请求与响应格式
1、请求报文:85+Sub-function
- 01:开启DTC记录
- 02:关闭DTC记录
2、肯定响应:C5 + 01(或02)
3、否定响应(NRC):7F 85 +NRC
常见NRC包括:
- 12:子功能不支持(如无效Sub-function值)
- 13:报文长度或格式错误
- 22:条件不满足(如车速超限、电压异常)
三、实际应用示例
1、进入扩展会话:10 03 → 响应 50 03
2、关闭DTC记录:85 02 → 响应 C5 02
3、清除历史DTC:14 FF FF FF →响应 54 FF FF FF
4、刷写完成后,开启DTC记录:85 01→响应 C5 01