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

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...