一.服务概述

DiagnosticSessionControl(诊断会话控制)服务用于启用服务器中的不同诊断会话。
服务说明:
① 服务器中应该始终只有一个有效诊断会话
② 服务器上电时应始终启动默认会话
该服务是在服务器端使能不同的会话模式,而诊断会话模式在服务器中用于启用一组特定的服务或者功能(e.g.刷写)。可以通过会话模式赋予不同诊断服务的执行权限。

2.会话之间转换反应图

1 默认会话:服务器处于默认会话状态时,若客户要求重新启动默认会话,则服务器应该完全重启初始化默认会话(非易失性存储器除外)
2 其他会话:服务器从默认会话跳转到其它会话时,服务器应停止在默认会话期间通过RespineOnEvent(基于事件 响应)(0x86)服务在服务器中进行配置的事件(eg.停止基本事件响应)
3 其他会话间的跳转:其它相同或不同会话之间切换,服务器应重新初始化——
i. 停止基本事件响应
ii. 重新锁定安全性

默认会话与非默认会话期间允许的服务

二.报文

1.请求报文定义

① Sub-Function定义:


③数据参数定义:本服务不支持请求消息中数据参数

2.肯定响应

*
通过Service10可以报告诊断会话有效的数据链路层特定的参数值(e.g.时间参数值P2/P2*)
例子详解:在UDS协议定义Service时,定义了时间参数P2/P2**

      发送10 01回复50 01 00 32 01 F4 5计算得出:P2=50ms(00 32)P2*=5000ms(01 F4 扩大10倍)

3.支持的NRC

0x12: 不受支持的子功能
0x13: 消息长度不正确或格式不正确

4.消息流示例

编程会话
P2=50ms
P2*=5000ms
发送请求:10 02
肯定响应:50 02 00 32 51 f4 00

三.CDD数据库编辑

一般在官方模板中会给出常用的三种会话(01、02、03),如图:

模板中会根据官方相关协议要求做好了一些基础设置:
如图(默认会话参数配置):

1.10 01相关CDD相关配置

①肯定响应参数配置:

P2和P2Ex均为时间参数(P2、P2*)

②否定响应码

③进行寻址方式、会话间转换,安全等级配置等一系列配置

i.寻址方式配置

ii下面详细介绍一些禁止肯定响应位该如何配置(以10 01 支持肯定响应位为例)
(1)10 01

进入10 01详细信息界面


iii 会话状态配置


iii安全访问配置


编程会话和扩展会话相关CDD内容配置同默认会话
iii下面是10 01、10 02、10 03三个会话配置完成的图形化界面
(Graphviz地址:https://download.csdn.net/download/LOVE135149/44148763)

细节小图(一般情况下的跳转):
默认会话->默认会话,默认会话->扩展会话
编程会话->编程会话,编程会话->默认会话
扩展会话->扩展会话,扩展会话->编程会话,扩展会话->默认会话
(所有的默认会话都可直接跳到默认会话,扩展会话可以随意任何会话跳转)
具体情况视具体项目而定

四.手动测试

将制作好的CDD文件导入到CANoe软件中
具体操作步骤:
① 在CANoe工程”Stop”的状态下,点击工具栏”Diagnostics”下的“Diagnostic ISO TP”

②导入CDD文件
③选择CAN协议

④修改CAN ID

⑤在诊断控制台中运行加载完成的CDD

⑥诊断控制台界面介绍

⑦利用诊断控制台发送报文

⑧以10 01默认会话为例,测试默认会话跳转
(默认会话->默认会话,默认会话不可直接跳转到编程会话,默认会话->扩展会话)
i 默认会话->默认会话(预期结果:肯定响应,实际结果:肯定响应)

ii 默认会话->编程会话(预期结果:否定响应,实际结果:否定响应)

iii 默认会话->扩展会话(预期结果:肯定响应,实际结果:肯定响应)

UDS之浅谈10服务相关推荐

  1. UDS之浅谈11服务

    一.服务概述 ECUReset(ECU重置),ECU作为Server端,执行Client发送来ECU Reset请求中重启的类型(通过子服务区分).对于UDS协议关于处理该请求的逻辑,没有强制性定义: ...

  2. UDS之浅谈14 服务

    文章目录 一.服务概述 二.报文 1.请求报文定义 2.肯定响应 3.否定响应码 4.报文讲解 4.1格式及内容 4.2举例 一.服务概述 14服务用于清除存储的故障诊断信息 二.报文 1.请求报文定 ...

  3. UDS之浅谈31服务

    文章目录 一.服务概述 二.报文 1.请求报文定义 2.肯定响应 3.否定码 4.举例 一.服务概述 Client端使用Routine Control服务来执行定义的步骤序列并获取特定序列的相关结果. ...

  4. UDS之浅谈27服务

    一.服务概述 SecurityAccess(安全访问),Service 27提供一种访问数据或者诊断服务的方法,只有通过Seed-key解锁环节才可以执行特定服务和功能. 该服务提供了一种保护机制,该 ...

  5. 浅谈surging服务引擎中的rabbitmq组件和容器化部署

    1.前言 上个星期完成了surging 的0.9.0.1 更新工作,此版本通过nuget下载引擎组件,下载后,无需通过代码build集成,引擎会通过Sidecar模式自动扫描装配异构组件来构建服务引擎 ...

  6. 浅谈微服务的来龙去脉

    作者:王清培(Plen wang) 沪江 公共业务平台 应用架构师 转载至沪江技术学院微信公众号 背景介绍 最近一段时间公共业务平台在进行大面积的重构,对原来的技术栈进行迁移,逐渐往Java.Go.N ...

  7. 浅谈微服务体系中的分层设计和领域划分

    1.摘要 本文阐述了一种将分层设计和DDD领域设计应用于微服务体系架构的方案实践,也是个人的最佳实践.对于互联网公司来说,我们主张将其Web服务架构分为五层:基础设施层.领域服务层.应用服务层.网关层 ...

  8. (未完待续)浅谈微服务以及 常用中间件( zookeeper redis rabbitmq)

    传统的单体框架,已经不满足目前公司战略规划要求,近几年"微服务" 这个字眼,出现的越来越频繁,虽然有过一年多微服务项目经验,也很难把微服务解释清楚,到底何为微服务? Martin ...

  9. 浅谈:服务架构进化论

    1.原始分布式时代 一直以来,我可能和大多数的人认知一样,认为我们的服务架构的源头是单体架构,其实不然,早在单体系统盛行之前,我们的前辈们就已经探索过使用多个独立的分布式服务共同完成一个大型的系统的实 ...

最新文章

  1. 微信小程序模块化开发 include与模板开发 template
  2. HTTP 499 状态码 nginx下 499错误
  3. UITextField 键盘
  4. springboot项目打包部署服务器
  5. mysql 入门命令
  6. 检测虚拟机代码总汇(更新中)
  7. STM32F1笔记(十一)ADC
  8. 绝对干货!纯用HTML+CSS+JS 编写的计算器应用
  9. 使用谷歌语音识别打造语音管家HiVoice
  10. 网络爬虫--抓取图片
  11. iOS之网络数据下载和JSON解析
  12. scala 辅助构造函数_Scala辅助构造函数的深入介绍
  13. Nutch1.2二次开发详细攻略(二)【图文】------Windows平台下Nutch1.2的搭建
  14. 软件系统介绍文档模板
  15. python代码怎么变成软件_python程序变成软件的实操方法
  16. html设置桌面背景win7,怎么让电脑桌面背景动起来 win7设置动态背景桌面的方法...
  17. UEFI Protocol使用
  18. php匹配ubb,UBB类 php UBB 解析实现代码
  19. html的ul和li元素
  20. 网关支付、、快捷支付、银行卡支付等网上常见支付方式接口说明

热门文章

  1. SQL Server中如何给主键添加主键约束
  2. 怎么确保数据在网络传输的安全性?
  3. JS一键复制粘贴功能
  4. 计算机程序员求职信英语作文,英文程序员求职信
  5. sparksql 大小写_Spark SQL函数
  6. 汽车企业数字化转型成熟度评估模型研究
  7. Django接口文档的生成
  8. Here you go 干的好
  9. Adaptive Server Anywhere 数据库配置ODBC数据源
  10. 顽石互动创始人吴刚:走高品质的发展道路