首页 > 其他分享 >UDS 诊断 - WriteDataByIdentifier(按标识符写数据)(0x2E)服务

UDS 诊断 - WriteDataByIdentifier(按标识符写数据)(0x2E)服务

时间:2024-08-27 13:57:27浏览次数:15  
标签:UDS 服务 DID 诊断 NRC 标识符 WriteDataByIdentifier 0x2E

UDS 诊断服务系列文章目录

诊断和通信管理功能单元
UDS 诊断 - DiagnosticSessionControl(诊断会话控制)(0x10)服务
UDS 诊断 - ECUReset(ECU重置)(0x11)服务
UDS 诊断 - SecurityAccess(安全访问)(0x27)服务
UDS 诊断 - CommunicationControl(通信控制)(0x28)服务
UDS 诊断 - TesterPresent(测试仪保活)(0x3E)服务
UDS 诊断 - AccessTimingParameter(访问计时参数)(0x83)服务
UDS 诊断 - SecuredDataTransmission(受保护的数据传输)(0x84)服务
UDS 诊断 - ControlDTCSetting(控制DTC设置)(0x85)服务
UDS 诊断 - ResponseOnEvent(基于事件响应)(0x86)服务
UDS 诊断 - LinkControl(链路控制)(0x87)服务
数据传输功能单元
UDS 诊断 - ReadDataByIdentifier(按标识符读取数据)(0x22)服务
UDS 诊断 - ReadMemoryByAddress(按地址读取内存)(0x23)服务
UDS 诊断 - ReadScalingDataByIdentifier(按标识符读取换算数据)(0x24)服务
UDS 诊断 - ReadDataByPeriodicIdentifier(按周期性标识符读取数据)(0x2A)服务
UDS 诊断 - DynamicallyDefineDataIdentifier(动态定义数据标识符)(0x2C)服务
UDS 诊断 - WriteDataByIdentifier(按标识符写数据)(0x2E)服务

文章目录


一、服务说明

0x2E 服务允许客户端向服务器中给定数据标识符指定的内部位置写入信息。

客户端使用 0x2E 服务向服务器写入一个 dataRecord(数据记录)。该数据由一个 DID 标识,且可能受保护也可能不受保护。

本服务中不得使用动态定义的 DID。在执行本服务时,车辆制造商须确保满足服务器条件。

本服务的可能用途用:

  • 将配置信息编入服务器中(如 VIN),
  • 清除非易失性存储器,
  • 重置所得值,
  • 设置选项内容。

服务器肯呢个限制或禁止特定 DID 值(如系统供应商 / 车辆制造商针对只读标识符所确定的值)的写入权限。

二、请求消息

1. 请求消息定义

字节参数名称字节值
#1 WriteDataByIdentifier(按标识符写数据)请求SID0x2E

#2
#3
dataIdentifier[] = [
byte#1(MSB)
byte#2 ]

0x00 - 0xFF
0x00 - 0xFF

#4
.
.
#m+3
dataRecord[] = [
data#1
.
.
data#m ]

0x00 - 0xFF
.
.
0x00 - 0xFF

2. 请求消息数据参数定义

定义
dataIdentifier(数据标识符)
本参数确定了客户端请求写入的服务器数据记录。
dataRecord(数据记录)
本参数提供了与客户端请求写入的 DID 相关的数据记录。

三、肯定响应消息

1. 肯定响应消息定义

字节参数名称字节值
#1WriteDataByIdentifier(按标识符写数据)响应SID0x6E

#2
#3
dataIdentifier[] = [
byte#1(MSB)
byte#2 ]

0x00 - 0xFF
0x00 - 0xFF

2. 肯定响应消息数据参数定义

定义
dataIdentifier(数据标识符)
此参数是请求消息中数据参数 dataIdentifier 的回显。

四、支持的NRC

NRC说明
0x13消息长度不正确或格式无效
0x22条件不正确
若因不满足服务器的运行条件而无法执行所需的操作,则应发送此 NRC。
0x31请求超过限值
以下情况下,应发送此 NRC:
— 请求消息中的所有 DID 在服务中不受支持或 DID 针对只读目的(通过 0x22 服务)受支持。
— 在 DID 后的请求消息中传输的任何数据是无效的。
0x33安全访问被拒绝
若引用了一个指定地址的 DID 是受保护的,并且服务器不处于解锁状态,则应发送此 NRC。
0x72一般编程故障
若在写入一个存储单元时服务器检测到错误,则应发送此 NRC。

下图为 0x2E 服务 NRC 的处理。
0x2E 服务 NRC 的处理

图例
1. 最小程度为 4 字节(SI + DID + DEEC)
2. 总长度为 1 字节(SI + 2 字节 DID + 第 n 个字节 DREC)

五、示例

1. 假设

本条规定了执行 0x2E 服务示例所需满足的条件。

本示例中的服务不受服务器任何限制条件的限制。本示例展示了通过一个两字节 DID 0xF190 进行 VIN 编程的过程。

2. 示例 1:写 DID 0xF190(VIN)

req   2E F1 90
	  57 30 4C 30 30 30 30 34 33 4D 42 35 34 31 33 32 36
	  -(dataRecor[ data#1 - data#17] = VIN digit = "W 0 L 0 0 0 0 4 3 M B 5 4 1 3 2 6)
		
resp  6E F1 90	

标签:UDS,服务,DID,诊断,NRC,标识符,WriteDataByIdentifier,0x2E
From: https://blog.csdn.net/weixin_45033239/article/details/141600732

相关文章

  • 电动汽车整车控制器 UDS诊断功能开发调试优化方法
    摘要:通过某电动汽车VCU开发过程中,UDS诊断功能的调试,发现一些测试中存在的问题,比如覆盖度不够、效率低下等,提出了相应的优化方法,并经过测试验证其可行性,此方法亦可推广应用至BMS、HCM等其他控制器的UDS诊断开发调试过程中。希望能给相关技术人员带来参考和帮助。一、UDS诊断功......
  • Infor CloudSuite软件二次开发:InforCloudSuite业务流程定制
    InforCloudSuite软件二次开发:InforCloudSuite业务流程定制InforCloudSuite简介InforCloudSuite平台概述InforCloudSuite是一个集成的企业资源规划(ERP)解决方案,专为特定行业设计,提供了一系列的云应用,旨在优化业务流程,提升运营效率。该平台融合了先进的技术,如人工智......
  • CANoe_UDS-boorloader 自动化测试系列(六)基本功能:CAPL实现bin文件数据解析
    CANoe_UDS-booroader自动化测试系列(一)创建一个CANoe测试工程(测试节点的选选择)CANoe_UDS-booroader自动化测试系列(二)基本刷写流程CANoe_UDS-booroader自动化测试系列(三)基本功能:CAPL实现UDS协议下的CAN报文接收#解析#发送CANoe_UDS-booroader自动化测试系列(四)基本功能:CAPL实......
  • AUTOSAR&UDS 理论要点及isolar实战-2F服务讲解及配置实战
    1.输入输出控制2F服务此服务服务用于代替ECU输入信号的值、电控单元内部参数或控制电子系统的输出值。举个例子:利用2F服务来实现简单的开关控制(转向灯,雨刮之类等)。报文格式:目前项目中主要是用到了00和03子服务,03: 在诊断模式中,请求该子ID的服务,会短暂控制输出,如上述:控制左......
  • AUTOSAR&UDS 理论要点及isolar实战-22服务讲解及配置实战(2)
    1.读取数据22服务此部分和22服务讲解及配置实战(1)中保持一致,有需要的小伙伴前往上一博客查看。2.配置实战2.1DcmDsdServiceTables的配置1.DcmDsdSidTabFnc:工具自带的回调函数,调用静态代码包中的服务函数2.DcmDsdSidTabServiceId为0x22,配置22服务;3.DcmDsdSidTabSub......
  • CANoe_UDS-boorloader 自动化测试系列(二)基本功能:CAPL实现UDS协议下的CAN报文接收#解析
    目录一、前言二、CAPL实现1、报文接收接收报文函数:2、报文发送发送报文函数:三、总结展望一、前言halle,大家好,我是小鸟鹏。上篇文章《CANoe_UDS-boorloader自动测试系列(二)基本刷写流程》简单介绍了整Bootloader的基本刷写流程,包括具体使用哪些服务实现哪些功能,对......
  • H7-TOOL新版固件2.26发布,增加20多款新系列芯片脱机烧录支持,CAN UDS解析,升级CAN助手,串
    H7-TOOL详细介绍(含操作手册):http://www.armbbs.cn/forum.php?mod=viewthread&tid=89934【PC软件】V2.261.PC软件取消自动检查版本,替换为手动按钮检查更新2.CAN助手  -支持时钟选择(20M40M80M),CANFD支持最高8M波特率(需支持8M的canPHY芯片)  -增加“J1939通用解......
  • AUTOSAR&UDS 理论要点及isolar实战-3E服务讲解及配置实战
    1.诊断设备在线3E服务此服务用于告知电控单元测试工具仍在线。该服务需周期性发送,用于重置S3server计时器并维持当前激活的非默认诊断会话。服务请求报文格式:相应格式:支持的否定响应码:2.配置实战2.1DcmDsdServiceTables的配置 3E服务的需求如下:支持3E服务及其......
  • UDS学习总结
    1UDS简介1.1什么是UDSUDS(UnifiedDiagnosticServices)统一诊断服务,是车辆诊断的一种应用层协议,面向整车所有ECU,UDS协议ISO14229定义了应用层和会话层,在协议里面定义了诊断的请求,诊断响应的报文格式,以及ECU怎样处理诊断请求报文,以及诊断服务的应用。它不关心底层数据链路......
  • 有奖征文|赢ROG游侠2键盘、小米耳机Buds5、小米手环9、瑞幸咖啡代金券
    填写活动报名表文章要求1、文章有清晰的逻辑和结构,包括不限于如:前言、背景、目标、解题思路、方案设计、技术架构、实现细节、核心代码、效果展示、示例展示、参考附录等部分内容。2、文章内容与征文主题相关,建议在文章结尾处列出文章中所涉及到的高德地图开放平台API参......