文章目录

  • 一、服务概述
  • 二、报文
    • 1.请求报文定义
    • 2.肯定响应
    • 3.否定码
    • 4.举例

一、服务概述

Client端使用Routine Control服务来执行定义的步骤序列并获取特定序列的相关结果。该服务有极大的灵活性。Service31的典型用途可以包括擦除内存、重置定义的数据、覆盖正常服务控制策略以及控制ECU值随时间变化的功能。

通过Service31可以启动特定序列、停止运行该特定序列、请求运行结果。该服务以往常用于ECU在做Software Update时,应用于检查刷写条件是否满足、传输数据完整性以及独立性检测。

二、报文

1.请求报文定义


第二个字节定义如下:

第3、4字节routineIdentifier表示指定的程序ID;这些特定的程序信息一般由车厂规定释放;一般会在诊断调查表中体现。比如针对ECU的升级,一般需要指定以下几个特定的程序功能(具体ID由车厂规定):

程序名 程序名
CheckProgrammingPreconditions(编程条件检查) 该程序用于对ECU升级条件(如车速信息等)的判断,在ECU的BootLoader与APP程序中一般都要有该程序功能的定义。一般用于进入编程会话之前
CheckAppSwAppDataValidity(检查数据的有效性,如CRC校验) CheckAppSwAppDataValidity(检查数据的有效性,如CRC校验)
CheckAppSwAppDataValidity(检查数据的有效性,如CRC校验) 用于对此次升级要用到的内存空间进行擦除操作。一般用于请求APP数据下载(34服务)之前
用于对此次升级要用到的内存空间进行擦除操作。一般用于请求APP数据下载(34服务)之前 用于对此次升级要用到的内存空间进行擦除操作。一般用于请求APP数据下载(34服务)之前

常用系列
Service 31 01:开始执行Routine DID对应的例程;

Service 31 02:停止运行Routine DID对应的例程;

Service 31 03:请求Routine DID对应的例程运行结果

2.肯定响应


其中,routineStatusRecord是可选参数,用于在执行相应程序动作后,返回ECU相关的信息(如请求31 02服务请求停止时ECU可以通过该参数返回该程序总运行时间等信息);可根据实际需要进行使用;一般较少用到。

3.否定码

4.举例

发送:31 01 AC 05
回复:71 01 AC 05 00

UDS之浅谈31服务相关推荐

  1. UDS之浅谈10服务

    一.服务概述 DiagnosticSessionControl(诊断会话控制)服务用于启用服务器中的不同诊断会话. 服务说明: ① 服务器中应该始终只有一个有效诊断会话 ② 服务器上电时应始终启动默认 ...

  2. UDS之浅谈11服务

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

  3. UDS之浅谈14 服务

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

  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. 浅谈微服务基建的逻辑

    2019独角兽企业重金招聘Python工程师标准>>> 起点 首先,我们得有一个"服务".根据定义,我们可以把每个服务实例都视作一个黑盒.这个盒子有着明确的输入点 ...

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

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

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

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

最新文章

  1. 修改after样式_理解:Before和:After伪元素
  2. 巨鲸任务调度平台:spark flink任务调度
  3. springcloudstream+rabbitmq+eureka进行消息发送和接收实例代码
  4. IntelliJ IDEA 学习笔记
  5. cad2006安装未找到html文件,启动 AutoCAD 时显示“加载自定义文件失败。未找到文件”...
  6. OrCAD PSpice添加Spice模型——Cadence 17.4
  7. 微软雅黑有版权,UI设计有哪些免费的字体?
  8. 小川用的Ubuntu软件和库
  9. 高数教材班复习Hint(3.1-3.6)
  10. 杂题 P1640 [SCOI2010]连续攻击游戏
  11. 百度地图API位置偏移的校准算法
  12. Android 11 : 隐私和安全
  13. flea-db使用之SQL模板接入
  14. unzip解压部分代码
  15. SpiceyPy-内核与时间尺度转换
  16. 微信公众号排查“该公众号提供的服务出现故障,请稍后再试”问题
  17. BAT机器学习面试1000道
  18. 提问的智慧 - 艾瑞克.史蒂文.雷蒙德(Eric Steven Raymond)
  19. 什么是Java的灵魂?了解JVM的结构模型,生命周期,Java王朝虚拟机的更替,各家大厂虚拟机百花齐放
  20. 金属射流、门罗效应和密室杀人

热门文章

  1. 什么是主从复制?mysql主从复制?redis主从复制?
  2. visual stdio 2015社区版、专业版的下载
  3. realsense d435i标定imu与camera
  4. 欧姆龙SYSMAC STUDIO如何与基恩士DL-EP1进行EIP通信
  5. 20210630个人复盘
  6. Linux(Ubuntu16.04)自学笔记,资源整理
  7. 天文基础浏览-盖亚计划
  8. atom使用技巧及必备插件及主题
  9. 怎么样让别人访问我的计算机,局域网内怎么让别人访问我的电脑
  10. html 一键复制 ios,h5实现一键复制到粘贴板-兼容ios