OBD-II九类诊断服务的数据读取机制

来自:宝典官方
5年前
已收藏
收藏
阅读数
2580
回复数
0


OBD-II总共定义了9个诊断服务,每个服务用一个byte来代表,即所谓的ServiceID(SID)。

 5诊断列表.jpg

其中进行数据读取时需要以下数据参数进行信息识别:

SID:Service Identity document服务地址码

PID:Parameter Identity document 参数地址码,每个PID也是一个字节(byte),取值范围是0x00至0xFF。

MID:Monitor Identity document 监测地址码

TID:Test Identity document 测试地址码

 

$ 01. 显示当前数据

服务01用于读取动力系统当前的诊断数据(如转速、故障码数量、故障灯状态、传感器状态等)。

                    命令格式

                    请求格式:SID + 若干PID

                    响应格式:SID + 请求PID + 具体响应数据

 6服务01.jpg

(可以简单理解为请求格式即为通道号,响应格式即为进入响应通道号后展示出来的内容)

需要注意的是,PID有两种类型,一种表示具体的数据,一种用于指出响应的ECU支持的PID。只有在ECU支持了该PID的情况下,才能进行数据的读取。在请求和响应消息中最大支持6个PID。

 

$ 02. 显示冻结帧数据

服务02用于读取车辆冻结帧即车辆出现故障那一刻时的相关信息,其命令格式与服务01相似。不同之处是在响应格式中增加了一个frame字节,代表所读取的冻结帧。

                    命令格式

                    请求格式:SID + 若干PID

                    响应格式:SID + PID + frame

 6服务02.jpg

需要注意的是,OBD只规定了ECU需要为一个DTC存储冻结帧,当ECU中同时存在多个DTC时,需根据优先级来判定存储谁的冻结帧。

 

$ 03. 显示存储的故障诊断代码

服务03用于读取存储在ECU中的与排放相关的确定DTC。

                    命令格式

                    请求格式:03

                    响应格式:SID + DTC总量 + 具体DTC(用每两个字节表示) 

 服务03.jpg

$ 04. 清除故障码和存储值

服务04用于清除存储在ECU中与排放相关的DTC。

                    命令格式

                    请求字节:04

                    响应字节:44

 8服务04.jpg

只有在发动机没有运转的时候才可以执行这个服务,否则ECU应该给出NRC 0x22(条件不满足)来拒绝该服务。清除数据时包括故障码、冻结帧、测试数据等等排放相关的内存数据都会清除掉。

(这里展示的是内部机制,我们可以简单的理解为进行清码时的操作)

 

$ 05. 测试结果-氧传感器监测

服务05用于读取氧传感器的状态。

 9服务05.jpg

$ 06. 测试结果-其他组件/系统监测

服务06用于请求对特定被监测系统的监测结果。一个ECU不一定需要支持所有的MID,获知具体支持哪些MID的方法与服务01和02所使用的方法相同。

                    命令格式

                    请求格式:SID + 若干MID

                    响应格式:SID + MID

 10服务06.jpg

针对某一个MID,可能有多个TID(Test ID),如测试内容(电压/时间/计数器等)、实际测量值/最小测量值、最大测量值。

 

$ 07. 显示待定诊断故障代码

服务07用于获取在当前以及上一个驾驶循环中出现的处于待定状态的DTC。在每次维修人员修理完之后,会通过清理故障码的形式来测试该故障是不是真正解决了,然后看这个故障是不是又会出现,这样可帮助技术员快速了解故障问题是否解决。

 

$ 08. 诊断组件/系统的控制操作

服务08用于对系统进行控制,进行元件测试操作。

                    命令格式

                    请求格式:SID + TID

                    响应格式:SID + TID + 测试结果值

         11服务08.jpg

$ 09. 显示车辆信息

服务09用于读取车辆信息,

                    命令格式

                    请求格式:SID + 若干InfoType

                    响应格式:SID + 支持的InfoType + 信息数据值

 12服务09.jpg


 OBD-II诊断服务中的PID取值表(点击查看)

上一篇下一篇
参与回答(0条评论)
用户头像
上传
用户头像
{{item.nickname}}{{item.pubtime}}回复
回复图片
用户头像
上传
用户头像
{{item1.nickname}}回复 {{item1.othername}} {{item1.pubtime}} 回复
回复图片
用户头像
上传
查看全部回复{{item.replylist_count}}条 查看全部
收起回复 收起全部
{{isLoadList==1?'加载中...':(isLoadList==2&&(list.length <=3||(list.length>3&&!is_hidden))?'没有更多内容了':'查看更多回答')}}
返回顶部

返回顶部