UDS(Unified Diagnostic Services)协议中,否定响应码(Negative Response Code,NRC)用于指示请求服务不能被执行的原因。以下是一些常见的否定响应码及其中文解释:
- 0x00: 无否定响应码,通常不用于否定响应报文。
- 0x10: 通用拒绝,表示服务端拒绝了请求的执行。
- 0x11: 服务不支持,表示请求的服务未被服务端支持。
- 0x12: 子功能不支持,表示请求的服务中包含服务端不支持的子功能。
- 0x13: 消息格式错误,表示请求消息的长度或格式不正确。
- 0x14: 响应超长,表示服务端生成的响应超出了网络层可用的最大字节数。
- 0x21: 服务端忙,表示服务端暂时忙而无法执行请求的操作。
- 0x22: 条件不满足,表示请求的服务由于未满足某些条件而不能执行。
- 0x24: 请求序列错误,表示客户端发送的请求报文顺序不符合服务端的规定。
- 0x25: 子网组件无响应,表示服务端已收到请求,但子网组件未在规定时间内响应。
- 0x26: 因失效阻止请求执行,表示由于发生故障,该故障禁止服务端执行请求的动作。
- 0x31: 请求超出范围,表示请求报文中的参数超出了授权范围或试图访问的数据标识符/例程标识符不被支持。
- 0x33: 安全访问拒绝,表示客户端未能满足服务端的安全策略。
- 0x35: 密钥无效,表示客户端发送的密钥与服务端内存中的密钥不匹配。
- 0x36: 超出访问次数,表示客户端未成功访问的次数超出了服务端安全策略所允许的次数。
- 0x37: 请求的时间延迟未过期,表示客户端在服务端要求的超时周期未到之前发送了请求报文。
- 0x70: 上传/下载未被接收,表示由于某种故障条件,上传/下载到服务端内存中的尝试未被完成。
- 0x71: 数据传输停止,表示由于一些故障,已经激活的数据传输服务应该被停止。
- 0x72: 一般性编程失败,表示在永久内存设备上进行擦写或编程时检测到错误。
- 0x78: 请求正确接收,应答待定,表示请求报文被正确接收,但是要执行的操作尚未完成,服务端也还没有准备好接收另一个请求。
- 0x7E: 会话不支持子功能,表示在当前的会话模式下不支持请求的子功能。
- 0x7F: 会话不支持服务,表示在当前的会话模式下不支持请求的服务。
数据来源:【ISO 14229-1_2013_03-en【UDS】】