【UDS诊断】——0x19 06

本文详细介绍了UDS诊断服务,包括服务概述、请求报文定义、肯定响应结构,以及1906报文格式用于读取扩展信息的实例,涉及DTC故障码和ECU通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🙋‍♂️【UDS诊断服务介绍合集】系列💁‍♂️点击跳转


19服务作用是允许外部诊断仪(Client)通过该服务读取存储在ECU芯片内的故障码(DTC)状态信息

一、服务概述

获取DTC存储时候的一些扩展数据,如老化计数器。
19 06与19 04格式与规则都差不多,只不过1904是读取快照信息的,1906是读取扩展信息的。

二、报文

1.请求报文定义

在这里插入图片描述

2.肯定响应

在这里插入图片描述

3.报文讲解

3.1格式及内容

发 送:19 +06+DTC故障码+扩展信息记录码
正响应:59+06+DTC故障码+DTC状态位+展信息记录码+扩展信息

3.2举例

假设扩展信息记录码为0x01(故障发生计数器)
故障码 :911717 (高压故障码)
在这里插入图片描述

### UDS诊断1906老化次数解析 #### 3.1 已老化计数器的工作机制 已老去计数器用于记录自上次清除诊断故障代码(DTC)之后,特定DTC变为历史故障的累计次数[^1]。此数值保存在非易失性存储器中以确保断电后仍能保留。 #### 3.2 ISO-14229规范中的具体要求 按照ISO-14229标准规定,在执行UDS服务`$19 06`(即请求控制DTC设置)时,如果目标是查询某个具体的DTC的老化次数,则需遵循一定的协议来获取这些信息。当车辆控制系统检测到某一类型的错误并将其标记为历史故障而非现行活动故障时,相应的老化计数就会增加。一旦达到最大值(通常是255),即使再有新的老化事件发生也不会继续累加[^2]。 #### 3.3 实际应用场景下的操作流程 对于实际测试环境中如何验证这一功能,可以参照如下方法:首先模拟触发某类故障条件使ECU报告当前DTC;接着恢复正常工作状态使得该DTC转为历史记录形式存在;最后利用UDS命令集里的`$19 0A`(读取DTC扩展数据记录)配合子函数码访问指定DTC的相关属性,其中包括但不限于其老化次数的信息[^3]。 ```python def read_aging_count(ecu, dtc_code): """ Reads the aging count of a specific DTC from an ECU. :param ecu: The Electronic Control Unit to query. :type ecu: object :param dtc_code: Code of the Diagnostic Trouble Code (DTC). :type dtc_code: str or int :return: Aging count value as integer. :rtype: int """ response = ecu.send_command("$19", ["0A", hex(dtc_code)]) # Assuming last byte represents aging count; adjust according to actual protocol implementation details aging_count = int(response[-1], base=16) return min(aging_count, 255) # Ensure it does not exceed maximum limit defined by standard ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值