1.服务简介
WriteDataByIdentifier服务允许客户端在由所提供的数据标识符指定的内部位置将信息写入服务器。
客户端使用WriteDataByIdentifier服务向服务器写入数据记录。数据由dataIdentifier标识,可能是安全的,也可能不是安全的。
动态定义的数据标识不得与此服务一起使用。车辆制造商有责任在执行此服务时满足服务器条件。此服务的可能用途包括:
a. 将配置信息编程到服务器中(例如VIN号)
b. 清除非易失性存储器
c. 重置学习值
d. 设置选项内容
注:服务器可能会限制或禁止对某些数据标识符值的写入访问(由系统供应商/车辆制造商针对只读标识符等定义)。
2.请求消息
2.1 请求消息定义
2.2 请求消息子功能参数$Level(LEV_)定义
此服务不使用子函数参数。
2.3 请求消息数据参数定义
dataIdentifier
此参数标识客户端请求写入的服务器数据记录(有关详细的参数定义,请参见UDS关于DID数据传输功能单元数据参数定义章节)。
dataRecord
此参数提供与客户端请求写入的dataIdentifier相关联的数据记录。
3.肯定响应消息
3.1肯定响应消息定义
3.2肯定响应消息数据参数定义
定义肯定响应消息的数据参数。
dataIdentifier
此参数是请求消息中数据参数dataIdentifier的应答。
4.支持的否定响应代码(NRC_)
该服务应执行以下否定响应代码。下表中记录了每个响应代码发生的情况。如果错误场景适用于服务器,则应使用列出的否定响应。
NRC代码 | 代名词 | 描述 |
0x13 | 消息长度不正确或格式无效 | 如果信息长度错误,则应发送此NRC。 |
0x22 | 条件不正确 | 如果服务器的操作条件不满足,则应发送该NRC以执行所需的操作。 |
0x31 | 请求超出范围 | 如果出现以下情况,则应发送本NRC: a.服务器不支持请求消息中的dataIdentifier,或者支持dataIdentifier用于只读目的(通过ReadDataByIdentifier服务) b.dataIdentifier之后请求消息中传输的任何数据无效(如果适用于节点) |
0x33 | 安全访问被拒绝 | 如果引用特定地址的数据标识符是安全的,并且服务器未处于解锁状态,则应发送该NRC。 |
0x72 | 常规编程失败 | 如果服务器在写入内存位置时检测到错误,则应返回此NRC |
5.例子
假设
本子条款规定了执行WriteDataByIdentifierservice的示例需要满足的条件。
本例中的服务不受服务器的任何限制。此示例演示了通过两字节数据标识符0xF190进行VIN编程。
示例#1:写入数据标识符0xF190(VIN)
定义了WriteDataByIdentifier肯定响应消息流示例#1。