【ISO 14229 -1 标准】学习笔记 例行程式功能单元(Routine functional uint)

ISO 14229 -1 例行程式功能单元(Routine functional uint)学习笔记

概述

RoutineControl:上位机请求启动或停止ECU中的例程,或请求例程结果。
本功能单元规定了远程激活例程的服务,这些服务应在ECU和上位机中实现。以下子条款描述了两种不同的实现方法(方法 "A "和 “B”)。可能还有其他实现方法。方法 "A "和 "B "应作为例行服务的实施指南。
注意:每种方法都可能具有在例行程序停止后请求例行程序结果服务的功能。方法的选择和实施由车辆制造商和系统供应商负责。

例行服务的实施指南

方法A
  • 这种方法基于这样一个假设,即上位机启动ECU内存中的例程后,上位机应负责停止该例程。
  • ECU例程应在启动例程的 “例程控制”(RoutineControl)请求报文完成与第一个响应报文完成(如果根据ECU条件为 “正响应”)之间的一段时间内在ECU内存中启动。
  • ECU例程应在 StopRoutine 请求报文和第一个响应报文(如果根据ECU条件为 “正响应”)完成后的一段时间内在ECU内存中停止。
  • 上位机可以在例程停止后请求例程结果。
方法B
  • 此方法基于这样的假设,即在上位机在ECU的内存中启动了一个例程后,ECU将负责停止该例程。
  • ECU例程应在启动例程的 “例程控制”(RoutineControl)请求报文完成与第一个响应报文完成(如果根据ECU条件为 “正响应”)之间的一段时间内在ECU内存中启动。
  • ECU例程应在ECU内存中被编程或之前初始化时随时停止。

RoutineControl(0x31)Service 例程控制(0x31)服务

服务描述

上位机使用 RoutineControl 服务来执行一连串定义好的步骤并获取相关结果。该服务具有很大的灵活性,但典型的用法可能包括擦除内存、重置或学习自适应数据、运行自检、覆盖正常ECU控制策略、控制ECU值随时间变化(包括预定义序列,如关闭敞篷车顶)等功能。一般来说,当用于控制输出时,该服务适用于更复杂的类型控制。
而 inputOutputControlByIdentifier 则用于相对简单(如静态)的输出控制。

概述

例程控制服务被上位机用于:

  • 启动Routine
  • 停止Routine和
  • 请求Routine结果
    一个Routine由一个2字节的routineID引用。
    以下子条款指定了由 routineIdentifier 引用的启动例程、停止例程和请求例程结果。
启动由 routineIdentifier 引用的例程

如果响应消息是肯定的或否定的,则应在 StartRoutine 请求消息完成和第一个响应消息完成之间的某个时间在ECU内存中启动例程,表明请求已执行或正在执行。
这些Routine可以是代替正常运行代码运行的测试,也可以是在正常运行代码运行时启用和执行的例程。特别是在第一种情况下,可能需要使用 DiagnosticSessionControl 服务在特定诊断会话中切换ECU,或者在使用 StartRoutine 服务之前使用 SecurityAccess 服务解锁ECU。

通过RoutineId停止例程

ECU例程应在 StopRoutine(停止例程)请求报文和第一个响应报文(如果响应报文为正或负,则表示停止例程的请求已执行或正在执行)完成后的一段时间内在服务器内存中停止。
注意:Ecu的Routine应在ECU的内存在programmed内的时间或预初始化的时候被停止。

通过RoutineID请求routine结果

上位机使用该子功能请求由 routineIdentifier 引用的、在ECU内存中执行的例程生成的结果(如退出状态信息)。
根据在 stopRoutine 子功能参数的正响应信息中收到的例程结果(如正常/异常退出结果),应使用 requestRoutineResults 子功能。
例程结果的一个例子是ECU收集的数据,由于ECU性能限制,这些数据无法在例程执行期间传输。

请求消息

请求消息定义

在这里插入图片描述

请求消息子功能参数定义

在这里插入图片描述

请求消息数据参数定义
  • routineIdentifier:此参数标识ECU本地例程,且超出了已定义的数据标识符的范围。
  • routineControlOptionRecord:此参数记录包含其中任何一个
  • 例程输入选项参数,可选地指定例程的启动条件(例如时间运行、启动更新变量等),或
  • 例程退出选项参数,可选择指定例程的停止条件(例如,例程停止前的过期时间、变量等)。

正响应消息

正响应消息定义

在这里插入图片描述
RoutineInfo 字节指定了一个方案(如 StartRoutine、StopRoutine、RequestRoutineResults),以便通用外部测试设备处理任何例程。对于例程状态记录由 ISO/SAE 规范(如 ISO 27145-3、SAE J1979-DA、ISO 26021)定义的任何例程,即使例程状态记录的 ISO/SAE 定义大小等于 "0 "数据字节,也必须使用该参数。对于例行状态记录完全由汽车制造商定义的例行程序,对该参数的支持是可选的。该字节的定义应留给车辆制造商。
RoutineStatusByte #m 只有在车辆制造商为例行程序标识符(RID)指定的情况下才包含在 routineStatusRecord[] 中。

正响应消息数据参数定义

routineControlType:该参数是请求信息中子功能参数第 6 - 0 位的回声。
routineIdentifier:该参数是请求信息中 routineIdentifier 的回声。
routineInfo:RoutineInfo 字节编码是车辆制造商专用的,它为车辆制造商提供了一种机制,使其能够根据该返回值支持通用外部测试设备处理所有已执行例程(例如,如果需要停止例程或请求例程结果)。
routineStatusRecord:此参数记录用于给上位机:
例行程序启动后ECU状态的附加信息,
或例行程序停止后ECU状态的附加信息(如总运行时间、例行程序停止前产生的结果等),
或之前在ECU中停止的例行程序的结果(退出状态信息)。

负响应代码Nrc

在这里插入图片描述

NRC回复序列

在这里插入图片描述

【例子】RoutineControl消息流程

例子1:子功能 - startRoutine

本子条款规定了测试条件,以启动ECU中的例程,在技术人员 "晃动 "被测系统的所有线束连接器时,以间歇方式连续(尽可能快地)测试所有输入和输出信号。例程标识符通过例程标识符 0x0201 引用该例程。
测试条件:点火 = 开,发动机 = 关,车速 = 0 [kph] 。
客户机通过将 suppressPosRspMsgIndicationBit(子功能参数第 7 位)设置为 “FALSE”(“0”)来请求响应信息。
在这里插入图片描述
在这里插入图片描述

例子2:子功能:stopRoutine

本子条款规定了停止ECU中例行程序的测试条件,该例行程序在技术人员 "晃动 "被测系统的所有线束连接器时,以间歇方式连续(尽可能快地)测试所有输入和输出信号。例程标识符通过例程标识符 0x0201 引用该例程。
测试条件:点火 = 开,发动机 = 关,车速 = 0 [kph] 。
上位机通过将suppressPosRspMsgIndicationBit(子函数参数的第7位)设置为“false”(“0”)来请求有一个响应消息。
在这里插入图片描述

例子3:子功能 - requestRoutineResults

本例说明了如何在例程结束后检索结果值。当技术人员在被测系统的所有线束连接器上 "晃动 "时,该例程已连续测试(尽可能快地)所有输入和输出间歇信号。引用此例程的例程标识符为 0x0201。
测试条件:点火 = 开,发动机 = 关,车速 = 0 [kph]。
通过将 suppressPosRspMsgIndicationBit(子功能参数的第 7 位)设置为 “FALSE”(“0”),客户请求获得响应信息。
在这里插入图片描述

例子4:子功能 - startRoutine with routineControlOption

本子条款规定了启动变速器控制单元例行程序的测试条件,以便在特殊模式下校准某个档位的换档。档位可以是从 1 号到 20 号的任何档位,模式可以是工作台模式、独立模式和车内模式。例程标识符通过例程标识符 0x0202 引用该例程。
测试条件:点火 = 开,发动机 = 关,车速 = 0 [kph]。
上位机通过将suppressPosRspMsgIndicationBit(子函数参数的第7位)设置为“false”(“0”)来请求有一个响应消息。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值