车载诊断NRC - UDS Negative Response Code

目录

  • Negative Response Code
    • NRC Categories

Negative Response Code

NRC Categories

>>下表中列出了ISO14229-1:2013(E)中定义的否定响应码及其使用条件:
否定响应码的取值范围为0x00 - 0xFF,被分为三组:

  • 0x00:服务器内部实现否定响应码判断逻辑时使用,表示要给出肯定响应。
  • 0x01 – 0x7F:诊断通信相关的否定响应码。
  • 0x80 – 0xFF:服务器收到诊断服务请求时,由于某些条件不满足要求而给出的否定响应码。给出这些否定响应码而不是给出0x22的目的是为了提供请求的服务不能被执行的更详细的原因

NRC 常用列表


  • 00 POSITIVERESPONSE 正响应
    • 正响应
  • 11 SERVICENOTSUPPORTED 服务不支持
    • 当诊断仪发送的请求消息中服务标识符无法识别或不支持时,ECU应发送该响应码
  • 12 SUBFUNCTIONNOTSUPPORTED 不支持子功能
    • 该响应码表明请求的动作不能执行的原因是ECU不支持请求消息中的服务特定参数。如果诊断仪已经发送了一请求消息,并且该请求消息包含能识别且支持的服务标识符,但子功能要么无法识别要么不支持,此时ECU应(shall)发送此响应代码
  • 13 INCORRECTMESSAGELENGTHORINVALIDFORMAT 不正确的消息长度或无效的格式
    • 该响应码表明请求的动作不能执行的原因是ECU接收到的请求消息长度与特定服务规定的长度不匹配或者是参数格式与特定服务规定的格式不匹配
  • 22 CONDITIONSNOTCORRECT 条件不正确
    • 该响应码表明请求的动作不能执行的原因是ECU的状态条件不允许
  • 24 REQUESTSEQUENCEERROR 请求序列错误
    • 该响应码表明请求的动作不能执行的原因是ECU收到一个非预期的请求消息序列或诊断仪发送的消息
  • 31 REQUESTOUTOFRANGE 请求超出范围
    • 该响应码表明请求的动作不能执行的原因是ECU检测到请求消息包含一个超出允许范围的参数或者是不支持或者激活会话模式下不支持的数据标识符/例程标识符的访问。应(shall)允许诊断仪在ECU内部进行读数据、写数据或通过数据调整功能的服务使用该响应代码
  • 33 SECURITYACCESSDENIED 安全访问拒绝
    • 用在需要安全访问但没通过安全访问的情况。
  • 35 INVALIDKEY 密钥无效
    • 该响应码表明ECU不允许通过安全访问的原因是诊断仪发送的密钥与ECU内存中的密钥不匹配
  • 36 EXCEEDNUMBEROFATTEMPTS 尝试次数超限
    • 请求安全访问(SecurityAccess)服务的失败次数超过服务器允许的最大次数时,回复此编码。
  • 37 REQUIREDTIMEDELAYNOTEXPIRED 延时时间未到
    • 服务器在安全访问延迟时间内收到安全访问(SecurityAccess)服务请求时,回复此编码
  • 70 UPLOADDOWNLOADNOTACCEPTED 上传下载未接受
    • 由于故障导致从服务器的存储器上传数据失败或向服务器的存储器下载数据失败时,回复此代码
  • 71 TRANSFERDATASUSPENDED 传输数据中断
    • 由于故障导致数据传输操作被中断时,回复此编码
  • 72 GENERALPROGRAMMINGFAILURE 一般编程失败
    • 该响应码表明在不可擦除的内存设备中进行擦除或编程时ECU检测到错误发生
  • 73 WRONGBLOCKSEQUENCECOUNTER 错误的序列块
    • 在执行数据传输服务(TransferData (0x36) service)的过程中,检测到数据块序列编号(BlockSequenceCounter)错误时,回复此编码
  • 78 REQUESTCORRECTLYRECEIVED_RESPONSEPENDING 正确接收请求消息-等待响应
    • 该响应码表明诊断仪请求的消息被ECU正确接收且请求消息中所有参数有效,但是将执行的动作未完成且ECU未准备好接收其它请求。一旦完成所请求的服务,ECU应(shall)发送一肯定响应消息或发送否定响应吗不为78的否定响应消息
  • 7E SUNFUNCTIONNOTSUPPORTEDINACTIVESESSION 激活会话不支持该子服务
    • 该响应码表明请求的动作不能执行的原因是当前会话模式下ECU不支持请求的子服务
  • 7F DIAGNOSTICSESSIONNOTCORRECT 激活会话不支持该服务
    • 该响应码表明请求的动作不能执行的原因是当前会话模式下ECU不支持请求的服务

你可能感兴趣的:(服务器,servlet,http,UDS,NRC)