客户端请求调度服务器中的数据以进行定期传输。该服务允许客户端从服务器请求由一个或多个 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 码如下: