UDS服务-14、19、2F、31服务

UDS服务-14、19、2F、31服务

  • 前情提要
  • 0x14
  • 0x19 01h
  • 0x19 02h
  • 0x19 04h
  • 0x19 06h
  • 0x19 0Ah
  • 0x2Fh
  • 0x31h

前情提要

使用的是ISO-14229-1 DTCFomat
DTC信息由以下几部分组成
DTC代码值+DTCStatus
DTC代码值=DTC高字节+DTC中字节+DTC低字节【通常为故障失效类型】

DTC故障码的介绍见word文档

0x14

“ClearDiagnosticInformation”,清除DTC信息
功能: 用户通过请求该服务,清除一个或者多个指定ECU记录的DTC故障信息,这些故障信息存储在非易失性存储中

14 FF FF FF
54

14后面跟需要清除的groupofDTC的ID
FFFF33 排放相关系统
100000 动力组
400000 底盘组
800000 车身组
C00000 网络通信组
FFFFFF所有组(所有DTC)

支持的NRC
13 IMLOIF 报文长度/格式错误
22 CNC 请求诊断会话控制的条件不满足
31 ROOR 请求超出范围

0x19 01h

读取客户端定义状态掩码匹配的DTC(Diagnostic Trouble Code)数量

19 01 09【0x8,0x9都可以】
59 01【代表记录数量】 09【与上述保持一致】 01 xx xx【状态掩码的数量】

支持的NRC
12 SFNS 请求报文中的子功能参数不支持
13 IMLOIF 报文长度/格式错误
31 ROOR 请求超出范围

0x19 02h

reportDTCByStatusMask(读取客户端定义状态掩码匹配的DTC)

19 02 09【0x8,0x9都可以】
59 02【读取DTC信息,通过状态掩码报告DTC】09【与上面保持一致】 XX XX XX【DTC状态掩码的高中低字节】 09【与上面保持一致】

支持的NRC
12 SFNS 请求报文中的子功能参数不支持
13 IMLOIF 报文长度/格式错误
31 ROOR 请求超出范围

0x19 04h

通过DTC码报告诊断快照

19 04 xx xx xx【DTC状态掩码的高中低字节】xx【通过DTCnumber读取快照记录】
59 04 xx xx xx【DTC状态掩码的高中低字节】 24【DTC的状态】 xx**【通过DTCnumber读取快照记录】** xx**【通过DTCnumber读取快照记录的id】** XX XX【诊断快照的DID 有2个字节】 data【诊断快照的数据,依据诊断快照中标明的byte进行记录eg DID=xx 01 对应的字节数为1】

0x19 06h

通过DTC码报告扩展数据

FF表示记录全部的DTC

0x19 0Ah

报告支持的全部DTC

FF为记录所有,FE为记录所有的OBD

0x2Fh

输入输出控制
生产线上使用

2F DID controlOptionRecord[用于标识控制方式]
controlOptionRecord
0x00 returnControlToECU (将控制权还给ECU,即结束控制)
0x01 resetToDefault (将dataIdentifier所引用的输入信号、内部参数、输出信号等设为默认值)
0x02 freezeCurrentState(将dataIdentifier所引用的输入信号、内部参数、输出信号等冻结住)
0x03 shortTermAdjustment (将dataIdentifier所引用的输入信号、内部参数、输出信号进行设置,其实就相当于开始了对ECU的控制)
点击查看参考链接
参考链接中有报文举例

支持的NRC
13 IMLOIF 报文长度/格式错误
31 ROOR 请求超出范围
33 安全访问拒绝,请求的DID是受保护的,且没有处于解锁状态
7F 当前会话模式服务不支持

0x31h

例程控制
启动、停止ECU存储器中的例程或请求例程结果
例程标识符有两个字节

你可能感兴趣的:(CAN学习专栏,汽车,学习)