整车诊断查询DTC服务0x19

0x19服务有一定的门槛,需要先了解DTC,可以先看看我的另一篇文章全面了解DTC_不吃鱼的羊的博客-CSDN博客

子功能

0x19服务是用来查询DTC的,往往子服务是最多的,测试起来工作量也是最大最容易出问题的,下面分开不同的子功能的请求应答报文进行详细说明。

0x01服务

        通过状态掩码去查找与其相匹配的故障码个数。如果某一个故障码的实际状态位为1,并且DTC状态掩码中的相应位也为1,那么就认为该故障码的状态与DTC状态掩码相匹配(即:如果DTC状态掩码字节与DTC实际状态字节进行逻辑“位与”运算后的结果为非零值,那么两者就相匹配);此时则将故障数+1。如果诊断仪定义了一个状态掩码,其中包含ECU不支持的位,那么ECU仅使用本身支持的位进行处理故障信息。

0x02服务

 按照定义的状态掩码的形式去查找匹配的故障,将匹配的DTC标识符(3个字节)、DTC状态(1个字节)信息返回。上一小节的01子服务只统计与状态掩码相匹配的DTC个数,02子服务则会将这些匹配的DTC信息返回。

请求报文格式:0x19 + 0x02子服务 + 掩码,掩码一般为一个字节,范围从0x00-0xFF,查询跟掩码匹配的DTC列表里面故障状态。

举个例子,如果掩码为0x08,历史故障位bit3,当前故障位bit0。被测电路板里面“没有故障的DTC”、“有只有历史故障的DTC”和“有当前故障和历史故障的DTC”,每个DTC的故障状态跟掩码相与,不为0的DTC都是符合要求的,也就是全部“有只有历史故障的DTC”和“有当前故障和历史故障的DTC”。这时候就要将所有符合要求的DTC ID和故障状态进行响应。

响应报文格式:0x59 + 0x02子服务 + 掩码 + 【DTC ID + 故障状态】* N个符合要求的DTC

0x0A子服务跟0x02类似,此处不再赘述。

0x03服务

该服务是查询所有DTC的快照

请求报文格式:0x19 + 0x03子服务

响应报文格式:0x59 + 0x03子服务 + 【DTC ID + 整个快照信息】* 全部DTC个数

0x04服务

该服务根据DTC ID的快照记录码查询对应DTC的,每次只能查一条DTC的快照记录。

请求报文格式:0x19 + 0x04子服务 + DTC ID + 快照记录码(如果发送的快照记录码位0xFF则响应整个快照)

响应报文格式:0x59 + 0x04子服务 + DTC ID + 快照记录码数量 + 快照记录码 + 快照信息 

0x06服务

该服务根据DTC ID和扩展数据码读取扩展数据

请求报文格式:0x19 + 0x06子服务 + DTC ID + 扩展数据码

响应报文格式:0x59 + 0x06子服务 + DTC ID + 扩展数据码 + 扩展数据

扩展数据可以是故障次数、老化时间等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不吃鱼的羊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值