OBD诊断(ISO15031) 01服务

功能简介

01服务,即 Request current powertrain diagnostic data(读取动力系统当前的诊断数据)服务,比如某个传感器的状态、发动机转速、DTC数量、故障指示灯是否亮起等

这些数据都是需要预先定义好的,如何进行定义呢,在ISO标准规定了一些参数标识符即PID(parameter Identifiers),每个PID代表一个变量参数。可以参考 J1979DA_202305.xlsx

OBD诊断中,ECU 至少应支持服务0x01PID 0x00

ISO 15765-4的诊断服务定义

PID 的功能

PID 的大小占一个字节。
ISO其实定义了部分PID参数,其余的值都保留,并不要求所有的主机厂把这些参数都实现,也就是说PID参数是可以选择支持的。
那么ECU到底支持哪些PID?
实际上,PID分为两类,一类用于表示具体的数据,而另一类则用于指出该ECU支持哪些PID。
如PID 0x00\0x20\0x40\0x60\0x80等就是用来查询到底支持哪些服务的,
读取其中一个PID后ECU会返回4个字节(32 bit)的结果,依次对应ECU对其后 32 个PID是否支持。具体如何使用如下:

  • PID 0x00 用于查询(0x01~0x20)之间支持的PID参数
  • PID 0x20 用于查询(0x21~0x40)之间支持的PID参数
  • PID 0x40 用于查询 (0x41~0x60)之间支持的PID参数
  • 以此类推后面的0x60 0x80

在这里插入图片描述

1、 请求当前动力系统诊断数据请求信息定义(读支持的 PID)

例如: PID 0x00、PID 0x20、PID 0x40 等
在这里插入图片描述

2、 请求当前动力系统诊断数据应答信息定义(报文支持的 PID)

如果发送了请求, ECU 将报文所有支持的范围。范围定义为 32 个 PID 为一组(例如 范围#1:PID$01-$20)。除非后续的范围还有支持的 PID,否则 ECU 将对不支持的 PID 范围不进行应答。

应答格式:<SID + 0x40> + <PID> + <支持的 PID PID PID PID>
在这里插入图片描述
应答信息仅包含 PID 以及 ECU 所支持的 Data A-D。如果请求信息包含不被 ECU 支持的 PID 值,那么它们将不包含在应答信息中。

3、请求当前动力系统诊断数据请求信息定义(读 PID 值)

在这里插入图片描述

4、请求当前动力系统诊断数据应答信息定义(报文 PID 值)

应答格式:<SID + 0x40> + <PID> + <支持的 PID PID PID PID>

在这里插入图片描述
不是所有包含在请求信息内的 PID 才可能被所有与排放相关的 ECU 所支持,将符合该规定。因此,每个车辆的 ECU,至少支持一个 PID,并且发送一个包含带数据的 PID 应答信息。

5、示例报文

5.1 请求来自车辆的支持的 PID

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2 请求来自车辆的多个 PID 值

在这里插入图片描述
在这里插入图片描述

数据解析,以 PID 0x0C 为例:

  • 数据字节 A: 0A
  • 数据字节 B: 6B

SAE J1979-DA 对 PID 0x0C 的定义为:
在这里插入图片描述
从表中可知,该PID占2个字节,分辨率为 1/4 = 0.25

  • Hex: 0A 6B
  • Dec:2667
  • PID 实际值 2667 * 0.25 = 666.75

PID数据定义

SAE J1979-DA 规定了对受支持的 PID 数据定义和解释,指定了其含义以及大小。
在这里插入图片描述

### 关于OBD PID 01的意义及其在汽车诊断中的应用 #### 定义和服务描述 PID (Parameter IDentifier)OBD-II 协议的一部分,用于请求特定类型的发动机或动力总成实时运行数据。PID 01 特指当前的动力总成诊断数据请求服务[^3]。 当发送 `01` 请求时,该命令会触发 ECU 返回一系列与发动机性能有关的数据点,这些数据点可以用来评估车辆健康状况并识别潜在问题。具体来说: - **响应内容**: 响应通常包含多个字节,每个字节对应不同的传感器读数或其他重要指标,例如冷却液温度、进气压力等。 #### 使用方法和技术细节 为了获取某个特定的 PID 数据,在实际操作过程中可以通过串行通信工具向车辆发出相应的十六进制编码查询语句。例如要获得冷却液温度,则需构建如下消息序列并向 OBD 接口传输: ```plaintext 7E8 02 01 05 ``` 这里, - `7E8` 表示目标地址; - `02` 指明后续有两个有效载荷字节; - `01` 对应 Service $01 — Request current powertrain diagnostic data; - `05` 则是要查询的具体 PID 编号(即冷却液温度)。 接收到来自 ECU 的回复之后,解析返回的数据流即可得到所需的测量值。需要注意的是不同车型之间可能存在差异,因此建议参照制造商提供的文档来进行精确配置和解读。 #### 法规背景下的意义 从监管角度来看,OBD II 标准化了包括 PID 在内的许多方面,使得维修技术人员能够按照统一的标准访问车辆内部信息。这不仅有助于提高修理效率,同时也便于环保部门监督机动车污染物排放情况,确保符合国家规定的限值要求[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值