10、数据传输功能单元

系列文章目录

9、诊断和通信管理功能单元(1-5)
9、诊断和通信管理功能单元(6-10)

10.1概述

表141定义了数据传输功能单元。

表141 -数据传输功能单元

在这里插入图片描述

10.2 ReadDataByIdentifier (0x22)服务

10.2.1服务描述


  ReadDataByIdentifier服务允许客户端从服务器请求由一个或多个数据标识符标识的数据记录值。
  客户端请求消息包含一个或多个两字节的dataIdentifier值,用于标识由服务器维护的数据记录(有关允许的dataIdentifier值,请参阅C.1)。数据记录的格式和定义应是特定于车辆制造商或系统供应商的,并且可以包括模拟输入和输出信号、数字输入和输出信号、内部数据和服务器支持的系统状态信息。
  服务器可以根据车辆制造商和系统供应商的协议,限制可以同时请求的数据标识符的数量。
  在接收到一个ReadDataByIdentifier请求后,服务器应该访问由dataIdentifier参数指定的记录的数据元素,并在一个包含相关dataRecord参数的ReadDataByIdentifier正面响应中传输它们的值。请求消息可以多次包含相同的dataIdentifier。服务器应将每个dataIdentifier视为单独的参数,并根据请求频繁地响应每个dataIdentifier的数据。
  重要提示——服务器和客户端应满足7.5中规定的请求和响应消息行为。

10.2.2请求消息

10.2.2.1请求消息定义

表142定义了请求消息。

表142 -请求消息定义

在这里插入图片描述

10.2.2.2请求消息子函数参数$Level (LEV_)定义

此服务不使用子函数参数。

10.2.2.3请求消息数据参数定义

表143定义了请求消息的数据参数。
表143 -请求消息数据-参数定义

定义
dataIdentifier (#1 to #m)
该参数标识客户端正在请求的服务器数据记录(参见C.1了解详细的参数定义)。

10.2.3肯定响应消息

10.2.3.1肯定响应消息定义

表144定义了肯定响应消息。

在这里插入图片描述

10.2.3.2肯定响应消息数据参数定义

表145定义了肯定响应消息的数据参数。

表145 -响应消息数据-参数定义
定义
dataIdentifier (#1 to #m)
该参数是来自请求消息的数据参数dataIdentifier的回显。
dataRecord (#1 to #k/o)
ReadDataByIdentifier正面响应消息使用此参数向客户端提供所请求的数据记录值。dataRecord的内容没有在本文档中定义,并且是特定于汽车制造商的。

10.2.4支持的否定响应码(NRC_)

本服务应执行以下否定响应代码。表146中记录了每个响应代码发生的情况。如果错误场景适用于服务器,则应使用列出的否定响应。
在这里插入图片描述
计算序列如图15所示。
在这里插入图片描述
关键
1、最小长度为3字节(SI + DID)
2 、 最大长度为1字节(SI) + 2*n字节(DID(s))

图15 - NRC对ReadDataByIdentifier服务的处理

10.2.5消息流示例ReadDataByIdentifier

假设


  此子句指定了示例执行ReadDataByIdentifier服务所需满足的条件。客户端可以在任何时候请求与服务器状态无关的dataIdentifier数据。
  下面的dataIdentifier示例特定于动力总成设备(例如,发动机控制模块)。请参阅ISO°15031-2[6]了解有关排放相关系统的公认术语/定义/首字母缩写的更多详细信息。
  第一个示例读取单个2字节的dataIdentifier,其中包含一条信息(其中dataIdentifier 0xF190包含VIN号)。
  第二个示例演示了用单个请求请求多个dataIdentifier(其中dataIdentifier 0x010A包含发动机冷却液温度、油门位置、发动机转速、歧管绝对压力、质量空气流量、车速传感器、气压、计算负载值、怠速空气控制和油门踏板位置,dataIdentifier 0x0110包含电池正电压)。

10.2.5.2示例#1:read single dataIdentifier 0xF190 (VIN number)


  表147定义了ReadDataByIdentifier请求消息流示例#1。

表147 - ReadDataByIdentifier请求消息流示例#1

在这里插入图片描述
表148定义了ReadDataByIdentifier正面响应消息流示例#1。

表148 - ReadDataByIdentifier正面响应消息流示例#1

在这里插入图片描述
在这里插入图片描述

10.2.5.3示例#2:读取多个数据标识符0x010A和0x0110

表149定义了ReadDataByIdentifier请求消息流示例#2。

表149 - ReadDataByIdentifier请求消息流示例#2

在这里插入图片描述
表150定义了ReadDataByIdentifier肯定响应消息流示例#2。

在这里插入图片描述

10.7 WriteDataByIdentifier (0x2E)服务

10.7.1服务描述


  WriteDataByIdentifier服务允许客户端在提供的数据标识符指定的内部位置将信息写入服务器。
客户端使用WriteDataByIdentifier服务将数据记录写入服务器。数据由数据标识符标识,可能是安全的,也可能不是。
  动态定义的数据标识符不能用于此服务。在执行此服务时,满足服务器条件是车辆制造商的责任。此服务的可能用途有:
  ——编程配置信息到服务器(如:VIN号);
  ——清除非易失性内存;
  ——重置学到的值;
  ——设置选项内容。
  注意:服务器可以限制或禁止对某些数据标识符值的写访问(由系统供应商/车辆制造商为只读标识符等定义)。
  重要提示——服务器和客户端应满足7.5中规定的请求和响应消息行为。

10.7.2请求消息

10.7.2.1请求消息定义

表231定义了请求消息。
在这里插入图片描述

10.7.2.2请求消息子函数参数$Level (LEV_)的定义

此服务不使用子函数参数。

10.7.2.3请求消息数据参数定义

表232定义了请求消息的数据参数。

表232 -请求消息数据-参数定义
Definition
dataIdentifier
该参数标识客户端请求写入的服务器数据记录(详细参数定义参见C.1)。
dataRecord
此参数提供与客户端请求写入的dataIdentifier相关联的数据记录。

10.7.3肯定响应消息

10.7.3.1肯定响应消息定义

表233定义了肯定响应消息。

表233 -肯定响应消息定义

在这里插入图片描述

10.7.3.2肯定响应消息数据参数定义

表234定义了肯定响应消息的数据参数。
定义
dataIdentifier
该参数是来自请求消息的数据参数dataIdentifier的回显。

10.7.4支持的否定响应码(NRC_)


  本服务应执行以下否定响应代码。表235记录了每个响应代码发生的情况。如果错误场景适用于服务器,则应使用列出的否定响应。

表235 -支持的否定响应代码

在这里插入图片描述

计算序列如图21所示。
在这里插入图片描述
关键
1最小长度为4字节(SI + DID + DREC)
2总长度为1字节(SI + 2字节DID +第n字节DREC)

图21 - NRC对WriteDataByIdentifier服务的处理

10.7.5消息流示例WriteDataByIdentifier

10.7.5.1假设

-
  此子句指定了示例执行WriteDataByIdentifier服务所需满足的条件。
  本例中的服务不受服务器的任何限制。这个例子演示了通过两个字节的数据标识符0xF190进行VIN编程。

10.7.5.2示例#1:write dataIdentifier 0xF190 (VIN)

表236定义了WriteDataByIdentifier请求消息流示例#1。

表236 - WriteDataByIdentifier请求消息流示例#1

在这里插入图片描述
表237定义了WriteDataByIdentifier肯定响应消息流示例#1。

表237 - WriteDataByIdentifier肯定响应消息流示例#1

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值