博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
跟我学UDS(ISO14229) ———— 0x22(ReadDataByIdentifier)
阅读量:3934 次
发布时间:2019-05-23

本文共 740 字,大约阅读时间需要 2 分钟。

 客户端请求读取由提供的dataIdentifier标识的记录的当前值。该服务允许客户端从服务器请求由一个或多个 DID 标识的数据记录值。客户端请求消息包含一个或多个两字节的DID值,这些值标识服务器维护的数据记录。 dataRecord的格式和定义应特定于车辆制造商或系统供应商,并且如果服务器支持,则可以包括模拟输入和输出信号,数字输入和输出信号,内部数据和系统状态信息。

服务器可以限制车辆制造商和系统供应商所同意的可同时请求的DID的数量。 收到ReadDataByIdentifier请求后,服务器应访问DID参数指定的记录的数据元素,并在一个包含相关dataRecord参数的单个ReadDataByIdentifier肯定响应中传输其值。该请求消息可能包含多次使用相同的DID。服务器应将每个DID视为一个单独的参数,并根据请求的频率用每个DID的数据进行响应。换个理解就是,对于一次请求多个DID,响应必须要依次记录每一个DID的响应值。这里不在乎多个DID里面是否存在重复的现象,均需要被响应。

诊断请求格式

具体格式如下:

在这里插入图片描述
这里跟之前介绍的诊断和通信管理功能单元中的服务存在不一样的地方是,不存在 sub-function 的参数。至于允许多个 DID 是多少,这里需要主车厂/供应商定义,理论上是可以将所有支持的 DID 均通过一次请求全部读取。但是这样子不利于获取每一个 DID的数值,因为响应中是没有具体的分隔符来区分每一个 DID 的数值。所以一般都会定义每次请求最大的 DID 数。

正响应格式

具体的格式如下:

在这里插入图片描述

负响应NRC码

具体的NRC码如下:

在这里插入图片描述
这里对于 0x31 做出了详细的说明,如需测试 NRC 则应按照 ISO 中定义的方法去模拟。

转载地址:http://vxegn.baihongyu.com/

你可能感兴趣的文章
外部程序用process.start调用 其它exe文件时可以传入参数.
查看>>
动态 增加/删除 控件的关联事件
查看>>
Datagridview 相关
查看>>
一个带事务的Sql Server存储过程例子
查看>>
VS WinForm 中 父Datagridview嵌套子DatagridView
查看>>
Winform datagridview绑定数据源后,无法以 Rows.Insert方法插入新行
查看>>
Linq平行作業的例子
查看>>
Datagridview 綁定list注意事項(轉)
查看>>
DataGridView綁定數據相關
查看>>
合并兩個List,對方不存在相等的元素.則用null代替
查看>>
Linq GroupJoin(一)
查看>>
C#利用正则表达式获取特定格式的字串符
查看>>
C#将Excel文件中选择的内容,复制粘贴到 winform datagridview
查看>>
SQL 判断当前数据库是否存在某个表/临时表
查看>>
SQL列出数据库表的结构
查看>>
關于Enumerable distinct 的學習筆記
查看>>
使用Invoke,BeginInvoke 在多线程中更新UI主线程的元素
查看>>
關于 parallel.ForEach,parallel.ForAll 操作共享變量,寫入數據庫表的一個小測試
查看>>
一个使用delegate委托进行资料查询过滤的例子
查看>>
C# Task.Delay()和Thread.Sleep()的區別
查看>>