中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

搜索附件  
汽车工程师之家 附件中心 结构原理专业知识特区 『汽车控制器VCU/BMS/MCU/域控』 UDS统一诊断服务【八】通过DID读取数据0X22服务w2.jpg

UDS统一诊断服务【八】通过DID读取数据0X22服务w2.jpg

 

UDS统一诊断服务【八】通过DID读取数据0X22服务:
今天分享的内容是UDS诊断通过DID读取数据0X22服务介绍,希望能对你有所帮助

一、读数据服务介绍

DID:Data Identifier 数据标识符,简单理解就是个编号,用来标识要读取的是什么内容,比如,你要读取软件版本号,硬件版本号,那发送的DID就不一样了。0X22服务的主要功能就是通过DID读取数据,可以请求一个DID的数据,也可以请求多个,其数量限制也由汽车厂商和供应商来约定。请求的DID数量,只要不超过数量限制即可,服务端在回复的时候要包含所有数据,也就是有多少个DID请求,就要回复多少个DID对应的数据,即使多个DID里面有重复的,响应的时候也要当成是两个单独的DID请求。
二、数据格式

1,请求报文

请求报文的格式简单,[SID] + [DID] 即可,SID后面至少跟一个DID,需要注意的是,之前的服务都是有sub-function的,这个服务是没有的



2,响应报文

响应报文格式:[SID + 0X40] + [DID] + [DataRecord] ……+ [DID] + [DataRecord]

这里需要注意的是,看是单个DID请求还是多个DID请求,有多少个DID请求,回复的时候就需要回复多少个 [DID] + [DataRecord]



3,否定响应

0X13:请求的消息长度不正确,或格式错误

0X14:响应的消息太长了

0X22:条件不正确,就是不满足服务daunt的运行条件

0X31:不支持当前请求的DID

0X33:没过安全访问,需要先执行27服务解密后,才能执行22服务



三、举例子

单个DID请求



回复



多个DID请求的例子



回复



最后,如果觉得有帮助,希望你能点个关注,一键三连,感激不尽

好的,下面是针对该帖子的专业回复:<br><br>关于UDS统一诊断服务中的DID读取数据服务,其关键在于数据标识符(DID)。通过发送特定的DID,可以请求获取相应的数据内容,如软件版本、硬件状态等。服务0X22允许通过DID读取数据,可以单个请求,也可批量请求,具体数量受限于汽车厂商和供应商的规定。服务端在回应时,必须包含所有请求的数据,确保数据的完整性和准确性。这一服务在故障诊断、监控及车辆性能分析等领域应用广泛。在实际操作中,需严格按照UDS规范进行,确保通信的效率和数据的可靠性。希望以上介绍能对你深入了解UDS诊断及DID读取数据服务有所帮助。<br><br>若对UDS诊断服务有其他疑问或需要深入了解,欢迎继续交流探讨。
UDS统一诊断服务【八】通过DID读取数据0X22服务w2.jpg
         同一主题附件:
    UDS统一诊断服务【八】通过DID读取数据0X22服务w1.jpg
    UDS统一诊断服务【八】通过DID读取数据0X22服务w2.jpg
    UDS统一诊断服务【八】通过DID读取数据0X22服务w3.jpg
    UDS统一诊断服务【八】通过DID读取数据0X22服务w4.jpg
    UDS统一诊断服务【八】通过DID读取数据0X22服务w5.jpg
    UDS统一诊断服务【八】通过DID读取数据0X22服务w6.jpg
    UDS统一诊断服务【八】通过DID读取数据0X22服务w7.jpg

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 28-8-2025 05:08 , Processed in 0.247462 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.