ISO-27145故障诊断说明

news/2024/11/24 8:16:00/

ISO-27145故障诊断说明

2.1 27145目录说明

ISO27145-1: 这里边介绍的是一般信息和用例定义;
ISO27145-2: 这里边介绍的是与排放相关的通用数据规则,用于查询;
ISO27145-3: 这里边主要介绍了支持的服务 12服务 14服务 19服务 22服务 31服务;
ISO27145-4: 车辆与测试设备的连接,主要定义一些 物理层,传输层,网络层的功能;

在这里插入图片描述

2.2 关键内容说明

1:诊断服务(第7层 application),在 ISO27145-3中参照ISO 14229-1指定;
2:多包数据发送的时候请参考  ISO15765-2"9.6.1 N_PCI"(2016版本,信息详细)说明,里面有描述 单帧,首帧,流控帧等描述;(也可以查看 ISO15765-2 "Table 3 — Summary of N_PCI bytes"(2014版本,信息简略))可参考:https://zhuanlan.zhihu.com/p/44857562
3:

在这里插入图片描述

5BYTE-故障码组成:故障等级(1byte)+(X+CODE+FTB)(3byte)+故障状态(1byte),其中X表示故障类别

故障码分类:
P:powertrain动力系统
C:Chassis底盘
B:Body车身
U:network通信系统
故障码前两个bit代表P/C/B/U(动力/底盘/车身/网络),用00/01/10/11分别表示P/C/B/U

CODE和FTB明细,请参考 “J2012DA_201812.xlsx” : X+CODE查看"X0000-X3FFF"分组 ;FTB查看“FTB.Sub.Types”分组

资源下载链接

https://download.csdn.net/download/dujunqiu/87720490?spm=1001.2014.3001.5503

在这里插入图片描述

2BYTE故障明细说明

在这里插入图片描述

2.3 故障码示例

基础知识,需要先根据 ISO14229-1 "11.3.2.1 Request message definition " 里面的0x19子服务(0x42)之后,再去确认数据发送内容

// TODO 待补充标准帧的故障码说明,和扩展帧的是一样的吗?

0x18da00f1:05 19 42 33 08 1e ff ff
// 0X05--当前帧有效BYTE数
// 0X19--读取故障码服务
// 0X42--上传OBD掩码记录,参考 ISO14229-1"Table 269 — Request message sub-function definition"
// 0X33--排放系统标识,参考 ISO14229-1"Table D.15 — Definition of FunctionalGroupIdentifiers (FGID_)"
// 0x081e-- DTC 状态掩码+严重程度掩码// 59 42 的肯定应答,参考 ISO-14229-1"Table 283"描述

2.3.1 无故障码说明

 1:TBOX外发--0x19 读取故障码服务
0x18da00f105 19 42 33 08 1e ff ff
2:ECU回复 否定应答
0x18daf10003 7F 19 10 FF FF FF FF	
// 0x7F-否定响应码  参考:ISO14229-1 "ISO 14229-1:2013(E)"
// 0x19-请求服务ID  
// 0x10-否定响应码(NRC),表示否定原因:一般拒绝 ,详细说明或其它否定原因参考:ISO14229-1 "Table A.1 — Negative Response Code (NRC) definition and values"

2.3.2 单帧故障码示例

// 根据 ISO-14229-1"Table 283"描述,59 42 的肯定应答一帧数据描述不完
发送 0x18da00f1 数据帧 扩展帧 8 05 19 42 33 08 1e FF FF    
// 0X05--当前帧有效BYTE数
// 0X19--读取故障码服务,参考 ISO14229-1 "Table 269— Request message subfunction definition"
// 0X42--上传OBD掩码记录,参考 ISO14229-1  "Table 269 — Request message sub-function definition"
// 0X33--排放系统标识,参考 ISO14229-1  "Table D.15 — Definition of FunctionalGroupIdentifiers (FGID_)"
// 0x08-- DTC 状态掩码,参考 ISO14229-1 "Table 287— statusOfDTC" 
// 0x1e--严重程度掩码,参考ISO14229-1 "DTCseverity and classdefinition"接收 0x18daf100 数据帧 扩展帧 8 10 0B 59 42 33 FF 1F 04	//首帧-0x0B,有效数据长度12BYTE
//0x5942 回复1942的肯定应答,参考 ISO-14229-1 "Table 283"
//0x33 功能组标识符,参考ISO-14229-1"Table 349 —ReadDTCInformationresponse"
//0xFF DTC状态可用掩码,参考ISO-14229-1"Table 349 —ReadDTCInformationresponse"
//0x1F DTCS严重性可用性掩码,与DTCSeverity相同,参考ISO-14229-1"Table 349 —ReadDTCInformationresponse"参考具体bit位含义和DTCSeverity相同
//0x04 DTC格式标识符,参考ISO-14229-1"Table 349 —ReadDTCInformationresponse"发送 0x18da00f1 数据帧 扩展帧 8 30 00 0A FF FF FF FF FF	
// 3(流控帧)+流状态0(FS,4bit)参考  ISO15765-2"9.6.1 N_PCI"(2016版本,信息详细)说明,里面有描述 0单帧,1首帧,2连续帧,3流控帧等描述;(也可以查看 ISO15765-2 "Table 3 — Summary of N_PCI bytes"(2014版本,信息简略))
// 块大小(BS,8bit)
// 流控帧-0x0A,最小时间间隔10ms接收 0x18daf100 数据帧 扩展帧 8 21 01 30 13 00 0E FF FF		
// 连续帧-0x21,连续帧的第一包数据,后面为有效数据
// 0x01 故障码等级
// 0x3013 P(0)+CODE(12307),参考“J2012DA_201812.xlsx”,X+CODE查看"X0000-X3FFF"分组
// 0x00 FTB(0):No SubTypeInformation(无子类型信息)参考“J2012DA_201812.xlsx”,FTB查看“FTB.Sub.Types”分组
// 0x0E 检索第一个/最近检测到的确认的DTC(子功能= 0x0C报告首先确认DTC,子功能= 0x0E报告首先最近确认DTC)

2.3.3 多帧故障码示例

// 模拟诊断报文上报
1:TBOX外发故障码请求报文--0x19 读取故障码服务
0x18da00f1:05 19 42 33 08 1e ff ff
2:ECU回复 0x59 应答
0x18daf100:10 1a 59 42 33 FE FE 04
3:TBOX外发流控帧
0x18DA00F1:30 00 0A FF FF FF FF FF
4:ECU应发数据
0x18daf100:21 04 C0 37 08 28 04 04		// 故障码按照5BYTE顺序取
0x18daf100:22 26 1C E8 02 C2 A2 87		// 与单故障码对比多了后面的连续帧,与单故障码解析一样,不过多赘述
0x18daf100:23 28 04 C1 13 87 28 FF
//故障码:04 C0 37 08 2804 04 26 1C E802 C2 A2 87 2804 C1 13 87 28

http://www.ppmy.cn/news/52662.html

相关文章

StringRedisTemplate-基本使用

StringRedisTemplate继承自RedisTemplate,在这里说明一下,当我们使用RedisTemplate往redis中存储java对象的时候,他会顺带着将该java对象的字节码文件也同时存进了内存中,这是为了实现自动反序列化Autowired private StringRedisTemplate red…

【JavaWeb】JavaScript

1、JavaScript 介绍 Javascript 语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行 JavaScript 代码。 JS 是 Netscape 网景公司的产品,最早取名为 LiveScript;为了吸引更多 java 程序员。更名为 JavaScript。 JS 是弱…

OpenCL与Metal API下如何合理地安排线程组大小

我们玩过OpenCL的朋友都知道,我们可以通过clGetDeviceInfo接口来查询当前计算设备的几乎所有属性,包括当前计算单元的个数、最大工作组大小、本地存储器大小等等。但这些属性值都是基于当前计算设备的最大可支持能力,而不是当前内核程序执行上…

机器学习实战教程(九):模型泛化

泛化能力 模型泛化是指机器学习模型对新的、未见过的数据的适应能力。在机器学习中,我们通常会将已有的数据集划分为训练集和测试集,使用训练集训练模型,然后使用测试集来评估模型的性能。模型在训练集上表现得好,并不一定能在测…

rk3568 适配摄像头 (mipi 单摄)

rk3568 适配摄像头 (mipi 单摄) MIPI CSI(Mobile Industry Processor Interface Camera Serial Interface)是一种用于移动设备的高速串行接口标准,用于连接图像传感器和图像处理器。MIPI CSI接口使用差分信号传输技术,将数据分为…

微信小程序对接在线客服系统,对接小程序订阅消息模板,小程序订阅方法以及后端发送订阅模板消息的方法...

微信小程序想要对接独立在线客服系统,除了使用小程序消息推送接口外,还可以使用webview嵌入的形式嵌入聊天链接。 但是,使用webview嵌入的形式,当用户离开页面以后,就收不到客服回复的消息了 所以,我们需要…

ICMP 协议详解

文章目录 1 概述2 ICMP 协议2.1 工作原理2.2 报文格式2.3 ICMP 类型 1 概述 #mermaid-svg-6yUB8ZNYSzjbbDDq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6yUB8ZNYSzjbbDDq .error-icon{fill:#552222;}#mermaid-s…

苦熬10年,国产操作系统“归零”,新操作系统上新,跟Excel很像

苦熬10余年,国产操作系统自主研发 说到国内自主研发的操作系统,经验最丰富的品牌,当然是麒麟OS. 从诞生到发展,历经10多年的努力,麒麟os逐渐成为了国内自主研发操作系统领域中的一颗耀眼的明珠。麒麟OS不仅推出了许多…