通过UDS诊断读取故障码

         通常来说,使用诊断仪读取控制器的故障码是最为方便快捷的,但俗话说,条条大路通罗马,方法不止是一种,接下来我将分享如何利用UDS诊断来获取故障码信息。

1、通过19服务获取故障码

利用ZCANPRO高级功能中的UDS诊发送19 02 09,得到如下报文:

TX    03  19  02  09  00  00  00  00

RX    07  59  02  09  C0  77  88  08

那么从这段报文中我们可以看到C0 77 88 08,通过查阅诊断数据库可得,C0 77 88对应的DTC为U007788,表示P_CAN BUS off,然后08表示历史故障。

2、通过19服务获取故障快照

以P_CAN BUS off为例,通过UDS诊断发送19 04 C0 77 88 FF,得到如下报文:

首先看59 04 C0 77 88 08这段报文,59表示读取故障码信息相应服务标识符,04表示通过故障码报告故障码快照,C0 77 88 08表示存在P_CAN BUS off故障,该故障为历史故障。

接着分析下一段报文,01表示故障码快照记录编号,对应上图快照列表和扩展数据列表中的快照记录号0X01,06表示快照记录包含的标识符的个数是6个,分别为0x4703、0x4706、0x470A、0x470E、0x470F、0x4710。47 03对应着0X4703,表示ECU供电模式,通过上表可以看出,此快照的字节数为1,即47 03后1位,为02,对应着换算这一列中的ON。47 06对应0X4706,表示总里程,所占字节数为3,47 06后三位是00 0F BD,换算为十进制为4029,所以故障发生时车辆总里程为4029KM。47 0A对应0X470A,表示故障发生的时间,所占字节数为6,47 0A后6位是22 33 0F 07 09 17,分别代表秒、分、时、日、月、年,换算成十进制得34 51 15 7 9 23,即23年9月7日15时51分34秒。同理可得0x470E、0x470F、0x4710对应的数据。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

沐子羽

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

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

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

打赏作者

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

抵扣说明:

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

余额充值