读取 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 Value | SBF Name | Description |
---|---|---|
0x00 | ISO SAE Reserved | |
0x01 | Report Number Of DTC By Status Mask | |
0x02 | Report DTC By Status Mask | |
0x03 | Report DTC Snapshot Identification | |
0x04 | Report DTC Snapshot Record By DTC Number | |
0x05 | Report DTC Stored Data By Record Number | |
0x06 | Report DTC External Data Record By DTC Number | |
0x07 | Report Number Of DTC By Severity Mask Record | |
0x08 | Report DTC By Severity Mask Record | |
0x09 | Report Severity Information Of DTC | |
0x0A | Report All Supported DTC | |
0x0B | Report First Test Failed DTC | |
0x0C | Report First Confirmed DTC | |
0x0D | Report Most Recent Test Failed DTC | |
0x0E | Report Most Recent Confirmed DTC | |
0x0F | Report Mirror Memory DTC By Status Mask | |
0x10 | Report Mirror Memory DTC Extended Data Record By DTC Number | |
0x11 | Report Number Of Mirror Memory DTC By Status Mask | |
0x12 | Report Number Of Emissions OBD DTC By Status Mask | |
0x13 | Report Emissions OBD DTC By Status Mask | |
0x14 | Report DTC Fault Detection Counter | |
0x15 | Report DTC With Permanent Status | |
0x16 | Report DTC Extended Data Record By Record Number | |
0x17 | Report User Defined Memory DTC By Status Mask | |
0x18 | Report User Defined Memory DTC Snapshot Record By DTC Number | |
0x19 | Report User Defined Memory DTC Extended Data Record By DTC Number | |
0x1A – 0x41 | ISO SAE Reserved | |
0x42 | Report WWH OBD DTC By Mask Record | |
0x43 – 0x54 | ISO SAE Reserved | |
0x55 | Report WWH OBD DTC With Permanent Status | |
0x56 – 0x7F | ISO SAE Reserved |
读取 DTC 信息服务 (0x19) – UDS 协议相关推荐
- 汽车UDS诊断之读取DTC信息服务(0x19)深度剖析
ReadDTCInformation就是读取DTC信息服务,DTC即故障编码,简称故障码. 读取DTC信息 服务 描述 ReadDTCInformation 客户端向一个服务端或多个服务端请求驻留的D ...
- 【车载开发系列】UDS诊断---读取DTC信息($0x19)
[车载开发系列]UDS诊断-读取DTC信息($0x19) UDS诊断---读取DTC信息($0x19) [车载开发系列]UDS诊断---读取DTC信息($0x19) 一.概念定义 1)DTC概念 2) ...
- UDS协议发展历史(UDS是什么?)
诊断协议那些事儿 本文为诊断协议那些事儿专栏首篇文章,旨在介绍诊断的起源.发展历史,让读者对诊断有一个基本的认识,明确UDS到底是什么. 关联文章: UDS的应用场景 UDS的OSI模型 UDS服务列 ...
- 基于scapy uds协议包实践
一.UDS协议说明: 源自百度:UDS协议(Unified Diagnostic Services,统一诊断服务)是诊断服务的规范化标准,比如读取故障码应该向ecu发什么指令,读数据流又发什么指令.O ...
- UDS-如何在CAPL中实现读取DTC和它的状态
我们在测试某个DTC Code时,首先会触发这个DTC产生的条件,然后用CANoe的诊断控制台或ODIS工具读取ECU所有的DTC,然后在显示的DTC列表里查看是否有这个DTC出现,它的状态是否是当前 ...
- UDS协议一致性测试之Service 27环境NRC 13、NRC 24优先级判断
UDS协议一致性测试之Service 27环境NRC 13.NRC 24优先级判断 周末咯!!! 预祝各位看官周末愉快,牙齿晒太阳哈. 今天闲聊下在进行UDS协议一致性测试时,Service 27测试 ...
- 对于UDS协议的传输控制协议ISO15765的学习记录
参考:UDS网络层/TP层(ISO 15765-2)的解读 讲的很非常好. can报文一帧只能最多传输8个字节,但是UDS协议要求最多能传输4095字节,因此就产生了ISO15765协议. 数据单元( ...
- 汽车UDS诊断详解及Vector相关工具链使用说明——2.3.7 读取所有支持的DTC(0x19 0A)
1. 概述 19服务最后一个常用的子功能是0A-读取所有支持的DTC,这个子功能是让ECU返回所有支持的DTC,不论DTC状态如何.故障是否发生,都要返回.它通常被整车厂用来测试ECU中实际支持的DT ...
- SPI 读取不同长度 寄存器_SPI协议,MCP2515裸机驱动详解
SPI概述 Serial Peripheral interface 通用串行外围设备接口 是Motorola首先在其MC68HCXX系列处理器上定义的.SPI接口主要应用在 EEPROM,FLASH, ...
最新文章
- Java DecimalFormat 用法 小数位的处理 公司内部处理小数位
- 嵌入式CGI开发之旅——CGI环境变量
- Android笔记:LitePal库的更新,DataSupport被弃用问题
- Python中使用wordcloud生成漂亮的中文词云
- 飞鸽传书2011看到一篇国外的博客
- MySQL首次使用Windows_mysql的安装与使用(windows)
- 有了数据湖探索服务,企业决策“新”中有数
- php date hi,php中时间戳和日期格式的转换
- Android 开发 学习网站
- CS231n李飞飞计算机视觉 卷积神经网络详解上
- 留学生Essay写作没思路的解决方案
- 增大图片(在图像分割、GAN、超分辨中经常用到)
- 数据结构大作业-DBLP科学文献管理系统(三)聚团分析(并查集,最大团问题)
- OAF: 怎样创建 DFF
- 第三方浏览器h5 android测试,H5案例分享:使用JS判断客户端、浏览器、操作系统类型...
- 用python把图片换成蓝底_Python给照片换底色(蓝底换红底)
- 关于卫星伪距残差的理解
- ftp服务器下载,绿色版ftp服务器下载,以及ftp上传工具使用指南
- 什么是开源网络情报(OSINT)及其使用方式
- 单例模式,异常和模块相关
热门文章
- 哈哈机器人送到冰雪小镇_约克VRF助力森林冰雪小镇,打造童话梦境
- SAP校园精英同略会邀请 参考答案
- UNIX 工作站的大规模灭绝
- 王佩丰第一讲 认识excel笔记
- 服务器响应失败,海关,发布失败。错误信息:此响应不是合法的JSON响应。 原因与解决方法...
- JAVA----百度推广接口返回结果集统一处理
- 低成本免服务器微信小程序源码多功能集合搭建
- unity 调用C#类将文字转换为语音
- 陪我家小朋友过六一!
- 题目详情 - 7-13 最短工期 (pintia.cn)(拓扑序bfs)