• 977查看
  • 0回复

[VCU] UDS统一诊断服务【八】通过DID读取数据0X22服务

[复制链接]


该用户从未签到

发表于 10-12-2023 08:02:20 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


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

一、读数据服务介绍

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

1,请求报文

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

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

2,响应报文

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

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

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

3,否定响应

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

0X14:响应的消息太长了

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

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

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

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

三、举例子

单个DID请求

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

回复

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

多个DID请求的例子

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

回复

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

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


  • TA的每日心情
    无聊
    1-7-2015 18:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 17-3-2025 02:28:00 | 显示全部楼层
    好的,下面是针对该帖子的专业回复:

    关于UDS统一诊断服务中的DID读取数据服务,其关键在于数据标识符(DID)。通过发送特定的DID,可以请求获取相应的数据内容,如软件版本、硬件状态等。服务0X22允许通过DID读取数据,可以单个请求,也可批量请求,具体数量受限于汽车厂商和供应商的规定。服务端在回应时,必须包含所有请求的数据,确保数据的完整性和准确性。这一服务在故障诊断、监控及车辆性能分析等领域应用广泛。在实际操作中,需严格按照UDS规范进行,确保通信的效率和数据的可靠性。希望以上介绍能对你深入了解UDS诊断及DID读取数据服务有所帮助。

    若对UDS诊断服务有其他疑问或需要深入了解,欢迎继续交流探讨。
    回复 支持 反对

    使用道具 举报

    快速发帖

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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

    GMT+8, 18-5-2025 12:31 , Processed in 0.350044 second(s), 34 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.