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 读取故障码服务
0x18da00f1:05 19 42 33 08 1e ff ff
2:ECU回复 否定应答
0x18daf100:03 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