OBD诊断(ISO15031) 09服务
文章目录
- 功能简介
- ISO 9141-2、ISO 14230-4和SAE J1850的诊断服务定义
- 1、请求车辆信息请求消息(读取支持的INFOTYPE)
- 2、请求车辆信息响应消息(报告支持INFOTYPE)
- 3、请求车辆信息请求消息(读取INFOTYPE值)
- 4、请求车辆信息响应消息(报告INFOTYPE值)
- 3、报文示例
- ISO 15765-4的诊断服务定义
- 1、请求车辆信息请求消息(请求支持INFOTYPE)
- 2、请求车辆信息响应消息定义(报告支持INFOTYPE)
- 3、请求车辆信息请求消息定义(读取INFOTYPE值)
- 4、请求车辆信息响应消息定义(报告INFOTYPE值)
- 5、示例报文
功能简介
09服务,即 Request vehicle information(请求整车信息)服务,此服务用于请求整车信息,如VIN码,ECU名称等
ISO 9141-2、ISO 14230-4和SAE J1850的诊断服务定义
此服务的目的是使外部测试设备能够请求车辆特定的车辆信息,如车辆识别码(VIN)和校准ID。其中一些信息可能是法规要求的,如果车辆制造商支持,则应以标准格式报告。SAE J1979-DA中定义了信息类型。
此服务的一个功能是让ECU指示支持哪些信息类型(ISO 9141-2要求支持INFOTYPE 00 )。INFOTYPE 00 是一个位编码值,表示支持01 到20 的INFOTYPEs。INFOTYPE 20 表示支持INFOTYPE21 -40 等。这与SAE J1979-DA中规定的服务01 和02 中用于PID支持的概念相同。
外部测试设备应维护一份支持不等于00 的信息类型的ECU列表,以证明其是否期望来自该ECU的响应消息。对于信息类型不等于00 的请求消息,ECU可能不会在 规定的P2 max正时窗口内发送肯定响应消息。
如果INFOTYPE 02 (VIN)显示为支持,即使VIN缺失或不完整,ECU也应在P2max正时内做出响应。例如,开发ECU可能会用VIN的FF 字符进行响应,因为VIN尚未编程。
1、请求车辆信息请求消息(读取支持的INFOTYPE)

2、请求车辆信息响应消息(报告支持INFOTYPE)

3、请求车辆信息请求消息(读取INFOTYPE值)

4、请求车辆信息响应消息(报告INFOTYPE值)

3、报文示例
下表显示了如何实施“请求车辆信息”服务
步骤#1:从车辆请求车辆信息(请求支持的INFOTYPE)
外部测试设备向车辆请求所有支持的信息类型。有关请求支持的PID的指导,请参阅服务01的示例(支持的信息类型也使用相同的概念)。根据支持的INFOTYPE请求,外部测试设备为每个ECU创建了一个支持的内部信息类型列表:ECU#1(ECM)支持以下信息类型:01、02 、03 、04 、05 、06 、07 和08 。由于只有一个ECU符合与任务相关的立法要求,因此不会出现来自另一个ECU的响应消息。
步骤#2:向车辆请求信息类型
现在,外部测试设备请求以下INFOTYPE:
- INFOTYPE 01:MC_VIN=5条响应消息;由ECU#1支持。


现在,外部测试设备请求以下INFOTYPE:
- 信息类型02 :VIN=[1G1JC5444R7252367],由ECU#1支持。




现在,外部测试设备请求以下INFOTYPE:
- INFOTYPE 03:消息计数校准ID=08;由ECU#1支持。

ISO 15765-4的诊断服务定义
此服务的目的是是使外部测试设备能够请求特定于车辆的车辆信息,例如车辆识别码(VIN:VehicleIdentificationNumber)和CalibrationID。其中一些信息可能是法规要求的,如果车辆制造商支持,一些信息应以标准格式报告。INFOTYPE在SAEJ1979-DA中定义。
并非所有INFOTYPE都适用或受所有系统支持。INFOTYPE 00是位编码值,指示每个ECU支持哪些INFOTYPE。INFOTYPE 00 表示支持从01 到20 的INFOTYPE。INFOTYPE 20 表示支持INFOTYPE 21 到40 等。这与服务01 02 、06 、08 、09 中的PID/TID/INFOTYPE支持的概念相同。那些响应SAEJ1979-DA中规定的相应服务09 请求消息的ECU需要INFOTYPE 00
包含支持的INFOTYPE的请求消息最多可包含六个INFOTYPE。包含INFOTYPE的请求消息,用于报告车辆信息,只能包含一个INFOTYPE。外部测试设备不应请求支持的INFOTYPE和报告车辆信息的单个INFOTYPE的组合。ECU应支持最多6个受支持的INFOTYPE和仅一个INFOTYPE的请求,该INFOTYPE报告车辆信息。
如果INFOTYPE 02 (VTN指示为支持,即使VIN丢失或不完整,ECU也应在P2max时问内响应。例如,开发ECU可能会响应VIN的FFG字符,因为VIN尚未编程。
1、请求车辆信息请求消息(请求支持INFOTYPE)

要请求支持范围从C1 到FF 的INFOTYPE,应向车辆发送另一个具有INFOTYPE#1=CO 和INFOTYPE#2=E0 的请求消息。
2、请求车辆信息响应消息定义(报告支持INFOTYPE)
如果需要,ECU应响应所有支持的范围。一个范围被定义为一个包含32个INFOTYPE的块(例如范围#1:INFOTYPE 01到20 )。除非后续范围具有受支持的INFOTYPE,否则ECU不应响应不受支持的INFOTYPE范围。

响应消息应仅包括ECU支持的INFOTYPE和数据A到D。如果请求消息包含ECU不支持的INFOTYPE值,则这些值不应包含在响应消息中。
3、请求车辆信息请求消息定义(读取INFOTYPE值)

4、请求车辆信息响应消息定义(报告INFOTYPE值)

5、示例报文

注意:压燃式发动机将支持INFOTYPEOBis而不是08is用于在用性能跟踪(IPT)数据。


现在外部测试设备请求以下INFOTYPE:
- INFOTYPE 0416: CALID#1 = [JMB36761500] and CALID#2 = [JMB4787261111]; supported by
- INFOTYPE 0416: CALID#1 = [JMA*431299110000]; supported by ECU#2.



- 返回 OBD诊断 专栏目录
相关文章:
OBD诊断(ISO15031) 09服务
文章目录 功能简介ISO 9141-2、ISO 14230-4和SAE J1850的诊断服务定义1、请求车辆信息请求消息(读取支持的INFOTYPE)2、请求车辆信息响应消息(报告支持INFOTYPE)3、请求车辆信息请求消息(读取INFOTYPE值)4、请求车辆信息响应消息&…...
客户端与服务端之间的通信连接
目录 那什么是Socket? 什么是ServerSocket? 代码展示: 代码解析: 补充: 输入流(InputStream): 输出流(OutputStream): BufferedReader 是如何提高读取效率的&a…...
Font Awesome 图表图标
Font Awesome 图表图标 Font Awesome 是一个广泛使用的图标库,它提供了大量的图标,可以轻松地用于网页设计和开发中。在本文中,我们将重点介绍 Font Awesome 中的图表图标,探讨它们的特点、使用方法,并展示一些实际的…...
React Native 自定义 Hook 获取组件位置和大小
在 React Native 中自定义 Hook useLayout 获取 View、Pressable 等组件的位置和大小的信息 import {useState, useCallback} from react import {LayoutChangeEvent, LayoutRectangle} from react-nativeexport function useLayout() {const [layout, setLayout] useState&l…...
如何在SpringCloud中使用Kafka Streams实现实时数据处理
使用Kafka Streams在Spring Cloud中实现实时数据处理可以帮助我们构建可扩展、高性能的实时数据处理应用。Kafka Streams是一个基于Kafka的流处理库,它可以用来处理流式数据,进行流式计算和转换操作。 下面将介绍如何在Spring Cloud中使用Kafka Streams实…...
InterSystems IRIS使用python pyodbc连接 windows环境,odbc驱动安装,DSN配置,数据源配置
一、创建的数据库和数据 SELECT 1SELECT $ZVERSIONCREATE TABLE MyApp.Person ( ID INT PRIMARY KEY, Name VARCHAR(100) NOT NULL, Age INT, Gender CHAR(1) );CREATE TABLE MyApp.Person2 ( ID INT PRIMARY KEY, Name VARCHAR(100) NOT NULL, Age INT, Gender CHA…...
JVM:运行时数据区
文章目录 一、总览二、程序计数器1、介绍2、程序计数器在运行中会出现内存溢出吗? 三、栈1、介绍2、栈帧的组成部分(1)局部变量表(2)操作数栈(3)帧数据(3)栈内存溢出&…...
spring-boot2.x整合Kafka步骤
1.pom依赖添加 <properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</ma…...
信创学习笔记(四),信创之数据库DB思维导图
创作不易 只因热爱!! 热衷分享,一起成长! “你的鼓励就是我努力付出的动力” 一. 信创学习回顾 1.信创内容 信创内容思维导图 2.信创之CPU芯片架构 信创之CPU芯片架构思维导图 3.信创之操作系统OS 信创之操作系统OS思维导图 二. 信创之国产数据库DB思维导图 …...
SCP 使用教程
SCP(Secure Copy Protocol)是一种通过加密的方式在本地主机和远程主机之间安全地传输文件的协议。它是基于SSH协议的扩展,允许用户在不同主机之间进行文件复制和传输,是Linux和Unix系统中常用的工具之一。本教程将详细介绍SCP的基…...
python自动化之用flask校验接口token(把token作为参数)
用到的库:flask 实现效果: 写一个接口,需要token正确才能登录 代码: # 导包 from flask import Flask,request,jsonify,json # 创建一个服务 appFlask(__name__) # post请求,路径:/query app.route(/query, met…...
旗晟巡检机器人的应用场景有哪些?
巡检机器人作为现代科技的杰出成果,已广泛应用于各个关键场景。从危险的工业现场到至关重要的基础设施,它们的身影无处不在。它们以精准、高效、不知疲倦的特性,担当起保障生产、守护安全的重任,为行业发展注入新的活力。那么&…...
vue2迁移到vue3注意点
vue2迁移到vue3注意点 1、插槽的修改 使用 #default , 以及加上template 模板 2、 类型的定义,以及路由,vue相关资源(ref, reactive,watch)的引入等 3、类装饰器 1)vue-class-component是vue官方库,作…...
使用windows批量解压和布局ImageNet ISLVRC2012数据集
使用的系统是windows,找到的解压命令很多都linux系统中的,为了能在windows系统下使用,因此下载Git这个软件,在其中的Git Bash中使用以下命令,因为Git Bash集成了很多linux的命令,方便我们的使用。 ImageNe…...
css实现每个小盒子占32%,超出就换行
代码 <div class"visitors"><visitor class"item" v-for"(user,index) in userArr" :key"user.id" :user"user" :index"index"></visitor></div><style lang"scss" scoped&…...
C++的链接指示extern “C“
目录 链接指示extern "C"A.What(概念)B.Why(extern "C"的作用)C.How (如何使用链接指示extern "C") 链接指示extern “C” A.What(概念) extern&quo…...
私域运营 组织架构
**揭秘私域社群运营的神秘面纱:角色与职能一网打尽!** 在私域社群运营的大舞台上,每个角色都扮演着不可或缺的重要角色。今天,就让我们一起揭开这个神秘世界的面纱,看看这些角色们是如何协同作战,共同创造…...
Netty HTTP
Netty 是一个高性能的异步事件驱动的网络应用程序框架,支持快速开发可维护的高性能协议服务器和客户端。它广泛应用于开发网络应用程序,如服务器和客户端协议的实现。Netty 提供了对多种传输类型的抽象,如 TCP/IP 和 UDP/IP 等,使…...
什么是边缘计算技术和边缘计算平台?
随着物联网、5G技术和人工智能的不断发展,数据的规模和种类也在快速增加。在这种背景下,传统的云计算模式面临着一些问题,例如延迟高、网络拥塞等,这些问题限制了数据的处理速度和效率,降低了用户的使用体验。为了解决…...
自然语言处理(NLP)——法国工程师IMT联盟 期末考试题
1. 问题1 (法语)En langue arabe lcrasante majorit des mots sont forms par des combinaisons de racines et de schmes. Dans ce mcanisme... (英语)In Arabic language the vast majority(十之八九) of…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
问题: pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”,…...
