车载诊断NRC - UDS Negative Response Code

这篇具有很好参考价值的文章主要介绍了车载诊断NRC - UDS Negative Response Code。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Negative Response Code

NRC Categories

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

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

NRC 常用列表文章来源地址https://www.toymoban.com/news/detail-400308.html


  • 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不支持请求的服务

到了这里,关于车载诊断NRC - UDS Negative Response Code的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【车载开发系列】UDS诊断---动态定义DID($0x2C)

    动态定义数据标识符 DynamicallyDefineDataIdentifier(2Ch) 此服务允许诊断工具在ECU的内部动态定义一个数据标识符,一个临时的DID,可以通过这个DID读取一段内存的数据,也可以通过改DID一次性读取多个原有DID的数据。 该数据标识符还可以被读取数据服务22h或读取数据(周期标识

    2024年02月02日
    浏览(40)
  • 【车载开发系列】UDS诊断---读取DTC信息($0x19)

    UDS可以简单理解为一套完整的通讯协议框架,其目的在于规范各种行车电脑和ECU之间的通讯。0x19服务其实是读取DTC信息的服务。 1)DTC概念 故障存储相关的0x19和0x14服务。 当系统检测到了一个错误或者是一个故障发生的时候,会将相对应的数值故障码进行存储,那么这个对应

    2024年01月15日
    浏览(34)
  • 诊断基础:NRC0x78(Pending)问题知多少?

    先看一个数据流,如下所示: 如上的数据流中,上位机使用功能寻址(0x7FF)发送了$10 82的诊断请求,Server端给了一个NRC0x78响应,并且没有最终响应。 (一)需求解读 如果单纯的看这个数据流,大家可能比较迷茫,不知这个问题是对还是错。我们先看一下需求,如下所示:

    2023年04月22日
    浏览(22)
  • UDS诊断协议

    UDS 本质上是一系列服务的集合,包含 6 大类,共 26 种。每种服务都有独立的 ID ,即 SID 。 请求 SID(1Byte) + 参数 SID(1Byte) + Sub-function(1Byte) + 参数 SID + DID(2Bytes) 响应 肯定响应 SID+0x40(1Byte) + Sub-function (根据请求是否存在) + 参数 SID+0x40(1Byte) + DID + Data 否定响应 0x7F + SID + NRC(1Byte)

    2024年02月15日
    浏览(30)
  • 使用python执行uds诊断

            主要是通过python-can模块与pcan等支持的硬件通讯,uds协议层使用udsoncan模块和can-isotp模块实现uds诊断。         python-can模块         pip install python-can         相关文档链接:Installation - python-can 4.1.0 documentation                  udsoncan模块         pip ins

    2024年02月09日
    浏览(36)
  • UDS诊断协议——网络层协议

     UDS(unified Diagnostic Service, 统一诊断服务)是一个在整个汽车系统上经常使用的设备维护协议。其主要遵循: ISO-15765、ISO-14229,其ISO-15765协议是适用于网络层的协议,主要规范了“传输协议和网络层服务”, ISO-14229协议对应用层、会话层做出了定义。 协议功能        UDS网络

    2024年02月04日
    浏览(42)
  • UDS诊断之负响应码

    否定响应码(NRC) 定义(Defination) 0x12 服务器支持诊断请求中的服务标识符(Service ID),但不支持收到的子功能参数时,回复此编码。 0x13 请求服务的诊断报文中的数据长度与定义不一致时,回复此编码。请求服务中参数的格式与定义不一致时也会回复此编码。 0x22 请求的诊断服务的执

    2024年02月11日
    浏览(36)
  • UDS统一诊断服务【一】诊断会话控制0X10服务

    最近在做诊断相关的开发工作,将自己接触到的知识点记录下来。前面的文章已经介绍过UDS的一些基础知识,和基本的一些概念,不清楚的可以查看之前的文章:UDS基础知识介绍 诊断会话控制服务 DiagnosticSessionControl ,SID是0X10,主要功能是控制服务端的会话模式切换。一般默

    2024年02月03日
    浏览(53)
  • 汽车诊断之UDS入门-0x27(SecurityAccess)安全访问

    安全访问服务 0x27 用来解锁 ECU 对应的安全等级 , 一般处在非默认会话 下 进行解锁,这个服务解锁的是 处在某个安全等级下的服务 。 服务格式   安全等级解闭锁   需要注意的是: 1.P owerOn 或者 R eset 后, ECU 处在 locked 状态; 2.同一时刻只有 1 个安全等级是 active ,与这个

    2024年02月08日
    浏览(37)
  • UDS诊断系列之七 安全访问(27)服务(番外)附录I

    附录I的主要内容是通过一个状态图来描述ECU在安全访问的各状态之间的切换条件,以及如何进行状态切换即切换过程中都需要执行哪些操作。 下面直接先上图。 图看起来流程很多,但实际上很简单,先说图中的四个状态: A - ECU没有接收过任何安全访问的请求,或者刚刚接

    2024年02月10日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包