1、OBD 远程车况诊断协议 1.1. OBD 远程车况诊断 1.1.1. 说明 车载终端上报需要增加重传机制,上报不成功,需要重新传输。 1.1.2. CAN 静态数据 OBD 模块根据终端设置规则,响应 CAN 静态数据;终端根据默认频率主动上报 CAN 静态数据,当平台需要跟踪 CAN 静态数据时,采用跟踪命令修改上报频率。 1.1.2.1. 终端上报 CAN 静态数据信息 消息 ID:0x0B21 终端上报 CAN 静态数据消息体数据格式详见下表,平台采用通用应答。 表 CAN 静态数据消息体数据格式 字节位置 内容 字节数 数据类型 精度 单位 描述 Year 1 u8 年 Month
2、1 u8 月 Day 1 u8 日 Hour 1 u8 时 Minute 1 u8 分 0 Seconds 1 u8 秒 6 协议类别 1 u8 CAN 11_500 0X11 CAN 11_250 0X12 CAN 29_500_EX 0X13 CAN 29_250_EX 0X14 KWP2000 0X20 KWP2000M 0X30 ISO9141 0X40 VPW 0X50 PWM 0X60 PRIVATE 0X70 7 状态掩码 10 u8 汽车状态掩码,表示 10 类汽车状态支持与否 17 安全状态 1 u8 Bit0 1/0 ON/OFF ACC 状态 Bit1 1/0 设防/撤防
3、 设防撤防状态 Bit2 1/0 踩下/松开 脚刹 Bit3 1/0 踩下/松开 油门 Bit4 1/0 拉起/放下 手刹 Bit5 1/0 插入/松开 主安全带 Bit6 1/0 插入/松开 副安全带 Bit7 1/0 预留 18 门状态 1 u8 Bit0 1/0 开/关 左前门 LF Bit1 1/0 开/关 右前门 RF Bit2 1/0 开/关 左后门 LB Bit3 1/0 开/关 右后门 RB Bit4 1/0 开/关 后备箱 TRUNK Bit5 1/0 开/关 发动机盖 Bit6-7 预留 19 锁状态 1 u8 Bit0 1/0 落锁/开锁 左前锁 LF Bit1 1/0
4、落锁/开锁 右前锁 RF Bit2 1/0 落锁/开锁 左后锁 LB Bit3 1/0 落锁/开锁 右后锁 RB Bit4-7 预留 20 窗户状态 1 u8 Bit0 1/0 开/关 左前窗 LF Bit1 1/0 开/关 右前窗 RF Bit2 1/0 开/关 左后窗 LB Bit3 1/0 开/关 右后窗 RB Bit4 1/0 开/关 天窗开关 Bit5 1/0 开/关 左转向灯 Bit6 1/0 开/关 右转向灯 Bit7 1/0 开/关 阅读灯 21 灯光状态 1 1 u8 Bit0 1/0 开/关 近光灯 Bit1 1/0 开/关 远光灯 Bit2 1/0 开/关 前雾灯 Bit
5、3 1/0 开/关 后雾灯 Bit4 1/0 开/关 危险灯 Bit5 1/0 开/关 倒车灯 Bit6 1/0 开/关 AUTO 灯 Bit7 1/0 开/关 示宽灯 22 开关状态 A 1 u8 Bit0 1/0 ON/OFF 机油报警 Bit1 1/0 ON/OFF 燃油报警 Bit2 1/0 开/关 雨刷 Bit3 1/0 开/关 喇叭 Bit4 1/0 开/关 空调 Bit5 1/0 开/关 后视镜状态 Bit6-7 预留 23 开关状态 B 1 u8 BIT1-0 KEY 状态 00 LOCK 01 ACC 10 ON 11 START/RUN Bit2-3 预留 Bit4-BIT
6、7 档位 =0 P =1 R =2 N =3 D =4 1 =5 2 =6 3 =7 4 =8 M 24 保留 1 u8 保留 25 保留 1 u8 保留 26 数据流掩码 4 u8 车辆数据流掩码,表示 40 个数据流是否支持与 否 30 电瓶电压 2 u16 0.1 V 显示值为上传值/10 以下共 62 字节 32 总里程类别 1 u8 总里程类型 01 汽车里程 02 OBD 里程 03 GPS 里程 33 总里程 4 u32 0.001 m 行驶里程,上传值单位为 m(米) 37 总耗油量 4 u32 0.001 L 总的燃油消耗量,上传值单位为 ml(毫升) 41 故障灯状态(MI
7、L) 1 u8 if(Bit0) ONelse OFF 42 故障码个数 1 u8 发动机故障码个数 43 发动机转速 2 u16 RPM 发动机转速 45 车辆速度 1 u8 Km/h 车辆速度 46 进气口温度 1 u8 (上传范围 0255) 显示值为上传值-40 (实际范围- 40215) 47 冷却液温度 1 u8 水箱温度 (上传范围 0255) 显示值为上传值-40 (实际范围- 40215) 48 车辆环境温度 1 u8 车辆环境温度 (上传范围 0255) 显示值为上传值-40 (实际范围- 40215) 49 进气歧管压力 1 u8 kpa 进气歧管压力 (10105kpa
8、) 51 燃油压力 2 u16 kPa 燃油压力 53 大气压力 1 u8 kPa 大气压力 54 空气流量 2 u16 0.1 g/s 显示值为上传值/10 56 气门位置传感器 2 u16 0.1 % 显示值为上传值/10 58 油门踏板位置 2 u16 0.1 % 显示值为上传值/10 ( 0100) 60 发动机运行时间 2 u16 Sec 一个驾驶循环的运行时间 62 故障行驶里程 4 u32 km 故障行驶里程 66 剩余油量 2 u16 0.1 L/% 剩余油量,单位 L 或% Bit15 =0 百分比% OBD 都为百分比 =1 单位 L 显示值为上传值/10 68 发动机负荷
9、 1 u8 % 发动机负荷, 0100 69 长期燃油修正(组 1) 2 u16 0.1 % 显示值为上传值/10 71 点火提前角 2 u16 0.1 显示值为(上传值/10)-64 73 仪表总里程 4 u32 m 汽车仪表总里程,单位米 77 车辆总运行时间 4 u32 s 车辆总运行时间,单位秒 81 保留 10 u8 保留 91 Trip Mark 2 u16 驾驶循环标签 说明: 1、数据流掩码 4 字节 DS MASK,表示 30 个数据流支持与否,字节位次序高位在先,低位在后。 比如:掩码第 1 个字节的 BIT7 决定第 1 个数据流(电瓶电压)支持与否 掩码第 1 个字节的
10、 BIT0 决定第 8 个数据流(车辆速度)支持与否 掩码第 2 个字节的 BIT7 决定第 9 个数据流(进气温度)支持与否 2、每个上传的静态数据包为固定的长度 94 字节,不支持的数据流,仍占用固定位置字节。 3、根据设置时间间隔上报(设置参数一定可以设置时间间隔) 1.1.2.2. 平台主动跟踪 CAN 静态数据 消息 ID:0x8B21 当平台发送主动跟踪 CAN 数据时,终端采用通用应答。 表 平台主动跟踪 CAN 数据静态数据消息格式 起始字节 字段 数据类型 描述及要求 0 上报时间间隔 WORD 单位为秒(s), 0 则停止跟踪。 4 上报超时 WORD 响应数据示例: 1.
11、1.3. 车辆故障数据 OBD 模块采集到车辆故障时,将故障码主动传送给终端,终端通过上报故障数据将 故障数据传送给平台。 1.1.3.1. 终端主动上报车辆故障数据 消息 ID:0x0B22 消息体见故障数据报,平台采用通用应答。 故障码数据包 (7+4*N 字节) 字节位置 内容 字节数 数据类型 描述 0 Year 1 u8 年 年 1 Month 1 u8 月 月 2 Day 1 u8 日 日 3 Hour 1 u8 时 时 4 Minute 1 u8 分 分 5 Seconds 1 u8 秒 秒 6 Dtc Num 1 u8 为 0 表示无故障码,非 0 为故障码个数 10 Dtc1
12、 ID 4 BYTE 第 1 个故障码 ID 号:4 字节 14 Dtc2 ID 4 BYTE 第 2 个故障码 ID 号:4 字节 18 Dtc3 ID 4 BYTE 第 3 个故障码 ID 号:4 字节 说明:1.1 个故障码编号由 4 字节组成,分别为系统 ID、故 障字节 1、故障字节 2、故障字节 3。 对于 OBD 故障码,SYS_ID 为 0x00,故障字节 3 无意义(为 0)。 2.关机报一次 1.1.3.2. 平台查询车辆故障数据 消息 ID:0x8B22 消息体为空,终端应答车辆故障数据。 1.1.4. 驾驶行为数据 当 ACC OFF 时,OBD 模块主动产生驾驶行为数
13、据发送给终端,终端上报驾驶行为数 据给平台;当用户需要在平台查看驾驶行为数据时,可下发查询驾驶行为数据,终端从 OBD 模块获取驾驶行为数据,并上报给平台进行展示。 1.1.4.1. 终端上报驾驶行为数据 消息 ID:0x0B23 表 终端上报驾驶行为数据消息体格式 字节位置 内容 字节数 数据类型 描述 0 ACC ON Time Year、Month、Day 、 Hour、 Minute、Sec onds 6 u8 ACC ON 时间 格式:年月日时分秒 6 ACC OFF Time Year、Month、Day 、 Hour、 Minute、Sec onds 6 u8 ACC OFF 时
14、间 格式:年月日时分秒 12 Trip Distance 4 u32 一个驾驶循环总里程,单位米 16 Trip Speed Average 1 u8 一个驾驶循环平均车速,单位 KM/H 17 Trip Speed Maximum 1 u8 一个驾驶循环最大车速,单位 KM/H 18 Trip Overspeed Duration 2 u16 一个驾驶循环超速累计时长,单位秒 20 Trip Accelerate times 4 u32 一个驾驶循环急加速次数 24 Trip Decelerate times 4 u32 一个驾驶循环急减速次数 28 Trip Sharp turn time
15、s 4 u32 一个驾驶循环急转弯次数 32 Accelerate total times 4 u32 急加速总次数 36 Decelerate total times 4 u32 急减速总次数 40 Sharp turn total times 4 u32 急转弯总次数 44 Overspeed Duration Total 4 u32 超速累计总时长,单位秒 48 Trip Fuel Consum 4 u32 一个驾驶循环总耗油,单位毫升(ml) 52 Trip OverSpd Times 2 u16 一个驾驶循环超速次数,单位次 54 Trip Number of Braking 2 u
16、16 一个驾驶循环脚刹次数,单位次 56 Trip Duration Total 4 u32 一个驾驶循环总时长,单位秒 60 Trip Idle Duration 4 u32 一个驾驶循环怠速时长,单位秒 64 Trip Mark 2 u16 驾驶循环标签 66 Trip Mask of Braking 1 u8 一个驾驶循环脚刹次数支持与否,1 为支持 67 Trip Distance Type 1 u8 一个驾驶循环总里程类型: 0OBD 2总线 68 Reserve 12 u8 保留 说明: 1.上报规则:关机报一次 1.1.4.2. 平台查询驾驶行为数据 消息 ID:0x8B23 消
17、息体为空,终端应答驾驶行为数据。 1.1.5. 主动上报驾驶事件数据 当每次急加速、急减速、急刹车事件产生时,OBD 模块主动将驾驶事件数据发送给终 端,终端上报驾驶事件数据给平台。 1.1.5.1. 终端上报驾驶事件数据 消息 ID:0x0B24 消息体见终端上报驾驶事件消息体格式,平台应答通用应答。 终端上报驾驶事件消息体格式 字节位置 内容 字节数 数据类型 描述 0 Act Type 1 u8 驾驶行为类别 1急加速 2急减速 3急转弯 1 Speed 1 u8 事件发生时车辆速度 2 Acceleration 2 u16 事件发生时加速度值,单位 mg 4 Accelerate to
18、tal times 4 u32 急加速总次数 8 Decelerate total times 4 u32 急减速总次数 12 Sharp turn total times 4 u32 急转弯总次数 16 Trip Mark 2 u16 驾驶循环标签 说明: 1.上报规则:关机报一次 1.1.6. 设置 OBD 模块参数 当平台需要设置 OBD 参数时,按照各参数项设置,终端采用通用应答。 1.1.6.1. 设置 OBD 模块参数 消息 ID:0x8B25 消息体 OBD 模块参数消息体数据格式,按照各参数项设置,终端采用通用应答。 消息体 OBD 模块参数消息体数据格式 起始字节 字段 数据
19、类型 描述及要求 0 参数总数 BYTE 1 包参数个数 BYTE 2 参数项列表 OBD 参数项格式见表 OBD 参数项数据格式 字段 数据类型 描述及要求 参数 ID DWORD 参数 ID 定义 表参数 参数长度 BYTE 参数值 参见各参数ID 终端参数设置各参数项定义及说明 参数 ID 参数值 描述及要求 0x0001 参见 重启终端 0x0002 恢复出厂设置 0x0003 设置车辆类型 0x0004 设置总里程总油耗(部分车辆无法读出) 0x0005 设置 CAN 回传参数 0x0006 清除车辆故障码 0x0007 清除 CAN 盲区数据 0x0008 清除驾驶行为数据 0x0
20、009 设置低电压报警参数 0x0010 设置拖车报警参数 0x0011 设置碰撞报警参数 0x0012 设置翻车报警参数 0x0013 定位时间过长报警参数 0x0014 怠速时间过长报警参数 0x0015 设置急加速参数 0x0016 设置急减速参数 0x0017 设置急转弯参数 1.1.7. 查询 OBD 模块参数 当平台需要查询 OBD 参数时,查询所有参数,或按照参数项设置,终端采用 OBD 参 数应答。 1.1.7.1. 平台查询 OBD 模块参数 消息 ID:0x8B26 平台发送消息体如下: 消息体 OBD 模块参数消息体数据格式 起始字节 字段 数据类型 描述及要求 0 参数
21、总数 BYTE 1 包参数个数 BYTE 2 参数项列表 OBD 参数项格式见表 参数 ID 参数值 描述及要求 0x0000 查询所有 OBD 参数 0x0003 车辆类型 0x0004 总里程总油耗 0x0005 CAN 回传参数 0x0009 低电压报警参数 0x0010 拖车报警参数 0x0011 碰撞报警参数 0x0012 翻车报警参数 0x0013 定位时间过长报警参数 0x0014 怠速时间过长报警参数 0x0015 急加速参数 0x0016 急减速参数 0x0017 急转弯参数 1.1.7.2. 终端应答查询 OBD 模块参数 消息 ID:0x0B26 消息体格式如下。 消息体
22、 OBD 模块参数消息体数据格式 起始字节 字段 数据类型 描述及要求 0 参数总数 BYTE 1 包参数个数 BYTE 2 参数项列表 OBD 参数项格式见表 OBD 参数项数据格式 字段 数据类型 描述及要求 参数 ID DWORD 参数 ID 定义 表参数 参数长度 BYTE 参数值 参见各参数ID 参数 ID 参数值 描述及要求 0x0003 车辆类型 0x0004 总里程总油耗 0x0005 CAN 回传参数 0x0009 低电压报警参数 0x0010 拖车报警参数 0x0011 碰撞报警参数 0x0012 翻车报警参数 0x0013 定位时间过长报警参数 0x0014 怠速时间过长报警参数 0x0015 急加速参数 0x0016 急减速参数 0x0017 急转弯参数