程序控制(ISO14229系列之31服务)

  • 1、请求格式
  • 2、肯定响应格式

1、请求格式

RoutineControl (31服务) ,用于对主机厂定义的一些特定程序的控制操作(启动程序、停止程序、请求运行结果)。关于31服务的请求格式如下:

        (1)、第2个字节routineControlType用于指定对程序的操作动作,其可选项如下(一般用得比较多的是01子服务):

  • 01:startRoutine(启动程序);
  • 02:stopRoutine(停止程序);
  • 03:requestRoutineResults(请求程序的运行结果)

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

程序名 功能描述
CheckProgrammingPreconditions(编程条件检查 该程序用于对ECU升级条件(如车速信息等)的判断,在ECU的BootLoader与APP程序中一般都要有该程序功能的定义。一般用于进入编程会话之前
CheckAppSwAppDataValidity(检查数据的有效性,如CRC校验 一般用于对升级数据中的每个块信息的CRC校验;ECU会将接收到的数据进行CRC计算,并与诊断仪计算发送过来的CRC进行比对;确保数据的准确性
EraseFlashMemory(擦除Flash内存 用于对此次升级要用到的内存空间进行擦除操作。一般用于请求APP数据下载(34服务)之前
CheckProgrammingDependency(编程兼容性的检查 用于升级完成后对升级信息的兼容性检查例如对升级文件产品型号的检查,必要的逻辑块是否存在的检查等操作。一般用于完成所有数据的升级之后

(3)、之后的数据代表可选记录参数routineControlOptionRecord;一般用于携带其他信息,如程序的启动条件、停止条件等;可根据实际需要进行使用;一般比较少用到

2、肯定响应格式

ECU在收到对应的程序动作请求后,返回的肯定响应格式如下:

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

程序控制(ISO14229系列之31服务)相关推荐

  1. 安全访问(ISO14229系列之27服务)

    安全访问(ISO14229系列之27服务) 1.27服务概述 2.请求种子 3.发送密钥 1.27服务概述 27服务通过采用种子与密钥的方式为ECU提供了一种保护机制:通过sub-function划分 ...

  2. shell 获取命令执行结果_java高并发系列 第31天:获取线程执行结果,这6种方法你都知道?...

    这是java高并发系列第31篇. 环境:jdk1.8. java高并发系列已经学了不少东西了,本篇文章,我们用前面学的知识来实现一个需求: 在一个线程中需要获取其他线程的执行结果,能想到几种方式?各有 ...

  3. UDS诊断系列介绍13-31服务

    本文框架 1. 系列介绍 1.1 31服务概述 2. 31服务请求与应答 2.1 31服务请求 2.2 31服务正响应 2.3 31服务否定响应 3. Autosar系列文章快速链接 1. 系列介绍 ...

  4. UDS之浅谈31服务

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

  5. STM32 基础系列教程 31 – DAC

    前言 学习stm32 DAC数模转换接口使用,学会用STM32 的DAC接口,通过DAC接口将数字信号转变成模拟信号输出,或查看内部变量值的变化波形,学习DAC波形发生器的使用. 示例详解 基于硬件平 ...

  6. iPhone Development Blog系列: 如何制作服务条例窗口

    iPhone Development Blog系列: 如何制作服务条例窗口 最近一直关注iPhone Development Blog上面的文章,学习的同时尝试通过翻译和整理同大家一起分享! 假设你想 ...

  7. SpringCloud系列研究---Eureka服务消费Feign

    转载自:https://www.cnblogs.com/chxuyuan/p/8358998.html SpringCloud系列研究---Eureka服务消费Feign 一.Feign简介 Feig ...

  8. 【Android 教程系列第 31 篇】通过 adb install 命令安装 apk 时提示 signatures do not match previously installed version

    这是[Android 教程系列第 31 篇],如果觉得有用的话,欢迎关注专栏. 遇到的一个小问题,做下记录. 一:问题描述 在使用 adb install 命令安装 apk 时,提示的内容如下 主要提 ...

  9. php手游服务端开发教程,【手游服务端】梦想海贼王 卡牌系列一键端服务端游戏源码+教程...

    [手游服务端]梦想海贼王 卡牌系列一键端服务端游戏源码+教程 游戏介绍: <梦想海贼王>是一款卡牌类手游,游戏以全球第一超人气动漫<海贼王>为题材,用Q版风格配合新奇多样的玩法 ...

最新文章

  1. kuka机器人焊接飞溅大_机器人专用三维焊接平台低温现象得到解决
  2. smb服务器配置过程遇到错误及解决
  3. ECharts - 气泡图
  4. SpringCloud Feign实战(二)
  5. SpringBoot-07:SpringBoot整合PageHelper做多条件分页查询
  6. SQL Server 数据库文件管理
  7. 信息学奥赛C++语言: 素数个数
  8. 计算机房安全等级标准,电子计算机房的分级标准
  9. Linux中zsh插件,ubuntu / zsh shell / oh-my-zsh / 常用插件
  10. javaweb之mysql数据库
  11. Bootstrap 列偏移\列嵌套\列排序
  12. Lua介绍极其在C#项目中的应用
  13. 小乌龟SVN合并分支到主干、合并主干到分支,工具操作
  14. ImageJ使用手册介绍
  15. 首都师范 博弈论 5 4 4 多人合作博弈问题 Shapley计算之财产分配问题
  16. 钽电容正负极_钽电容是什么?怎么区分正负极?
  17. android前置拍照镜像代码,在Android中镜像前置摄像头
  18. php u8t canonical,php – configure:error:utf8_mime2text()具有新的签名,但U8T_CANONICAL缺少...
  19. [硬核教程]如何解决电脑假死问题——适用于调用GPU有声音,无画面的情况。
  20. 传奇人物《周兴和》书连载30 成功背后的陷阱

热门文章

  1. Django 中间件(middleware)的工作原理和应用场景举例
  2. AI常用框架和工具丨11. 基于TensorFlow(Keras)+Flask部署MNIST手写数字识别至本地web
  3. 陕西农民挖地基,竟然挖出2700年前的青铜家谱!专家:这是中国第一盘
  4. 港联证券|东财暴拉14%,更有牛股13天翻倍!牛市旗手全线沸腾
  5. 《Adobe Photoshop大师班:经典作品与完美技巧赏析》—Jaclyn Corrado
  6. Photoshop基础教程:运用笔刷给漂亮MM画睫毛
  7. 崮德好文连载 - 活该你是工程师(方法比决心重要)
  8. 中国十大知名调查研究咨询公司助力国家软实力
  9. Java用xyz组成真数_【吏隐】的意思是什么?【吏隐】是什么意思?
  10. linux连接小米路由器ssh,小米路由器配置ssh登入方法