【UDS诊断】——0x19 01

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


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

一、服务概述

通过该服务诊断仪能够请求ECU中DTC状态与DTC状态掩码相匹配的故障码个数。简单来说就是通过状态掩码去读取DTC数量。

二、报文

1.请求报文定义

在这里插入图片描述

2.肯定响应

在这里插入图片描述
在这里插入图片描述

3.报文讲解

3.1格式及内容

发 送: 19 +01+DTCStatusMask(DTC状态掩码)
正响应: 59+01+DTCStatusAvailabilityMask+DTC格式+DTCCount

注:DTCStatusAvailabilityMask是ECU支持的状态掩码,不能根据请求中的DTC状态掩码变化,容易误解为要返回的ECU支持的状态掩码和请求中的状态掩码做与运算后的结果

3.2举例

DTCStatusMask:为0000 0001->01
DTCStatusAvailabilityMask:ECU支持的状态位1111 1111->FF
DTC格式:00(J2012-DATACF00)

ECU中存储的DTC状态如下:
DTC1:0010 1111
DTC2:0010 1111

DTC3:0010 1100
DTC4:0010 1110

例① 发送19 01 01
回复59 01 FF 00 00 02
如图:
在这里插入图片描述
回复中02,表明有2个DTC:
解析如下:
ECU中存储的DTC状态(DTC1、DTC2、DTC3、DTC4)和
ECU支持的状态位(DTCStatusMask:01)相与
DTC1:0010 1111 &0000 0001->01
DTC2:0010 1111 &0000 0001->01
DTC3:0010 1100 &0000 0001->00
DTC4:0010 1110 &0000 0001->00
从相与结果可以看出有两个非0结果,所以DTCCount为2

例 ② 发送19 01 02
回复59 01 FF 01 00 04
如图:在这里插入图片描述
回复中04,表明有4个DTC:
解析如下:
ECU中存储的DTC状态(DTC1、DTC2、DTC3、DTC4)和
ECU支持的状态位(DTCStatusMask:01)相与
DTC1:0010 1111 &0000 1001->09
DTC2:0010 1111 &0000 1001->09
DTC3:0010 1100 &0000 1001->08
DTC4:0010 1110 &0000 1001->08
从相与结果可以看出有4个非0结果,所以DTCCount为4

  • 7
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值