当前位置: 首页 > news >正文

读取 DTC 信息服务 (0x19) – UDS 协议


总目录链接==>> AutoSAR入门和实战系列总目录

0x19读取 DTC 信息服务概述

读取 DTC 信息服务在 UDS 协议中用于从车辆或特定 ECU 或节点读取 DTC。UDS 协议的主要任务之一是故障诊断。每当车辆发生任何故障时,与该故障相对应的诊断故障代码(DTC)就会存储在ECU故障代码存储器(FCM)中。诊断服务工程师可以使用读取 DTC 信息(0x19 或 19 十六进制)服务检索这些 DTC。

故障诊断服务允许客户端读取排放相关或非排放相关的 DTC 信息。客户端可以根据显示 DTC 信息定义状态掩码。

除了DTC,做更多的诊断有助于诊断工程师解决问题,快照数据也存储在NVM中。DTC 快照数据提供有关故障发生期间发动机参数的附加信息。

诊断故障代码以两种方式定义。一种由 ISO 标准定义,另一种由 OEM 定义。要了解更多信息,请遵循ISO 15031 教程。最后,所有 DTC 编号都在 ECU 闪存故障或错误存储器中预定义。

但是这个故障码应该什么时候设置,什么时候清除,或者什么时候成熟,服务器或车辆制造商或系统供应商的特定条件定义了许多测试场景,这些场景定义了被诊断的系统是否在正常、可接受的操作范围内正常运行。
因此,通过运行为该测试或 DTC 编写的特定测试程序,确保故障 100% 发生。下面定义了多个可以确保确定故障的测试标准。

故障启用标准:

每个 ECU 都有内置的故障测试程序,可以返回测试结果。根据测试结果,它可能是“通过”或“失败”。每个故障都会执行很多测试程序。但并不是ECU上电或主程序开始运行后,所有的测试程序都会运行。

因此,该特定测试程序应根据多个特定标准运行以检查诊断故障。这将有助于减少微控制器程序执行超负荷。它还有助于仅在根据系统要求确实需要时才检测到特定故障。

我们可以说服务器或车辆制造商或系统供应商的特定标准用于控制服务器何时实际执行特定的内部诊断。如果启用了故障,那么我们可以使用读取 DTC 信息 0x19 服务来读取 DTC。

测试通过标准:

当测试程序将运行时,将诊断错误何时应该通过或失败。在故障发生时 DTC 应该记录,否则它不应该记录【故障正在发生,但尚未确认】。如果想读取未确认的 DTC,可以通过19 04服务来读取。

让我用一个最好的例子来解释你。假设您的车辆没有启动。你正在检查电池之类的东西。假设您使用螺丝刀或其他任何东西错误地短路了电池端子,后来你把它去掉了。你认为这是一个错误?你需要修复它吗?不对,因为它是意外发生的。但是当真正的短路发生在车内并且它没有从中恢复时,只需要记录 DTC。

所以对于每个DTC,都会有诊断测试程序。每个测试都有自己特定的测试通过条件。这些标准由服务器或车辆制造商或系统供应商定义。因此它定义了被诊断的系统是否在正常的、可接受的操作范围内正常运行。

测试失败标准:

从上面的描述中了解到特定诊断测试的测试条件。然后像通过条件一样,将有多个条件,测试程序应该根据这些条件做出失败的决定。服务器或车辆制造商或系统供应商特定的故障条件,定义被诊断的系统是否未通过测试。

确认故障失效准则:

现在的问题又是什么是确认故障?故障可能发生并且可能无法确认故障。通过DTC 状态字节,用于存储每个测试条件状态,每个测试都有自己的条件来确认故障,这也称为DTC成熟。所以有不同的操作周期,之后一个确定的故障就会成熟。这样这个DTC就会把状态字节、快照记录、扩展数据记录等所有的依赖数据存入微控制器的永久内存中。它可以在以后任何时候或在服务中心使用。

故障发生计数器:

在每个 ECU 中,都会有根据系统要求定期运行的测试程序。但要做出一个确定的故障,需要有多个运算周期。每个操作周期都会有一个故障计数器。

故障老化计数器

老化计数器定义故障或 DTC 的寿命。一个人是如何有一定年龄的,过了这个年龄,我们都将死去。在机器或汽车 ECU的情况下,它们也有系统工程师定义的每个 DTC 的年龄。因此每个 ECU 或服务器都有一个老化计数器数组,用于存储每个故障或 DTC 的老化值。每个 ECU 或服务器都有一个进程。通过使用此进程,服务器可以计算 DTC 的寿命并将其存储在老化计数器中。它也可以通过使用 Count-In step 和 Count-Out step 方法来增加或减少。

DTC老化

DTC 中的老化是某个 ECU 评估每个内部诊断的过去结果以确定是否可以从非易失性存储器 (NVM) 中清除已确认的 DTC 的过程。这意味着在多少次无故障循环之后,可以清除 DCT。

读取 DTC 信息服务子功能 列表

SBF Identifier ValueSBF NameDescription
0x00ISO SAE Reserved
0x01Report Number Of DTC By Status Mask
0x02Report DTC By Status Mask
0x03Report DTC Snapshot Identification
0x04Report DTC Snapshot Record By DTC Number
0x05Report DTC Stored Data By Record Number
0x06Report DTC External Data Record By DTC Number
0x07Report Number Of DTC By Severity Mask Record
0x08Report DTC By Severity Mask Record
0x09Report Severity Information Of DTC
0x0AReport All Supported DTC
0x0BReport First Test Failed DTC
0x0CReport First Confirmed DTC
0x0DReport Most Recent Test Failed DTC
0x0EReport Most Recent Confirmed DTC
0x0FReport Mirror Memory DTC By Status Mask
0x10Report Mirror Memory DTC Extended Data Record By DTC Number
0x11Report Number Of Mirror Memory DTC By Status Mask
0x12Report Number Of Emissions OBD DTC By Status Mask
0x13Report Emissions OBD DTC By Status Mask
0x14Report DTC Fault Detection Counter
0x15Report DTC With Permanent Status
0x16Report DTC Extended Data Record By Record Number
0x17Report User Defined Memory DTC By Status Mask
0x18Report User Defined Memory DTC Snapshot Record By DTC Number
0x19Report User Defined Memory DTC Extended Data Record By DTC Number
0x1A – 0x41ISO SAE Reserved
0x42Report WWH OBD DTC By Mask Record
0x43 – 0x54ISO SAE Reserved
0x55Report WWH OBD DTC With Permanent Status
0x56 – 0x7FISO SAE Reserved

相关文章:

读取 DTC 信息服务 (0x19) – UDS 协议

总目录链接>> AutoSAR入门和实战系列总目录 0x19读取 DTC 信息服务概述 读取 DTC 信息服务在 UDS 协议中用于从车辆或特定 ECU 或节点读取 DTC。UDS 协议的主要任务之一是故障诊断。每当车辆发生任何故障时,与该故障相对应的诊断故障代码(DTC&a…...

Hive 分区表新增字段 cascade

背景 在以前上线的分区表中新加一个字段,并且要求添加到指定的位置列。 模拟测试 加 cascade 操作 创建测试表 create table if not exists sqltest.table_add_column_test(org_col1 string comment 原始数据1,org_col2 string comment 原始数据2 ) comment 增…...

【Java版oj】day08两种排序方法、最小公倍数

目录 一、两种排序方法 (1)原题再现 (2)问题分析 (3)完整代码 二、最小公倍数 (1)原题再现 (2)问题分析 (3)完整代码 一、两种…...

FinOps,从概念到落地 | UGeek大咖说第一期直播回顾(上)

2023年2月28日,由优维科技联合FinOps产业推进方阵举办了第1期「UGeek大咖说-极致用云共济FinOps」线上直播活动,来自中国信通院及美图公司技术专家共同带来了一场精彩的技术视听盛宴。 直 播 背 景 目前,许多以“上云”为数字化转型路径的企…...

k8s java程序实现kubernetes Controller Operator 使用CRD 学习总结

k8s java程序实现kubernetes Controller & Operator 使用CRD 学习总结 大纲 原理Controller 与 Operator自定义资源定义 CRD ( CustomResourceDefinition)kubernetes-client使用java fabric8io/kubernetes-client操作k8s 原生资源使用java abric8io/kubernetes-clientt操…...

Unity笔记:修改代码执行的默认打开方式

使用 External Tools 偏好设置可设置用于编写脚本、处理图像和进行源代码控制的外部应用程序。 External Script Editor:选择 Unity 应使用哪个应用程序来打开脚本文件。Unity 会自动将正确的参数传递给内置支持的脚本编辑器。Unity 内置支持 Visual Studio Commun…...

Linux IPC:匿名管道 与 命名管道

目录一、管道的理解二、匿名管道三、命名管道四、管道的通信流程五、管道的特性进程间通信方式有多种,本文介绍的是管道,管道分为匿名管道和命名管道。 一、管道的理解 生活中的管道用来传输资源,例如水、石油之类的资源。而进程间通信的管道…...

阿里研发工程师JAVA暑期实习一面

文章目录先说一下我自己的情况面试过程总结先说一下我自己的情况 我就读于湖南大学,软件工程专业,现在大三下 很巧的是,我在大二的时候就在相同的时间面过相同的部门和相同的岗位,所以我没有做笔试就直接让我去面试了。我当时还纳…...

第十四届蓝桥杯三月真题刷题训练——第 11 天

目录 第 1 题:卡片 题目描述 运行限制 第 2 题:路径_dpgcd 运行限制 第 3 题:字符统计 问题描述 输入格式 输出格式 样例输入 样例输出 评测用例规模与约定 运行限制 第 4 题:费用报销 第 1 题:卡片 题…...

机器学习入门——线性回归

线性回归什么是线性回归?回归分析:线性回归:回归问题求解单因子线性回归简单实例评估模型表现可视化模型展示多因子线性回归什么是线性回归? 回归分析: 根据数据,确定两种或两种以上变量间相互依赖的定量…...

Microsoft Word 远程代码执行漏洞(CVE-2023-21716)

本文转载于: https://mp.weixin.qq.com/s?__bizMzI5NTUzNzY3Ng&mid2247485476&idx1&sneee5c7fd1c4855be6441b8933b10051e&chksmec535547db24dc516d013d3d76097e985aaad7f10f82f15b4e355a97af75fd333acdab6232af&mpshare1&scene23&srci…...

Android kotlin 系列讲解(数据篇)SharedPreferences存储及测试

文章目录 一、什么是SharedPreferences1、将数据存储到SharedPreferences中2、从SharedPreferences中读取数据二、登录使用SharedPreferences一、什么是SharedPreferences SharedPreferences是使用键值对的方式来存储数据的。也就是说,当保存一条数据的时候,需要给这条数据提…...

一文了解Web Worker

一、概述 众所周知,JavaScript最初设计是运行在浏览器中的,为了防止多个线程同时操作DOM带来的渲染冲突问题,所以JavaScript执行器被设计成单线程。但是随着前端技术的发展,JavaScript要处理的工作也越来越复杂,当我们…...

接口文档包含哪些内容?怎么才能写好接口文档?十年测试老司机来告诉你

目录 接口文档结构 参数说明 示例 错误码说明 语言基调通俗易懂 及时更新与维护 总结 那么我们该如何写好一份优秀的接口文档呢? 接口文档结构 首先我们要知道文档结构是什么样子的。接口文档应该有清晰明确的结构,以便开发人员能快速定位自己需…...

java面试八股文之------Java并发夺命23问

java面试八股文之------Java并发夺命23问👨‍🎓1.java中线程的真正实现方式👨‍🎓2.java中线程的真正状态👨‍🎓3.如何正确停止线程👨‍🎓4.java中sleep和wait的区别👨‍…...

CANoe中使用CAPL刷写流程详解(Trace图解)(CAN总线)

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…...

【MySQL】002 -- 日志系统:一条SQL更新语句是如何执行的

此文章为《MySQL 实战 45 讲》的学习笔记,其课程链接可参见:MySQL实战45讲_MySQL_数据库-极客时间 目录 一、日志系统 1、重做日志:redo log(引擎层) 2、归档日记:binlog(Server层) …...

C++---背包模型---数字组合(每日一道算法2023.3.14)

注意事项: 本题是"动态规划—01背包"的扩展题,优化思路不多赘述,dp思路会稍有不同,下面详细讲解。 题目: 给定 N个正整数 A1,A2,…,AN,从中选出若干个数,使它们的和为 M,…...

并查集(不相交集)详解

目录 一.并查集 1.什么是并查集 2.并查集的基本操作 3.并查集的应用 4.力扣上的题目 二.三大操作 1.初始化 2.查找 3.合并 三.省份数量 1.题目描述 2.问题分析 3.代码实现 四.冗余连接 1.题目描述 2.问题分析 3.代码实现 一.并查集 1.什么是并查集 并查集&…...

10个最频繁用于解释机器学习模型的 Python 库

文章目录什么是XAI?可解释性实践的步骤技术交流1、SHAP2、LIME3、Eli54、Shapash5、Anchors6、BreakDown7、Interpret-Text8、aix360 (AI Explainability 360)9、OmniXAI10、XAI (eXplainable AI)XAI的目标是为模型的行为和决定提供有意义的解释,本文整理…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...