统一诊断服务UDS否定响应也可以被抑制

  • 什么情况下不需要给出否定响应
  • 仍然要给出否定响应的特殊情况

之前的文章 《UDS服务应该支持哪些否定响应码》和 《统一诊断服务(UDS)否定响应码判定》中介绍了诊断服务支持哪些否定响应码以及不同的情况下应该给出哪个否定响应码。那么服务器在不能响应请求的诊断服务时,是否一定要给出否定响应呢?答案是否定的。没错,否定响应也能被抑制。

什么情况下不需要给出否定响应

ISO14229-1:2013(E)中规定,如果服务器收到的是功能寻址的诊断请求,并且需要回复如下的否定响应码时,是不需要给出否定响应的。

否定响应码
NRC
助记词
0x11 SNS
(ServiceNotSupported)
0x12 SFNS
(Sub-functionNotSupported)
0x7E SNSIAS
(ServiceNotSupportedInActiveSession)
0x7F SNSIAS
(ServiceNotSupportedInActiveSession)
0x31 ROOR
(RequestOutOfRange)

仍然要给出否定响应的特殊情况

是不是满足上面的情况就一定可以不给出否定响应呢?答案仍然是否定的。还是功能寻址的诊断请求的情况,如果服务器由于不能在要求的P2server时间完成请求的诊断服务的处理并给出最终的诊断响应,而先发送了一帧包含有NRC 0x78的否定响应。在服务器最终完成对请求的诊断服务的处理后,发现请求的服务不能被执行,那么无论要回复的否定响应码是什么,都要给出否定响应。即使要给出的否定响应码是上述表格中的情况,也仍然要给出否定响应。这个原因也不难理解。否定响应码0x78表示服务器已经正确收到了诊断请求,正在处理请求的服务,暂时无法给出最终的肯定或否定响应,也无法接收其它的诊断请求,让诊断仪先等待。由于不能一直让诊断仪处于等待状态,所以在服务器完成了对请求服务的处理后,能判断应该给出肯定或否定响应时,就一定要给出最终的肯定或否定响应。这样诊断仪才能继续请求后续的诊断服务。

统一诊断服务(UDS)否定响应也可以被抑制相关推荐

  1. 统一诊断服务(UDS)中的肯定响应抑制

    统一诊断服务UDS中的肯定响应抑制 子功能参数定义 肯定响应抑制位的作用 例外情况 子功能参数定义 UDS协议中,有些诊断服务是带有子功能的.子功能参数的取值范围为0x00 - 0x7F.细心的同学应 ...

  2. 统一诊断服务(UDS)

    一.概述 统一诊断服务(Unified Diagnostic Services),简称UDS.是ISO 15765和ISO 14229定义的一种汽车通用诊断协议,位于OSI模型中的应用层,它可在不同的 ...

  3. 统一诊断服务(UDS)- 安全等级是怎么回事儿

    统一诊断服务(UDS)- 安全等级是怎么回事儿 怎么解锁安全等级 安全等级如何与功能关联 上一篇<统一诊断服务(UDS)- 什么是安全访问>中介绍了安全访问的机制和应用场合.为了易于理解, ...

  4. 深入理解统一诊断服务(UDS)ISO14229-1

    诊断服务常用于诊断仪(客户端)和ECU(服务器)之间的会话控制.安全访问.例程控制.DTC读取,ECU软件刷写(软件下载)等,今天带大家深入理解统一诊断服务(Unified Diagnostic Se ...

  5. 【UDS统一诊断服务】四、诊断典型服务(5)— 功能/元件测试功能单元(例行程序功能单元0x31)

    文章目录 四.诊断典型服务(5)- 功能/元件测试功能单元(例行程序功能单元) "功能/元件测试功能单元(例行程序功能单元)"包括的服务: (1)RoutineControl (0 ...

  6. 【UDS统一诊断服务】(补充)五、ECU bootloader开发要点详解 (1)

    文章目录 引言 1. bootloader的功能 2. 如何建立可靠的总线通信? 重要说明: 3. 解析编程文件(S19/HEX/BIN) 引言 bootloader的功能 如何建立可靠的总线通信? ...

  7. UDS-统一诊断服务

    什么是诊断服务? 在还没有诊断服务的时候,如果车辆故障,需要有经验的师傅长时间的摸排查找,费时费力.而车辆的ECU节点有了诊断模块后,就具有了诊断功能,这样车辆如果有了故障,就会自动生成故障代码储存在 ...

  8. 汽车诊断之UDS入门-UDS概述

    最近工作中涉及ECU刷写部分,作为一个没有接触过汽车诊断的小白,开始了边学边做的历程,对UDS做一个学习总结和复盘,希望可以帮助到各位小伙伴们. 应用层协议 UDS (Unified Diagnost ...

  9. OBD 诊断与 UDS 诊断有什么区别?(转)

    原文地址:OBD 诊断与 UDS 诊断有什么区别? OBD(全称:On Board Diagnostics),即车载自动诊断系统,是汽车排放和驱动性相关故障的标准化诊断规范,有严格的排放针对性,其实质 ...

  10. OBD 诊断与 UDS 诊断有什么区别?

    OBD(全称:On Board Diagnostics),即车载自动诊断系统,是汽车排放和驱动性相关故障的标准化诊断规范,有严格的排放针对性,其实质就是通过监测汽车的动力和排放控制系统来监控汽车的排放 ...

最新文章

  1. 转《Angular4项目部署到服务器上刷新404解决办法》
  2. C++实现各种排序算法
  3. 不动的,稳定的,有序的东西就是低熵,相反的就是动的,不稳定的
  4. mysql 可以承受多少人_多少人曾羡慕“双 11”时的爆单 可知谁在承受库存积压的风险...
  5. nvme驱动_用户态NVMe运维利器 SPDK NVMe 字符设备
  6. LeetCode OJ - Reorder List
  7. 2021-08-20 JSP JSTL标签
  8. axios的this指向_vue使用axios时this指向哪里
  9. MATLAB入门教程
  10. java学生管理系统报告_java学生管理系统总结报告.doc
  11. Python 计算机视觉(五)特别篇 —— 透视变换
  12. Linux时间戳与日期之间的转换
  13. 训练GAN,你应该知道的二三事
  14. 从全概率公式与贝叶斯公式原理讨论,引出贝叶斯估计理论及其具体应用
  15. C# winform Qrcoder二维码
  16. 肾有多好,就有多年轻
  17. python循环队列_JS 队列-优先队列、循环队列
  18. Chapter2:时域分析法(下)
  19. 贾扬清:从授之以鱼到授之以data,人工智能如何重塑传统软件行业
  20. ATTCK框架以及使用场景

热门文章

  1. 贪吃蛇c语言程序 简书,贪吃蛇游戏(scratch编程)
  2. XP系统安装打印机提示未安装打印机驱动程序,操作无法完成.
  3. P4556-线段树合并,差分
  4. Kotlin-字符串小写转大写
  5. MeGUI 压片之新手上路
  6. 根据身份证号码计算年龄和判断性别
  7. mac上安装linux双系统,怎么在台式一体机上安装双系统?
  8. LTK5325 2X5.3W双声道升压G类音频功率放大器
  9. ElasticSearch 中文同义词实现
  10. 目标检测数据集PASCAL VOC详解