1.诊断会话控制服务(DSC) SID=0x10
1 .请求报文
帧格式: 02 10 01 AA AA AA AA AA
其中 10 为请求诊断会话控制ID
01为诊断会话类型,也就是他的子功能
00为保留 01位默认模式 02为编程模式 03为扩展模式(大部分服务在扩展模式下)
2.肯定响应报文
帧格式:06 50 01 00 96 17 70 AA
其中50为诊断会话控制肯定响应ID
01为诊断会话类型(根据报文子功能类型进行改变)
3.否定响应报文
帧格式:03 7F 10 12 AA AA AA AA
12为否定响应码
0x12(子功能不支持)0x13(报文长度错误或格式非法)0x22(条件不满足,处于变编程状态)
2.电控单元复位(ECUR)SID=0x11
该服务可以有三种方式--硬件复位,点火钥匙复位,软件复位
1.请求报文*
帧格式:02 11 01 AA AA AA AA AA
11为电控单元复位SID
01为复位类型子功能(01为硬件复位 02为点火位 03为软件复位)
2.肯定响应报文
帧格式:02 51 01 AA AA AA AA AA
3.否定响应报文
帧格式:03 7F 11 12 AA AA AA AA
12为否定响应码
否定响应码
12子功能不支持
13报文长度错误或格式非法
22条件未满足
33安全访问拒绝
3.安全访问(SA)SID:0x27
帧格式:首先发送0x10服务子功能03进入扩展模式
例:02 10 03 FF FF 00 00 00
ECU返回肯定响应报文
例:06 50 03 00 32 01 F4 AA
解锁进入第一权限
帧格式:02 27 01 FF FF 00 00 00
ECU返回肯定响应报文
例:06 67 01 00 00 00 00 AA
解锁进入第二权限
帧格式:06 27 02 03 13 F3 05 08
ECU返回肯定响应报文
例:06 67 02 AA AA AA AA AA
4.通信控制(CC)SID:0x28
请求报文
帧格式:03 28 00 01 AA AA AA AA
其中 00为子功能控制类型
00:允许接收和发送
01:允许接收禁止发送
02:禁止接收允许发送
03:禁止接收和发送
其中01为通讯类型
01:常规应用报文
02:网络管理报文
03:常规应用报文和网络管理报文(常用)
肯定响应
帧格式:02 68 00 AA AA AA AA AA
否定响应
帧格式 :03 7F 28 12 AA AA AA AA
12为否定响应码
否定响应码:
0x12 子功能不支持
0x13 报文长度错误或格式非法
0x22 条件未满足
0X31 请求超出范围
5.诊断设备在线 SID:0x3E
客户端通过该服务维持和服务器在非默认模式下的链接
请求报文
帧格式 02 3E 80 AA AA AA AA AA
02 3E 00 AA AA AA AA AA
3E为SID
80为是否需要返回肯定响应报文,若是00则需要返回肯定响应报文
肯定响应报文
02 7E 00 AA AA AA AA AA
否定响应报文
03 7F 3E 12 AA AA AA AA
12为否定响应码
否定响应码
12 子功能不支持
13 报文长度错误或格式非法
6.读取数据 SID:0x22
请求报文
03 22 F1 8C AA AA AA AA
F1 8C为数据标识符
可以携带多个数据标识符(F18C为ECU序列号)
读取数据肯定响应报文
第一帧
10 08 62 F1 8C 11 11 11
发送流控帧
30 00 00 AA AA AA AA AA
连续帧
21 11 11 AA AA AA AA AA
读取数据否定响应
03 7F 22 12 AA AA AA AA
其中12为否定响应码
否定响应码
0x13 报文长度错误或格式非法
0x22 条件不满足
0x31所有DID都非法,DID数量超出限值
7.周期读取数据 SID:0x2A
注意:该服务的响应报文只能是单帧
请求数据
帧格式 04 2A 01 F2 E3 AA AA AA
可以请求多个周期数据标识符
F2 E3为周期数据标识符
01为传输模式
传输模式
00:iso保留
01:低速率发送
02:中速率发送
03:高速率发送
04:停止发送
05-FF : ISO保留
读取数据肯定响应
帧格式
01 6A AA AA AA AA AA AA
肯定响应后续
01 6A F2 E3 XX XX XX XX(x为数据)
读取数据否定响应
03 7F 2A 12 AA AA AA AA
12为否定响应码
否定响应码
13 报文长度或格式非法
22 条件不满足
31 PDID非法
33 安全访问拒绝
8.写入数据(WDBI)SID:0X2E
写入数据请求报文
10 08 2E F1 8C XX XX XX(XX为数据)
F1 8C为数据的标识符
第二帧
21 XX XX AA AA AA AA AA
肯定响应报文
03 6E F1 8C AA AA AA AA
否定响应报文
03 7F 2E 13 AA AA AA AA
13为否定响应码
否定响应码
0x13 报文长度错误或格式非法
0x22 条件不满足
0x31非法的DID 非法的DREC
0x33 安全访问拒绝
0x72 写入失败
9.清除诊断信息 SID:0x14
帧格式 04 14 FF FF FF AA AA AA
将会返回一条否定响应报文
例 03 7F 14 78 AA AA AA AA
接下来就是肯定响应报文
例 01 54 AA AA AA AA AA AA
否定响应码
0x13 报文长度错误或格式非法
0x22 条件未满足:如果服务器内部禁止清除DTC,则返回此否定码
0x31 请求的数据内容超出数据范围
10.读取DTC信息 SID:0x19
请求帧格式
03 19 01 FF 55 55 55 55
FF为DTC状态码
01为子功能
子功能定义:
01 通过状态码报告DTC数量
02 通过状态码读取DTC
03 报告DTC快照标识符
04 通过DTC报告DTC快照记录
06 通过DTC报告DTC扩展数据记录
0A 报告支持的DTC
04 06子功能使用方法
06 19 04 XX XX XX FF AA
其中xx为DTC
FF为掩码
06 19 06 XX XX XX FF AA
使用方法和04子功能一样
读取DTC肯定响应报文(子功能=01)
帧格式
05 59 24 01 XX XX AA AA
24为下机位自定义
01表示DTC遵循的格式属于哪个协议
XX XX为DTC的确认方式
读取DTC肯定响应报文(子功能=02)
第一帧
10 0B 59 02 24 XX1 XX1 XX1(XX1为DTC)
第二帧
21 YY1 XX2 XX2 XX2 YY2 AA AA
YY1为DTC1的故障状态码
三个XX2为DTC2
YY2为DTC2的故障状态码
读取DTC否定响应报文
03 7F 19 13 AA AA AA AA
13为否定响应码
否定响应码
12 子功能不支持
13 报文长度错误或格式非法
31 请求的数据内容超出数值范围(1.非法的DTC状态码,2.无效的DTC数量)
11.写入数据服务SID 0x2E
客户端通过该服务可以改写服务器中指定数据标识符对应的数据
第一帧
帧格式 10 08 2E F1 8C XX XX XX
2E 请求报文SID
F1 8C为数据标识符
第二帧
帧格式 21 XX XX AA AA AA AA AA
XX为数据
写入肯定响应报文
帧格式 03 6E F1 8C AA AA AA AA
F1 8C为数据标识符
写入数据否定响应报文
帧格式 03 7F 2E 13 AA AA AA AA
13为否定响应码
否定响应码
0x13 报文长度错误或格式非法
0x22 条件不满足
0x31 请求的数据内容超出数值范围(1.非法的DID或者服务器不支持向该DID写入数据,2.非法的DREC)
0X33 安全访问失败,该诊断服务仅次于编程模式
0x72 写入失败
11.输入输出控制 SID=0x2F
注意事项:请求报文一次只包含一个DID
2.执行该服务前请先解锁
帧格式:
05 2F 10 80 03 07 AA AA
注:1080为io DID
03为输入输出控制参数ControLOption
07为子功能
输入输出参数控制参数定义
00 该值只是服务器客户端不再控制输入信号
03 请求吧服务器RAM中输入的信号、内部参数或者输出信号值修正为controLOption参数中定义的值
2F 10 80 03 07
2F 10 80 00
肯定响应报文
04 6F 00~FF 00~FF 00 AA AA AA
00为例程ID
AA:注意当子功能为03时,此处将携带数据,例如返回例程停止时出口参数灯。具体情况视例程ID而定
输入输出否定响应报文
03 7F 2F 12 AA AA AA AA
12为否定响应码
否定响应码
0x13 报文长度错误或格式非法
0x22条件未满足
0x31DID不支持
0x33 安全访问拒绝
12.例程控制服务SID=0x31
例程控制用于更新软件
请求帧格式
帧格式
04 31 01 FF 00 55 55 55
01为子功能
FF 00为例程ID
子功能定义数值
00保留
01启动例程
02停止例程
03请求例程结束
其他保留
例程控制肯定响应报文
帧格式
04 71 01 FF 00 AA AA AA
FF 00为例程ID
例程控制否定响应报文
帧格式
03 7F 10 12 AA AA AA AA
10为例程控制SID
12为否定响应码
否定响应码
0x12 子功能不支持
0x13 报文长度错误或格式非法
0x22条件未满足
0x24请求顺序错误:必须先启动例程才可停止例程
0x31例程ID不支持
0x33安全访问拒绝
13.DTC设置控制 SID=85
诊断仪使用控制DTC设置服务停止或恢复ECU内部的诊断故障码设置功能
请求帧格式
02 85 01 AA AA AA AA AA
01为子功能
子功能:
01: ON/使能 ECU依照正常操作条件恢复诊断故障码的设置功能
02:OFF/禁止 停止诊断故障码的设置功能
否定响应码:
12:不支持子功能
13:不正确的消息长度或无效的格式
22:条件不正确
————————————————
版权声明:本文为CSDN博主「彭大根」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44484694/article/details/119758976