跟我学UDS(ISO14229) ———— 0x2A(ReadDataByPeriodicIdentifier)
客户端请求调度服务器中的数据以进行定期传输。该服务允许客户端从服务器请求由一个或多个 PeriodicDataIdentifiers 标识的数据记录值的定期传输。dataRecord 的格式和定义应特定于车辆制造商,并且如果服务器支持,则可以包括模拟输入和输出信号,数字输入和输出信号,内部数据和系统状态信息。在收到除 stopSending 以外的 ReadDataByPeriodicIdentifier 请求时,服务器应检查条件是否正确以执行服务。如果条件正确,则服务器应发送肯定的响应消息,仅包括服务标识符。一旦服务器通过肯定的响应接受了初始请求消息,服务器将永远不会发送否定的响应消息。 在服务进程中,periodicDataIdentifier 仅支持单个 transmissionMode。如需将 transmissionMode 参数设置为同一 periodicDataIdentifier 的新时间表,则应在接收到请求消息时更改 periodicDataIdentifier 的时间表。如果需要支持不同的 periodicDataIdentifier 的多个时间表则需要满足车辆制造商的要求。
在获取到肯定响应消息(initial positive response)之后,对于包含相关 dataRecord 参数的每个 periodicDataIdentifier,服务器应访问其指定的记录数据元素,并在单独的服务肯定响应消息中传输其值。ISO 14229 中定义了两种类型的周期性数据响应消息,方便在初始肯定响应消息之后将 periodicDataIdentifier 数据传输到客户端。
⎯类型1:包括服务标识,periodicDataIdentifier 的回显和 periodicDataIdentifier 的数据;
⎯类型2:包括 periodicDataIdentifier 和 periodicDataIdentifier 的数据。
引申出另外一个定义:Periodic Rate —— 该服务调度的相同periodicDataIdentifier的任何两个连续响应消息之间的时间。适用于已定义的周期性速率(transmissionMode参数)的特定值及其公差是特定于车辆制造商的。
一旦接收到一个包括 stopSending 的 诊断请求,服务器将停止请求消息中包含的 periodicDataIdentifier 的周期性发送,或者如果请求消息中未指定特定的任何一个,则停止所有 periodicDataIdentifier 的发送。 对此transmissionMode 的响应消息仅包含服务标识符。如车辆制造商和系统供应商所同意的,服务器可以限制可以同时支持的 periodicDataIdentifier 的数量。 超过可以同时支持的 periodicDataIdentifiers 的最大数量,将导致单个否定响应,并且该请求中的 periodicDataIdentifiers 都不应执行。 不允许在单个请求消息中重复相同的 periodicDataIdentifier,并且如果客户端违反此规则,服务器将忽略第一个 periodicDataIdentifiers 以外的periodicDataIdentifiers 。
诊断请求格式
具体的格式如下:
该服务没有 sub-function 参数。对于参数 periodicDataIdentifier 的解释如下:
如果 transmissionMode 等于 sendAtSlowRate,sendAtMediumRate 或 sendAtFastRate,则它必须存在于请求消息中。
如果 transmissionMode 等于 stopSending,则可以不存在 periodicDataIdentifier 来停止所有调度的 periodicDataIdentifier,或者客户端可以显式指定一个或多个要停止的 periodicDataIdentifier。
对于参数transmissionMode的值请从下表查询:
transmissionMode parameter definitions | ||
---|---|---|
Hex | Name | Description |
00 | ISOSAEReserved | ISO 保留,未定义 |
01 | sendAtSlowRate |
慢速传输请求的 dataRecord 信息 主车厂定义 slow 的值 |
02 | sendAtMediumRate |
中速传输请求的 dataRecord 信息 主车厂定义 medium 的值 |
03 | sendAtFastRate |
快速传输请求的 dataRecord 信息 主车厂定义 fast 的值 |
04 | stopSending | 停止发送定期/重复发送的肯定响应消息 |
05 | ISOSAEReserved | ISO 保留,未定义 |
... | ||
FF |
正响应格式
Initial Positive Response具体格式如下:
初始肯定响应消息指示服务器接受服务,随后的肯定响应消息才包括periodicDataIdentifier数据。
前面介绍的 Type 1 的具体格式如下:
前面介绍的 Type 2 的具体格式如下:
负响应NRC码
具体的 NRC 码如下:
跟我学UDS(ISO14229) ———— 0x2A(ReadDataByPeriodicIdentifier)相关推荐
- 跟我学UDS(ISO14229) ———— 0x19 服务参数介绍
相关链接:跟我学UDS(ISO14229) ---- 0x19(ReadDTCInformation) 目录 DTCStatusMask 工作状态 bit 作用说明 切换逻辑 DTCExtendedD ...
- 跟我学UDS(ISO14229) ———— 0x11(ECUReset)
0x11(ECUReset)服务的主要作用是使用ECUReset服务来请求服务器重置.该服务根据嵌入在ECUReset请求消息中的resetType参数值的内容,请求服务器有效地执行服务器重置. 在服 ...
- 跟我学UDS(ISO14229) ———— 0x2C(DynamicallyDefineDataIdentifier)
客户端请求动态定义数据标识符,这些数据标识符随后可以由 0x22(ReadDataByIdentifier) 服务读取.该服务的目的是为客户端提供将一个或多个数据元素分组为数据超集的功能,可以通过 ...
- 跟我学UDS(ISO14229) ———— 0x10(DiagnosticSessionControl)
文章目录 前言 为什么需要有不同的诊断会话模式呢? 诊断请求发送 发送格式 诊断响应 正响应格式 负响应格式 前言 在UDS协议中,我们首先接触到的是诊断和通信管理功能单元(Diagnostic an ...
- 跟我学UDS(ISO14229) ———— 0x14(ClearDiagnosticInformation)
该服务允许客户端从服务器清除诊断信息(包括 DTC,捕获的数据等).完全处理该服务后,服务器应发送肯定响应.即使没有存储任何DTC,服务器也应发送肯定的响应. 如果服务器支持内存中 DTC 状态信 ...
- 跟我学UDS(ISO14229) ———— NRC码
在ISO 14229 中,负响应代码范围可以划分为3个范围: 0x00: 服务器内部实现的 positiveResponse 参数值: 0x01 ~ 0x7F:与通信相关的否定响应代 ...
- 跟我学UDS(ISO14229) ———— 0x3E(TesterPresent)
该服务用于向一个或多个服务器指示客户端仍连接到车辆,并且先前已激活的某些诊断服务和/或通信将保持活动状态.按照我的理解就是,当你进入到某一个模式(非DefaultSession/安全解锁)下,你需要发 ...
- UDS——ISO14229
目录 一.前言 二.诊断服务标识符 三.服务响应执行规则 四.诊断流程 五.定时参数 六.诊断和通信管理功能 七.数据传输功能 八.故障信息功能 九.示例 一.前言 诊断服务按类划分为6个功能单元,包 ...
- 汽车诊断之UDS入门-UDS概述
最近工作中涉及ECU刷写部分,作为一个没有接触过汽车诊断的小白,开始了边学边做的历程,对UDS做一个学习总结和复盘,希望可以帮助到各位小伙伴们. 应用层协议 UDS (Unified Diagnost ...
最新文章
- iOS Block实现探究
- centos 安装 svn
- java中的compareTo函数
- eclipse远程调试失败
- VTK:Utilities之Vector
- 在Windows下搭QT编程环境
- Winform 打包 混淆 自动更新
- R语言之MYSQL数据库获取及输出
- Redis调用及使用
- 小程序FMP优化实录,大厂面试题汇总
- git 2015-5-26
- 做一个完整的Java Web项目需要掌握的技能[转]
- iOS数据持久化-OC
- Wannafly挑战赛28A(模拟,题意文字游戏)
- Linux 常用快捷键大全
- 学那么多东西有屁用,不如先建立自己的知识体系
- mysql count sending data_mysql查询sending data占用大量时间的问题处理
- Redis Master/Salve Replication(主从复制模式)
- 车内看车头正不正技巧_坡道定点停车和起步技巧详解,助你100%过关
- python经典小游戏贪吃蛇_Python开发贪吃蛇小游戏