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…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
aardio 自动识别验证码输入
技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...
数据分析六部曲?
引言 上一章我们说到了数据分析六部曲,何谓六部曲呢? 其实啊,数据分析没那么难,只要掌握了下面这六个步骤,也就是数据分析六部曲,就算你是个啥都不懂的小白,也能慢慢上手做数据分析啦。 第一…...
