读取 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
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖果Autosar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值