0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虹科工程机械诊断 | CAN总线J1939协议译码与分析:Manitou DEF 液位传感器

虹科Pico汽车示波器 2026-01-15 17:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

01

故障现象


一台Manitou工程机械,客户反馈DEF(柴油机尾气处理液)油箱即使加注到无法再加的状态,设备仍显示DEF 液位为空,系统中还存有故障代码。由于这个DEF液位过低提示,整台机器的功率被自动降低,严重影响了正常作业。

面对这种情况,传统维修思路通常是直接更换液位传感器。但这个部件的价格高达上万元,如果诊断错误就会造成巨大损失。更关键的是,如何确保更换昂贵的部件真的能解决问题

为此,我们将使用虹科Pico汽车示波器测量相关波形,排查故障的真正原因


02

故障诊断

诊断思路确定

参考DEF液位传感器工作原理手册(如需源文件,可添加助教获取),DEF液位传感器的液位数据通过CAN总线传输,遵循J1939标准,没有终端电阻,标准传输速率为250 kbit/s。

PicoScope 7 中自带的J1939译码功能,可以帮助我们翻译和分析CAN总线上的数据,并借助PGN(参数组编号)和ID进行过滤。

根据技术文档,液位传感器使用的ID3是0xA3。ID3(source address)即指CAN J1939的ID源地址。有了这个关键信息,我们就可以使用译码功能来捕获和分析相关数据。

注:文档中的传感器和Manitou上搭载的并不是同款,但J1939标准的DEF液位相关信息具有通用性。


总线译码与过滤

首先使用虹科Pico汽车示波器,采集到DEF液位传感器所在的CAN总线的信号,并利用串行译码功能进行J1939协议译码。译码结果如图1所示:


bd338034-f1f8-11f0-8ce9-92fbcf53809c.png

图1 J1939协议译码结果


如图2,接下来进行过滤。通过添加ID3为0xA3的过滤器,我们就可以去除我们不感兴趣的数据,方法如下:

1.点击译码结果上方的【添加过滤】按钮,选择您想要过滤的参数。

2.选择【ID3】过滤。

3.操作符选择默认的【包含】

4.参数输入【A3】,即你希望软件筛选的内容,点击【添加】


bd4a585e-f1f8-11f0-8ce9-92fbcf53809c.png

图2 添加ID3为0xA3的过滤器


如图3,现在我们就排除了所有无关的数据,只关注液位传感器发送的信息即可。


bd542244-f1f8-11f0-8ce9-92fbcf53809c.png

图3 过滤后的数据


通过过滤,我们很快就发现,数据中包含多个不同的ID2(PGN),即参数组编号。如图4,参考技术文档,我们找到了液位相关的PGN编号。


bd6250bc-f1f8-11f0-8ce9-92fbcf53809c.png

图4 技术文档中液位传感器相关的PGN编号


接下来,我们添加第二个过滤器,按PGN进行过滤

根据之前的技术资料,PGN是CAN消息ID中间的2个字节。在我们的案例中,FE56就是我们要找的液位PGN


bd6e28ba-f1f8-11f0-8ce9-92fbcf53809c.png

图5 过滤出ID2(PGN)为FE56的数据


经过两层过滤后,只剩下2条报文了,现在处理起来就会轻松很多。


数据转化与分析

根据技术文档的说明,DEF液位百分比信息从第0个字节开始,占用8位(即1个字节)。在我们采集的数据中,第一个数据包的这个字节值是11(十六进制)。将十六进制的11转换成十进制,得到17。

但这并不是最终的液位百分比,需要根据技术文档提供的转换公式进行计算。文档显示,转换需应用0.4的缩放因子(图4),没有偏移量。

即DEF相对于油箱总容量的百分比为:

17 × 0.4 = 6.8%

但这里出现了一个问题:这个6.8%到底表示油箱实际油量占比,还是表示油箱剩余空间占比?考虑到仪表盘显示液位为空,我们可以推测百分比越低,液位就越低。为了验证这个推测,我们还需要分析物理液位传感器的数据。

物理液位测量可以通过多种方式实现,比如超声波或浮子式来测量油箱底部到液面的高度。由于我们不确定Manitou使用的是哪种方式,所以我们将根据技术文档中的信息进行计算,以进一步验证。

如图6,根据文档中的信息,物理液位数据的位长度是16位(2个字节),起始位的位置是16。


bd7abed6-f1f8-11f0-8ce9-92fbcf53809c.png

图6 技术文档中的相关资料


图7展示了总线数据中,前两个字节的位位置(bit position)分配方式。物理液位数据的起始位置是16,这就意味着我们需要使用第3和第4个字节的数据,其排布的逻辑和前两位也是相同的。


bd890c20-f1f8-11f0-8ce9-92fbcf53809c.png

图7 位位置的分配方式


在我们的数据中,第3和第4字节是55 0F。根据J1939标准,我们需要将字节顺序翻转,变成0F 55,然后将其转换为十进制。即0F55 = 3925。再应用技术文档中的0.1缩放因子(图6),可以得到:

3925 × 0.1 = 392.5mm


验证与对比

这个392.5mm(约40厘米)的读数,是油箱底部到液面的距离,还是液面到油箱顶部的距离呢?已知故障机器的油箱是满的,无论这个40cm指向哪一种情况,其实都说明了这个传感器组件存在故障——这个是数据无论如何,都是错的。

但我们是否还能收集更多证据来证明这一点?有没有办法确定这个40cm究竟指向什么?

有的,方法也很简单,找一台正常的设备进行验证即可。

于是我们找到了一台,没有故障且DEF油箱在仪表盘上显示为满的机器。捕捉到其CAN总线数据,并使用同样的方法进行译码、过滤和计算:

第一个字节的十六进制值是FA。使用相同的转换方法:0xFA = 250(十进制),250 × 0.4 = 100%。很显然,这表明这个数值指向的是油箱实际油量占比。当然这也验证了,我们的转换方法是正确的。

对于物理液位数据,正常机器显示的是4B 00,翻转后变成004B,转换为十进制是75,再乘以0.1得到7.5mm。显然,这指向的是液面到油箱顶部的距离。


bd94bc0a-f1f8-11f0-8ce9-92fbcf53809c.png

图8 正常机器的相关波形与译码结果



03

故障排除

通过一系列的数据分析和对比,我们有充分的证据证明:故障机器的液位传感器读数确实是错误的。基于这个准确的诊断结果,我们更换了液位传感器,故障未再出现,故障解决!



04

案例总结

随着总线的应用越来越广、愈来愈深,如今很多传感器的详细数据已无法直接读取,如:微尘传感器、液位传感器等。

而通过总线译码,对照传感器相关技术文档,我们就可以破译这些隐藏的信息,将电压信号转化为可以直接读取的物理量,进一步识别潜在的问题,实现精准维修!


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2578

    文章

    55811

    浏览量

    795416
  • CAN总线
    +关注

    关注

    146

    文章

    2052

    浏览量

    135608
  • DEF
    DEF
    +关注

    关注

    0

    文章

    14

    浏览量

    6614
  • 虹科电子
    +关注

    关注

    0

    文章

    790

    浏览量

    15396
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于J1939协议的组合仪表的设计与实现

    基于J1939协议的组合仪表的设计与实现摘要:本文首先介绍了CAN 总线J1939 协议,然后
    发表于 05-17 11:45

    J1939基础入门知识分享

    通信。J1939描述了CAN总线的一种网络应用,包括CAN网络物理层定义、数据链路层定义、应用层定义、网络层定义、故障诊断、和网络管理。在S
    发表于 04-11 07:00

    基于LabVIEW和J1939协议CAN总线通讯平台构建

    最近在公司搭建J1939协议CAN通讯,查了资料,非常不错,可以学习一下
    发表于 04-24 09:58

    基于J1939协议的组合仪表的设计与实现

    摘要:本文首先介绍了CAN 总线J1939 协议,然后重点介绍了基于J1939 协议应用AT9
    发表于 05-16 18:55 36次下载

    基于J1939的汽车CAN总线教学实验系统

    针对J1939协议培训要求,构建了一个基于J1939协议的汽车总线培训实验系统。系统硬件由计算机、Kvaser
    发表于 08-06 10:25 50次下载

    SAE J1939协议分析指南

    SAE J1939协议是由汽车工程协会(SAE)定义的,SAE J1939协议在商用车辆、舰船、轨道机车、农业
    发表于 03-13 13:50 189次下载

    基于SAE J1939协议的车辆网络通信

    目前,车辆的ECU产品大都带有SAE J1939 CAN接口。针对具有SAE J1939 CAN接口的ECU产品(如发动机、变速及其缓速
    发表于 09-24 00:49 6477次阅读
    基于SAE <b class='flag-5'>J1939</b><b class='flag-5'>协议</b>的车辆网络通信

    基于LabVIEW和J1939协议CAN总线通讯平台开发

    基于J1939 协议的商用车CAN总线,针对单片机微控制MCU 节点的MCU + CAN 控制
    发表于 04-15 16:59 8445次阅读
    基于LabVIEW和<b class='flag-5'>J1939</b><b class='flag-5'>协议</b>的<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>通讯平台开发

    CAN高层协议J1939的基础和应用以及开发介绍

    CAN做为应用比较广泛的通信总线,受到了越来越多的客户喜欢和青睐,广泛应用于工业和汽车,常见的高层协议有CANopen,J1939,DeviceNet等,在公众号曾经分享过超过15篇有
    的头像 发表于 04-02 10:45 5902次阅读
    <b class='flag-5'>CAN</b>高层<b class='flag-5'>协议</b><b class='flag-5'>J1939</b>的基础和应用以及开发介绍

    关于CAN的高层协议J1939的基础和应用以及开发详解

    CAN做为应用比较广泛的通信总线,受到了越来越多的客户喜欢和青睐,广泛应用于工业和汽车,常见的高层协议有CANopen,J1939,DeviceNet等,在公众号曾经分享过超过15篇有
    的头像 发表于 04-19 10:17 8810次阅读
    关于<b class='flag-5'>CAN</b>的高层<b class='flag-5'>协议</b><b class='flag-5'>J1939</b>的基础和应用以及开发详解

    J1939协议理解

    J1939协议基础知识讲解。
    发表于 05-06 15:34 17次下载

    MEAS传感器工程机械的应用

    – 尿素,油, 滑阀控制, 工程机械倾斜保护, 吊杆 光学传感器
    的头像 发表于 05-17 16:09 1329次阅读
    MEAS<b class='flag-5'>传感器</b>在<b class='flag-5'>工程机械</b>的应用

    CAN总线J1939地址定义

    SAE J1939(以下简称J1939)是美国汽车工程协会(SAE)的推荐标准,广泛用于是商用车(重卡、大客车等道路车辆和工程机械、农业机械
    的头像 发表于 08-15 10:47 6680次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>之<b class='flag-5'>J1939</b>地址定义

    SAE J1939协议解读

    在乘用车领域比较熟知的是CAN(FD)、LIN、FlexRay、Ethernet等通信协议,但对于J1939往往所知甚少。其实在CAN总线
    的头像 发表于 11-09 08:25 4041次阅读
    SAE <b class='flag-5'>J1939</b><b class='flag-5'>协议</b>解读

    盟通方案|如何集成J1939协议

    SAEJ1939是美国汽车工程师协会开发的商用车行业标准通信协议,基于CAN总线技术构建,专为重型车辆(卡车、客车)及工业设备设计,实现EC
    的头像 发表于 06-13 11:35 1066次阅读
    盟通方案|如何集成<b class='flag-5'>J1939</b><b class='flag-5'>协议</b>