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…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...

实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...
SQL进阶之旅 Day 22:批处理与游标优化
【SQL进阶之旅 Day 22】批处理与游标优化 文章简述(300字左右) 在数据库开发中,面对大量数据的处理任务时,单条SQL语句往往无法满足性能需求。本篇文章聚焦“批处理与游标优化”,深入探讨如何通过批量操作和游标技术提…...