【CANdelaStudio编辑CDD】-4.2-给$2E服务WriteDataByIdentifier创建一个DID(dataIdentifier)数据标识符(UDS诊断)

本文介绍如何在CANdelaStudio中为$2E WriteDataByIdentifier服务创建并配置DID(dataIdentifier),详细阐述了创建Data Types、定义DID、指定服务、设置Session和SecurityAccess的步骤。

案例背景:(共9页精讲

在《【CANdelaStudio编辑CDD】-3.2-给$22服务ReadDataByIdentifier创建一个带一个Data的DID(dataIdentifier)数据标识符》和《【CANdelaStudio编辑CDD】-3.3-给$22服务ReadDataByIdentifier创建一个带多个Data的DID(dataIdentifier)数据标识符》中,我们掌握了为一个DID(dataIdentifier)数据标识符指定$22服务,下面讲讲在CANdela Studio编辑诊断描述CDD文件为一个DID(dataIdentifier)数据标识符指定$2E服务

目录

1 创建一个Data Types

2 创建一个DID(dataIdentifier)数据标识符

3 为DID(dataIdentifier)数据标识符指定$2E Service服务

4 为DID(dataIdentifier)数据标识符指定Session和SecurityAccess

5 结尾


前一篇:

<think>好的,我需要回答用户关于ISO-14229标准中2E服务DID只读情况下应返回哪个NRC的问题。首先,用户提到参考的站内引用是关于0x2E服务的否定应答码处理,但明确指出需要根据之前的对话和回答来处理。 回顾之前的对话,用户询问的是ISO 15765-2的相关技术细节,而当前问题转向了ISO-14229,也就是UDS(统一诊断服务)。虽然两者相关,但属于不同协议层。需要明确ISO-14229中2E服务WriteDataByIdentifier)的处理规范。 根据ISO-14229标准,当DID数据标识符)仅支持读取(通过0x22服务)而不支持写入(0x2E服务)时,应返回特定的NRC(否定响应码)。根据标准文档,常见的NRC包括0x13(不正确的消息长度或格式)、0x22(条件不满足)、0x31(请求超出范围)等。但针对DID不可写的情况,正确的NRC应该是0x31,因为该代码用于指示请求的记录或数据标识符不存在或不可用。不过需要确认具体标准中的定义。 查阅ISO-14229-1标准,第9部分详细说明了各个服务的NRC。对于0x2E服务,当DID存在但不可写入时,正确的NRC是0x31(requestOutOfRange)。此外,如果DID不存在,同样返回0x31。因此,当DID存在但为只读时,服务器应返回NRC 0x31。需要确认是否有其他可能的代码,比如0x22(conditionsNotCorrect),但通常在权限或条件不满足时使用,例如安全状态未解锁,而不是DID本身的属性。因此,正确的回答应该是NRC 0x31。</think>根据$ISO\ 14229\text{-}1$UDS)规范,当使用**0x2E服务**(WriteDataByIdentifier)尝试写入仅支持读取的DID数据标识符)时,应返回以下否定响应码: ### **NRC 0x31(requestOutOfRange)** 1. **触发条件** - DID存在但未被设计为可写入(即仅支持通过0x22服务读取) - DID在ECU内存映射中不存在[^1] 2. **协议层逻辑** - ECU收到0x2E请求后,首先验证DID是否存在于其支持的列表中 -DID存在但访问权限为只读,则拒绝写入并返回NRC 0x31 -DID不存在,同样触发NRC 0x31 3. **与其他NRC的区分** - 若因安全状态未解锁导致无法写入(如需先通过0x27服务认证),则返回**NRC 0x33(securityAccessDenied)** -DID格式错误(如长度不符),则返回**NRC 0x13(incorrectMessageLengthOrInvalidFormat)** ### **典型交互示例** ``` 客户端请求 -> 2E [DID=0xF120] [数据...] 服务端响应 <- 7F 2E 31 // NRC 0x31 ``` ### **扩展说明** DID的读写权限通常在ECU诊断需求规范(如$ODX$$CDD$文件)中预先定义。对于**混合型DID**(部分数据域可写),协议要求通过**动态参数检查**实现更细粒度的控制,此时可能返回**NRC 0x22(conditionsNotCorrect)**而非0x31。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车电子助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值