当前位置: 首页 > news >正文

J1939故障码诊断说明

1:1939整体协议说明

这里主要说明1939不同的协议,对应不同的网络分层
在这里插入图片描述
注意了,这里只进行文档解析说明,具体查看去搜素协议的关键字进行理解

2:DMx和FMI 说明

想知道每个代号的具体含义,可以去 saeJ1939-73 里面搜索对应查看,比如直接搜索 “Active Diagnostic Trouble Codes (DM1)”;其它专用名词可以搜索 j1939-73–“4. ABBREVIATIONS” 或 “FMI=0”查看释义

3:DM1故障码示例

根据 J1939-73–"Page 26 of 172"描述,“无论是否存在DTC,每秒发送一次DM1消息”, J1939车型应该是一直主动发送 DM1故障码的;如果CAN上没有广播DM1,则需要联系客户进行确认;请注意,当存在多个活动DTC时,此参数组将需要使用“多数据包传输”参数组(参考SAE J1939-21)。
4BYTE故障码解释说明,参考J1939-73–“5.6 Diagnostic Trouble Code Definition”

3.1 无故障

// 先利用 DM5报文 查看故障码数量
0x18fece00	00 05 29 00 00 00 00 00		// BYTE[1] 表示已激活的故障码,其它可参考 J1939-73  "Diagnostic Readiness 1 (DM5)"的描述
// 进而查看 DM1报文 的故障码描述
0x18feca00	03 FF 00 00 00 00 FF FF		// BYTE[1] 的 bits8-7 表示MIL灯状态, 其它可参考 J1939-73  "Active Diagnostic Trouble Codes (DM1)"的描述

3.2:单个故障

// 先看DM5的数量
0x18fece00	01 04 29 00 00 00 00 00		// BYTE[1]表示有一个故障码,其它可参考 J1939-73  "Diagnostic Readiness 1 (DM5)"的描述
// 再看DM1的故障码
0x18feca00	40 FF 6E 16 09 12 FF FF		// BYTE[1] 的 bits8-7 表示MIL灯状态,故障指示灯点亮,其它可参考 J1939-73  "Active Diagnostic Trouble Codes (DM1)"的描述// 提取单个故障码  6E 16 09 12
SPN(5742)+FMI(9)+CM(0)+OC(18)			// 解析完成之后,可以根据客户提供的 故障码清单 进行对比解析; 参考J1939-73--"5.6 Diagnostic Trouble Code Definition"。
//故障码详细信息参考
//SPN(可疑参数编号)可以参考 j1939-71的SPN定义或客户文档的私有定义
//FMI(故障模式标识符)可以参考 j1939-73 "A.1.2.1 FMI=0 - Data Valid But Above Normal Operational Range - Most Severe Level"
//CM(SPN转换方法):(spn转化方法,一般固定为0,表示适用于”saej1939-73“文档)
//OC(故障发生次数)

3.3:多帧故障

SAE J1939-21 定义的多包传输 PGN=60416(0xEC00) 和PGN=60160(0xEB00)
广播公共消息(BAM) 0xEC00定义,参考 :SAE J1939 多包传输 "表 5 TP.CM_BAM 参数描述”
数据传送消息(TP.DT)0xEB00定义,参考 SAE J1939 多包传输 “4.1 点对点会话”

// 实车数据没有发送 DM5 故障信息// 0x20:控制字节=32(固定);0x000A有效BYTE数为10;0x02-有效数据包2个;0x00FECA-打包报文为 DM1故障码报文的pgn,后面多包将发送DM1的报文。详细请参考SAE J1939 多包传输  "表 5 TP.CM_BAM 参数描述"
0x18ecff00	20 0A 00 02 FF CA FE 00 // 提取 DM1 故障码数据 40 FF CE 0C 00 04 55 F1 E0 05,01表示包编号;40表示灯状态,bit7-8为1(MIL点亮),其他灯参考J1939-73  "Active Diagnostic Trouble Codes (DM1)"的描述;故障码为 CE 0C 00 04 和 55 F1 E0 05
0x18ebff00	01 40 FF CE 0C 00 04 55
0x18ebff00	02 F1 E0 05 FF FF FF FF
SPN(3278)+FMI(0)+CM(0)+OC(4)	
SPN(61768)+FMI(0)+CM(0)+OC(5)// 解析完成之后,可以根据客户提供的 故障码清单 进行对比解析; 参考J1939-73--"5.6 Diagnostic Trouble Code Definition"。 

3.4 请求故障码或数据

// 单帧请求
如: 请求FEE9(燃油累积量)   
1939请求 ---     0x18EA0021 E9 FE 00 FF FF FF FF FF	// 注意前面三个BYTE为请求 PGN
1939控制器回复    0x18FEE900 FF FF FF FF 11 22 33 44	  // 自己参考 J1939-71的PGN进行数据解析// 多帧请求-参考J1939-21
RX 0x18ec0000 	10 0A 00 02 FF CA FE 00		// 请求发送
TX 0x18ec0000 	11 02 01 FF FF CA FE 00		// 允许发送
RX 0x18ebff00	01 40 FF CE 0C 00 04 55 	// 数据传输
RX 0x18ebff00	02 F1 E0 05 FF FF FF FF

相关文章:

J1939故障码诊断说明

1:1939整体协议说明 这里主要说明1939不同的协议,对应不同的网络分层 注意了,这里只进行文档解析说明,具体查看去搜素协议的关键字进行理解 2:DMx和FMI 说明 想知道每个代号的具体含义,可以去 saeJ1939…...

XCPC第十三站,贪心问题

一.区间选点 我们采取这样的策略来选点:step(1)将区间按照右端点的大小从小到大排序;step(2)从前往后依次枚举每个区间,如果当前区间中已经包含点,直接pass,否则选当前区…...

一文让你吃透 Vue3中的组件间通讯 【一篇通】

文章目录前情回顾前言1. 父组件 > 子组件通讯传递2. 子组件 > 父组件通讯传递3. 爷孙组件,后代组件通讯数据总结前情回顾 在本专栏前一章节中,我为大家带来了 Vue3 新特性变化上手指南 的归纳梳理,主要介绍了 Vue3 的 Proxy 响应式原理…...

EVE遭遇大规模DDOS攻击,玩家和官方都傻眼了

如果你恰好是一名《星战前夜》(EVE)的国际服玩家(虽然这个几率很小),又恰好因为疫情一直待在家里,那你就真是倒霉透顶了。因为从1月底开始,EVE的服务器就一直受到大规模的DDOS攻击,而…...

【数据结构】二叉树及相关习题详解

新年新气象! 祝大家兔年 财源滚滚! 万事胜意! 文章目录前言1. 树的一些基础概念1.1 树的一些基本概念1.2 树的一些重要概念2. 二叉树的一些基本概念2.1 二叉树的结构2.2 两种特殊的二叉树3. 二叉树的性质4. 二叉树的存储5. 二叉树的基本操作5.1 构造一棵二叉树5.2 二叉树的遍历…...

锂电池充电的同时也能放电吗?

大家应该都有这样经历,我们的手机在充电的同时也能边使用,有的同学就会说了,这是因为手机电池在充电的同时也在放电。如果这样想我们可能就把锂电池类比了一个蓄水池,以为它在进水的同时也能出水,其实这个比喻是错误的…...

通信工程考研英语复试专有名词翻译

中文英文频分多址Frequency Division Multiple Access码分多址Code Division Multiple Access时分多址Time Division Multiple Access移动通信mobile communication人工智能artificial intelligence水声通信Middle-Range Uwa Communication正交频分复用Orthogonal frequency di…...

注意力机制(四):多头注意力

专栏:神经网络复现目录 注意力机制 注意力机制(Attention Mechanism)是一种人工智能技术,它可以让神经网络在处理序列数据时,专注于关键信息的部分,同时忽略不重要的部分。在自然语言处理、计算机视觉、语…...

【2023Unity游戏开发教程】零基础带你从小白到超神19——射线检测

文章目录 射线检测从某点发射一条射线从摄像机发射一条射线射线检测 游戏中的红外线,默认肉眼是看不到的,从某个初始点开始,沿着特定的方向发射一条不可见且无限长的射线,通过此射线检测是否有任何模型添加了Collider碰撞器组件。一旦检测到碰撞,停止射线继续发射。 碰撞检…...

内存泄漏和内存溢出的区别

参考答案 内存溢出(out of memory):指程序在申请内存时,没有足够的内存空间供其使用,出现 out of memory。内存泄露(memory leak):指程序在申请内存后,无法释放已申请的内存空间,内存泄露堆积会导致内存被…...

文本三剑客之sed编辑器

文本三剑客:都是按行读取后处理。 grep 过滤行内容。awk 过滤字段。sed 过滤行内容;修改行内容。sed编辑器 sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中…...

深度学习:GPT1、GPT2、GPT-3

深度学习:GPT1、GPT2、GPT3的原理与模型代码解读GPT-1IntroductionFramework自监督学习微调ExperimentGPT-2IntroductionApproachConclusionGPT-3GPT-1 Introduction GPT-1(Generative Pre-training Transformer-1)是由OpenAI于2018年发布的…...

使用Docker 一键部署SpringBoot和SpringCloud项目

使用Docker 一键部署SpringBoot和SpringCloud项目 1. 准备工作2. 创建Dockerfile3. 创建Docker Compose文件4. 构建和运行Docker镜像5. 验证部署6. 总结Docker是一个非常流行的容器化技术,可以方便地将应用程序和服务打包成容器并运行在不同的环境中。在本篇博客中,我将向您展…...

【数据结构】用栈实现队列

💯💯💯 本篇总结利用栈如何实现队列的相关操作,不难观察,栈和队列是可以相互转化的,需要好好总结它们的特性,构造出一个恰当的结构来实现即可,所以本篇难点不在代码思维,…...

[Netty源码] 服务端启动过程 (二)

文章目录1.ServerBootstrap2.服务端启动过程3.具体步骤分析3.1 创建服务端Channel3.2 初始化服务端Channel3.3 注册selector3.4 端口绑定1.ServerBootstrap ServerBootstrap引导服务端启动流程: //主EventLoopGroup NioEventLoopGroup master new NioEventLoopGroup(); //从E…...

Week 14

代码源每日一题Div2 106. 订单编号 原题链接:订单编号 思路:这题本来没啥思路,直到获得了某位佬的提示才会做( 我们可以用set来维护一些区间,这些区间为 pair 类型,表示没有使用过的编号,每次…...

【微信小程序】-- 使用 Git 管理项目(五十)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...

leetcode每日一题:134. 加油站

系列:贪心算法 语言:java 题目来源:Leetcode134. 加油站 题目 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[…...

开放式基金实时排行 API 数据接口

开放式基金实时排行 API 数据接口 多维度参数返回,实时数据,类型参数筛选。 1. 产品功能 返回实时开放式基金排行数据可定义查询基金类型参数;多个基金属性值返回多维指标,一次查询毫秒级返回;数据持续更新与维护&am…...

Android开发中synchronized的实现原理

synchronized的三种使用方式 **1.修饰实例方法,**作用于当前实例加锁,进入同步代码前要获得当前实例的锁。 没有问题的写法: public class AccountingSync implements Runnable{//共享资源(临界资源)static int i0;/*** synchronized 修饰实例方法*/p…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...