19 04-读取DTC快照信息

news2024/11/25 6:46:56

诊断协议那些事儿

诊断协议那些事儿专栏系列文章,19服务作为UDS中子功能最多的服务,一共有28种子功能,本文将介绍常用的19 04服务:读取快照信息。
19服务

关联文章:
19服务List
19 01-通过状态掩码读取DTC数目
$19服务:DTCStatusMask和statusofDTC bit 定义
UDS服务列表
85服务-ControlDTCSetting
14服务-ClearDiagnosticlnformation


文章目录

  • 诊断协议那些事儿
  • 一、reportDTCSnapshotRecordByDTCNumber-19 04
  • 二、请求格式
  • 三、肯定响应格式
  • 四、否定响应格式
    • 1.支持的否定响应码
  • 五、消息流示例
  • 总结


一、reportDTCSnapshotRecordByDTCNumber-19 04

为了方便找到故障的原因,车厂一般会在诊断调查表中定义一些信息作为快照信息,例如故障发生时间、电压、行驶里程数、车速等。在对应故障发生时,ECU端要记录发生故障时的快照信息,客户端可以通过此服务检索客户端定义的DTCMaskRecord的捕获DTC Snapshot记录号以及DTCSnapshot记录数据。通过查找故障发生时刻的这些数据,来分析故障原因。

服务器应在其支持的DTC中搜索与客户端指定的DTCMaskRecord的精确匹配(包含DTC编号(高、中、低字节))。客户端请求中提供的DTCSnapshotRecordNumber参数应指定一个为其请求DTCSnapshot记录数据的指定DTC的特定出现。

注1∶DTCSnapshotRecordNumber与DTCStoredDataRecordNumber不共享相同的地址空间。
注2∶确切的failure criteria应由系统供应商/车辆制造商定义。

二、请求格式

dc1
DTCMaskRecord:表示要请求快照信息的DTC

DTCSnapshotRecordNumber:DTC快照记录码,表示要请求第几个快照信息。
取值范围:0x01~0xFE,0x00被标准保留,0xFF表示请求所有组。例如当我们需要记录某个DTC第一次发生(假设用1表示)和最近一次发生的快照数据时(假设用2表示);那么当DTCSnapshotRecordNumber为1时,则表示请求该DTC第一次发生时的快照信息。

三、肯定响应格式

服务器应在单个响应消息中报告一个DTCSnapshot记录,除非客户端已将DTCSnapshotRecordNumber设置为0xFF, 因为这将导致服务器在单个响应消息中使用为客户端定义的DTCMaskRecord存储的所有DTCSnapshot 记录进行响应。DTCAndStatusRecord在响应消息中只包含一次。如果客户端在其请求中对参数DTCSnapshotRecordNumber使用了0xFF,则服务器应以数字升序报告为特定DTC捕获的所有DTCSnapshot记录。
dc2
dc3
注:当诊断仪请求的DTC或快照数据编号服务端ECU不支持时,返回NRC 0x31;
当DTC和快照记录编号均支持时,服务端ECU当前没有存储这个DTC的快照信息(此DTC未成熟),则服务端应返回肯定响应,并且响应只包含59 04+DTC+DTC状态,不包含快照记录信息。

四、否定响应格式

1.支持的否定响应码

NRC描述助记符
0x12子功能参数不受支持SFNS
0x13请求报文的数据长度(或者格式)不符合标准IMLOIF
0x31①客户端规定了一个不被服务器识别的DTCMaskRecord;②客户端规定了一个无效DTCSnapshotRecordNumber/DTCExtDataRecordNumber;③客户端规定了一个不被服务器识别的FunctionalGroupIdentifier;④服务器无法识别MemorySelectionROOR

五、消息流示例

req
rsp
注:DID和对应的快照记录由客户定义!


总结

以上就是今天要讲的内容,欢迎各位评论,提出宝贵意见,小编也会持续更新,以提供更好的作品。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/27978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.2 C++编译器对指针的解释方式(深度理解c++指针)

1.2 指针 1.2.1 指针解释方式 从内存的角度,一个指向类对象的指针与一个指向整数类型的指针或一个指向数组的指针,三者之间是没有任何区别的,它们内部都只存储了一个机器地址值(word)。不同类型指针的区别仅在于其寻址出来的object类型的不…

div+css布局实现个人网页设计(HTML期末作业)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

Spring源码深度解析:七、bean的加载① - doGetBean概述

我们先通过getBean()流程图,来了解Spring的getBean()方法的工作流程,接着根据这个工作流程一步一步的阅读源码 一、前言 文章目录:Spring源码分析:文章目录 getBean()方法是spring ioc的核心,阅读getBean()方法的源…

【Spring Boot+Vue.js+JPA+Mysql】实现前后端分离的名片系统(附源码 超详细必看 可作为大作业使用)

需要项目源码请点赞关注收藏后评论区留言并且私信~~~ 一、项目简介 前后端分离的核心思想时前端页面通过掉用后端的RESTfulApI进行数据交互。本次项目使用Spring BootSpring Data JPA实现后端系统,使用Vue.js实现前端系统,数据库采用mysql,集…

磨金石教育摄影技能干货分享||如何将平凡的窗户拍出美感

窗户有着天然的构图优势,一直是摄影爱好者们喜欢拍的场景。都说眼睛是心灵的窗户,窗户其实就是房间窥探世界的眼睛。 特别是在中国文化中,对窗户的艺术雕刻,总是那么侧重。一间房子好不好看,窗户的设计往往是较为重要…

Java里的异常机制

一、什么是异常 软件程序在运行过程中,遇到用户输入不符合要求、文件路径不存在、文件格式错误、非法参数等的异常问题,叫做异常(Exception)。 二、简单分类 1.检查性异常 最具代表的检查性异常就是用户错误或问题引起的异常&…

计算机网络:网络层

网络层 网络层主要是解决寻址连接问题,例如两个主机在网络上通过IP进行连接通信 1.网络层概述 网络层的主要任务是实现网络互联,进而实现数据包在各网络之间的传输 需要解决的主要问题: 因特网 使用TCP/IP协议栈通过学习TCP/IP协议栈的网…

Nginx:handler 模块的实现

文章目录1、模块的分类2、模块的基本结构2.1、模块配置结构2.2、模块配置命令2.3、模块上下文结构2.4、模块的定义3、http 请求处理3.1、请求处理阶段3.2、获取用户请求3.3、发送响应4、例:流量限制模块4.1、操作共享内存4.1.1、红黑树4.1.2、双向链表4.2、编写模块…

APS排程软件在压铸行业的应用

压铸是一种金属铸造工艺,其特点是利用模具内腔对融化的金属施加高压。模具通常是用强度更高的合金加工而成的,这个过程有些类似注塑成型。大多数压铸铸件都是不含铁的,例如锌、铜、铝、镁、铅、锡以及铅锡合金以及它们的合金。根据压铸类型的…

js:判断文本溢出隐藏生效text-overflow: ellipsis

效果展示 参数汇总 看上图,不难发现,文字有超出的条件是 target.scrollWidth > target.offsetWidth可以通过js判断是否生效,参考element-ui的代码实现 https://github.com/ElemeFE/element/blob/dev/packages/table/src/table-body.js#…

RocketMQ的主要组件及其功能

一、RocketMQ部署的组件 RocketMQ是啥就不多说了,一个基于主题的订阅发布机制的消息中间。下面就是我们部署时的架构,NameServer和Broker需要部署在服务器上,对于消费者和生产者则是我们在自己的程序里启动,去push/pull消息。 消…

rust变量与常量

变量绑定 在rust里有个核心原则,那就是所有权。在其它语言中,我们可以把一个值赋值给变量。但是在rust里,是把值绑定到变量上。任何内存对象都是有主人的,而且一般情况下完全属于它的主人,绑定就是把这块内存绑定给一…

路由器的工作原理,详细介绍

1、路由器的作用 路由器: router 作用:实现跨网段通信,不同的网络之间通信 交换机: switch 作用:组建局域网,就是将电脑通过网络连起来 交换机的原理参考文档:计算机网络之交换机的工作原理…

前端React项目的Next.js项目通过CSS引入自定义字体文件

最近在Web3的项目,需要引入自定义字体,做下记录: 1、 如果是下载的字体文件,直接能使用的就不需要转换,如果是TTF格式则需要转换成eot、svg、woff、woff2,这里提供一个网站Font Squirrel | Create Your Ow…

ROS之话题通信

文章目录理论模型分析流程1. 发布方2. 订阅方3.配置 CMakeLists.txt4.执行5.注意参考理论模型 话题通信实现模型是比较复杂的,该模型如下图所示,该模型中涉及到三个角色: ROS Master (管理者)Talker (发布者)Listener (订阅者) ROS Master 负责保管 Talker 和 Li…

简化javabean开发-->Lombok

目录 一.Lombok 1.Lombok 介绍 1.1Lombok 作用 1.2SpringBoot 和 IDEA 官方支持 2.Lombok 常用注解 3.Lombok 应用实例 3.1在 pom.xml 引入 lombok 3.2. 修改 Furn.java 3.3在 idea 安装 lombok 插件 一.Lombok 1.Lombok 介绍 1.1Lombok 作用 1. 简化 JavaBean 开…

Camtasia2023喀秋莎录屏软件下载操作教程

Camtasia软件2023最新版是一款电脑屏幕录制与视频剪辑的软件,功能强大且操作简单。可以使用该软件对视频进行添加滚动字幕的效果,并且还可以选择注释标注的样式、主题以及形状等。在内置的视频编辑器中对视频进行剪辑时还可以拖放文本、添加效果、添加过…

VTK-vtkImplicitFunction及其子类介绍

简介:本文主要介绍vtkImplicitFunction接口及其子类的实现原理和用途。 目录 1. vtkPlane 2. vtkPolyPlane 1. vtkPlane 描述:vtkPlane提供了各种平面的计算方法,包括点到面的投影,计算点到面的距离及面的法向量等。 Evaluat…

解析分布式数据库的技术框架及其在金融行业中的应用规划

早期银行业务系统处理的主要是交易型数据,数据量较少,传统关系型数据库(如Oracel、DB2等)已足够应对。随着互联网金融业务的快速发展,业务系统需要处理的数据呈爆炸式增长,传统数据库无法满足业务系统越来越高的数据处理能力要求。于是,新型的分布式数据库系统应运而生。…

Linux安装Redis 手把手教程

文章目录安装步骤1. 创建安装目录/usr/local/redis2. 进入安装包目录3. 编译环境准备:4. 下载redis 源码包5. 解压文件6. 进入到解压好的redis-5.0.2目录下,进行编译与安装7. 启动并指定配置文件8. 配置允许远程连接(选做)9. 启动…