程序控制(ISO14229系列之31服务)
程序控制(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服务)相关推荐
- 安全访问(ISO14229系列之27服务)
安全访问(ISO14229系列之27服务) 1.27服务概述 2.请求种子 3.发送密钥 1.27服务概述 27服务通过采用种子与密钥的方式为ECU提供了一种保护机制:通过sub-function划分 ...
- shell 获取命令执行结果_java高并发系列 第31天:获取线程执行结果,这6种方法你都知道?...
这是java高并发系列第31篇. 环境:jdk1.8. java高并发系列已经学了不少东西了,本篇文章,我们用前面学的知识来实现一个需求: 在一个线程中需要获取其他线程的执行结果,能想到几种方式?各有 ...
- UDS诊断系列介绍13-31服务
本文框架 1. 系列介绍 1.1 31服务概述 2. 31服务请求与应答 2.1 31服务请求 2.2 31服务正响应 2.3 31服务否定响应 3. Autosar系列文章快速链接 1. 系列介绍 ...
- UDS之浅谈31服务
文章目录 一.服务概述 二.报文 1.请求报文定义 2.肯定响应 3.否定码 4.举例 一.服务概述 Client端使用Routine Control服务来执行定义的步骤序列并获取特定序列的相关结果. ...
- STM32 基础系列教程 31 – DAC
前言 学习stm32 DAC数模转换接口使用,学会用STM32 的DAC接口,通过DAC接口将数字信号转变成模拟信号输出,或查看内部变量值的变化波形,学习DAC波形发生器的使用. 示例详解 基于硬件平 ...
- iPhone Development Blog系列: 如何制作服务条例窗口
iPhone Development Blog系列: 如何制作服务条例窗口 最近一直关注iPhone Development Blog上面的文章,学习的同时尝试通过翻译和整理同大家一起分享! 假设你想 ...
- SpringCloud系列研究---Eureka服务消费Feign
转载自:https://www.cnblogs.com/chxuyuan/p/8358998.html SpringCloud系列研究---Eureka服务消费Feign 一.Feign简介 Feig ...
- 【Android 教程系列第 31 篇】通过 adb install 命令安装 apk 时提示 signatures do not match previously installed version
这是[Android 教程系列第 31 篇],如果觉得有用的话,欢迎关注专栏. 遇到的一个小问题,做下记录. 一:问题描述 在使用 adb install 命令安装 apk 时,提示的内容如下 主要提 ...
- php手游服务端开发教程,【手游服务端】梦想海贼王 卡牌系列一键端服务端游戏源码+教程...
[手游服务端]梦想海贼王 卡牌系列一键端服务端游戏源码+教程 游戏介绍: <梦想海贼王>是一款卡牌类手游,游戏以全球第一超人气动漫<海贼王>为题材,用Q版风格配合新奇多样的玩法 ...
最新文章
- kuka机器人焊接飞溅大_机器人专用三维焊接平台低温现象得到解决
- smb服务器配置过程遇到错误及解决
- ECharts - 气泡图
- SpringCloud Feign实战(二)
- SpringBoot-07:SpringBoot整合PageHelper做多条件分页查询
- SQL Server 数据库文件管理
- 信息学奥赛C++语言: 素数个数
- 计算机房安全等级标准,电子计算机房的分级标准
- Linux中zsh插件,ubuntu / zsh shell / oh-my-zsh / 常用插件
- javaweb之mysql数据库
- Bootstrap 列偏移\列嵌套\列排序
- Lua介绍极其在C#项目中的应用
- 小乌龟SVN合并分支到主干、合并主干到分支,工具操作
- ImageJ使用手册介绍
- 首都师范 博弈论 5 4 4 多人合作博弈问题 Shapley计算之财产分配问题
- 钽电容正负极_钽电容是什么?怎么区分正负极?
- android前置拍照镜像代码,在Android中镜像前置摄像头
- php u8t canonical,php – configure:error:utf8_mime2text()具有新的签名,但U8T_CANONICAL缺少...
- [硬核教程]如何解决电脑假死问题——适用于调用GPU有声音,无画面的情况。
- 传奇人物《周兴和》书连载30 成功背后的陷阱
热门文章
- Django 中间件(middleware)的工作原理和应用场景举例
- AI常用框架和工具丨11. 基于TensorFlow(Keras)+Flask部署MNIST手写数字识别至本地web
- 陕西农民挖地基,竟然挖出2700年前的青铜家谱!专家:这是中国第一盘
- 港联证券|东财暴拉14%,更有牛股13天翻倍!牛市旗手全线沸腾
- 《Adobe Photoshop大师班:经典作品与完美技巧赏析》—Jaclyn Corrado
- Photoshop基础教程:运用笔刷给漂亮MM画睫毛
- 崮德好文连载 - 活该你是工程师(方法比决心重要)
- 中国十大知名调查研究咨询公司助力国家软实力
- Java用xyz组成真数_【吏隐】的意思是什么?【吏隐】是什么意思?
- linux连接小米路由器ssh,小米路由器配置ssh登入方法