【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十八节】


ISO 14229-1:2023 UDS诊断服务测试用例全解析(ResponseOnEvent_0x86服务)

作者:车端域控测试工程师
更新日期:2025年02月14日
关键词:UDS协议、0x86服务、事件响应、ISO 14229-1:2023、ECU测试


一、服务功能概述
0x86服务(ResponseOnEvent)用于配置ECU在特定事件触发时自动发送预定义响应,支持启动(0x00)、停止(0x01)、读取状态(0x02)三种操作模式。根据ISO 14229-1:2023 §7.5.5要求,完整24项测试用例如下:


二、完整测试用例清单(24项)

用例ID测试场景验证要点参考条款预期结果
TC8601配置DTC触发响应(0x86 0x00 EventType=0x01)当DTC 0x0123激活时发送0x19 0x02响应§7.5.5.2.1返回0xC6,DTC触发时自动上报
TC8602停止事件响应(0x86 0x01 0x0001)终止已配置的事件响应通道§7.5.5.2.2返回0xC6,停止事件监控
TC8603读取事件状态(0x86 0x02)查询当前活动的事件配置列表§7.5.5.2.3返回0xC6 + 配置详情
TC8604无效子功能检测发送非法子功能(如0x86 0x03)§7.5.5.3.1返回NRC=0x12(子功能不支持)
TC8605默认会话权限验证在默认会话下配置事件响应§7.5.5.3.2返回NRC=0x7E(服务不支持)
TC8606安全访问未授权操作未解锁安全权限时配置高敏感事件§7.5.5.3.3返回NRC=0x33(安全拒绝)
TC8607无效事件类型处理指定未定义事件类型(如EventType=0xFF)§7.5.5.3.4返回NRC=0x31(请求越界)
TC8608参数范围越界设置超限阈值(如转速阈值0xFFFF)§7.5.5.3.5返回NRC=0x31(请求越界)
TC8609报文长度错误处理参数长度不足(如0x86 0x00 0x01)§7.5.5.3.6返回NRC=0x13(长度错误)
TC8610并发事件冲突检测同时配置互斥事件(如DTC与信号阈值)§7.5.5.3.7返回NRC=0x22(条件不满足)
TC8611事件响应超时验证配置周期响应后停止续订§7.5.5.4.1超时后停止发送响应
TC8612功能寻址广播配置通过0x7DF地址配置事件响应§7.5.5.5仅目标ECU激活配置
TC8613跨会话状态维持验证扩展会话配置事件后切换至编程会话§7.5.5.6事件配置保持有效
TC8614物理层错误恢复测试总线故障时事件响应可靠性OEM规范事件恢复后正常触发
TC8615生产模式限制验证产线下禁止配置非必要事件OEM规范返回NRC=0x22(条件不满足)
TC8616高频率事件压力测试配置1ms周期触发的事件响应Annex F.3.2总线负载不超过70%
TC8617事件优先级验证同时触发多个事件时的响应顺序§7.5.5.7按优先级降序发送响应
TC8618断电持久性验证配置事件后ECU断电重启§7.5.5.4.2事件配置重置为默认
TC8619无效事件ID处理停止未配置的事件(0x86 0x01 0x9999)§7.5.5.3.8返回NRC=0x24(顺序错误)
TC8620混合响应类型验证配置立即响应与周期响应的组合§7.5.5.8各类型响应独立触发
TC8621大数据块响应验证事件触发时发送超过8KB数据§7.5.5.3.9返回NRC=0x14(报文过长)
TC8622信号阈值触发精度设定模拟量阈值(如电压>13.5V)§7.5.5.9实际触发误差±0.05V以内
TC8623诊断报文碰撞测试事件响应与主动诊断请求同时发送OEM规范无报文丢失或冲突
TC8624多事件协同触发验证配置DTC与信号组合触发条件§7.5.5.10满足AND/OR逻辑时正确响应

三、关键测试场景详解

  1. TC8616 高频率事件压力测试
  • 测试步骤:
    1. 配置周期1ms的事件响应:86 00 03 0001 00000001 02
    2. 持续触发事件(如信号波动)
    3. 监测总线负载率及ECU资源占用
  • 验证要点:
    • 总线负载率≤70%(CAN FD标准)
    • ECU CPU占用率≤90%
  1. TC8624 多事件协同触发验证
  • 测试流程:
    1. 配置组合事件:86 00 04 0002 [DID=0x0110] > 0x50 AND [DTC=0x0123]
    2. 分别触发单个条件及组合条件
  • 校验规则:
    • 仅当油门开度>80%且DTC激活时发送响应
    • 逻辑运算符(AND/OR)解析正确

四、测试执行建议

  1. 工具链配置
// CAPL脚本示例:事件响应监控 
variables {message 0x7E0 diagResp;msTimer eventMonitor;
}on diagResponse 0x86 {if (this.req.subfunc == 0x00) {setTimer(eventMonitor, 100);  // 启动事件监控 }
}on timer eventMonitor {// 模拟事件触发条件(如改变信号值)@sysVar::EngineSpeed = 3000;
}
  1. NRC覆盖矩阵
NRC关联用例触发条件
0x12TC8604非法子功能参数
0x13TC8609报文长度错误
0x14TC8621大数据块超限
0x22TC8615生产模式限制
0x24TC8619无效事件ID操作
0x31TC8607/TC8608无效事件类型/参数越界
0x33TC8606安全访问未授权
0x7ETC8605会话模式不匹配

五、特殊测试场景

  1. 多事件优先级控制
ECU Tester 事件A响应(优先级1) 事件B响应(优先级2) 事件A优先发送 ECU Tester
  1. 生产模式行为验证
测试项标准要求验证方法
事件配置锁止仅允许读取尝试配置DTC触发事件
响应频率限制≤1Hz配置高频事件并监测总线

说明:本测试用例集覆盖ISO 14229-1:2023 §7.5.5全部条款,并通过Vector CANoe 15.0+验证。

系列目标

系列目标:后续准备增加基于UDS诊断测试的自动化测试脚本的开发,有兴趣的朋友可以持续关注,另外请点赞、收藏 ,你们的关注是作者更新下去的动力!~~
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉完结🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/70291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

deepseek多列数据对比,联想到excel的高级筛选功能

目录 1 业务背景 ​2 deepseek提示词输入 ​3 联想分析 4 EXCEL高级搜索 1 业务背景 系统上线的时候经常会遇到一个问题,系统导入的数据和线下的EXCEL数据是否一致,如果不一致,如何快速找到差异值,原来脑海第一反应就是使用公…

TailwindCss的vue3安装使用

按照官网的安装教程,属性最后无法生效,这是自我改良版,添加了额外步骤,但是每次引入新的tailwindcss属性 需要重新跑一次项目 npm下载tailwindcss npm install -D tailwindcss npx初始化tailwind配置 npx tailwindcss init 此时根…

个人博客测试报告

一、项目背景 个人博客系统采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,同时将其部署到云服务器上。前端主要有四个页面构成:登录页、列表页、详情页以及编辑页,以上模拟实现了最简单的个人博客系统。其结合后…

Python----数据结构(单链表:节点,是否为空,长度,遍历,添加,删除,查找)

一、链表 链表是一种线性数据结构,由一系列按特定顺序排列的节点组成,这些节点通过指针相互连接。每个节点包含两部分:元素和指向下一个节点的指针。其中,最简单的形式是单向链表,每个节点含有一个信息域和一个指针域&…

夜莺监控发布 v8.beta5 版本,优化 UI,新增接口认证方式便于鉴权

以防读者不了解夜莺,开头先做个介绍: 夜莺监控,英文名字 Nightingale,是一款侧重告警的监控类开源项目。类似 Grafana 的数据源集成方式,夜莺也是对接多种既有的数据源,不过 Grafana 侧重在可视化&#xff…

什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量数据库? 怎么使用

什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量数据库? 怎么使用 目录 什么是Embedding、RAG、Function calling、Prompt engineering、Langchain、向量数据库? 怎么使用Embedding(嵌入)RAG(检索增强生成)Function calling(函数调用)Pr…

SQLMesh 系列教程5- 详解SQL模型

本文将详细介绍 SQLMesh 的 SQL 模型组成要素及其在实际项目中的应用。SQLMesh 是一个强大的数据工程工具,其 SQL 模型由 MODEL DDL、预处理语句、主查询、后处理语句以及可选的 ON VIRTUAL UPDATE 语句组成。我们将通过一个电商平台每日销售报告的实例,…

DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入)

前言 在当今数字化时代,AI编程助手已成为提升开发效率的利器。DeepSeek作为一款强大的AI模型,凭借其出色的性能和开源免费的优势,成为许多开发者的首选。今天,就让我们一起探索如何将DeepSeek接入PyCharm,实现高效、智…

从驾驶员到智能驾驶:汽车智能化进程中的控制与仿真技术

在汽车技术持续演进的历程中,人类驾驶员始终是一个极具研究价值的智能控制系统“原型”。驾驶员通过视觉感知、行为决策与操作执行的闭环控制,将复杂的驾驶任务转化为车辆的实际动作,同时动态适应道路环境的变化。这一过程不仅体现了高度的自…

Spring Boot项目的基本设计步骤和相关要点介绍

以下是一个关于Spring Boot项目的基本设计步骤和相关要点介绍,我们以一个简单的示例应用——员工管理系统为例进行说明: 一、项目概述 员工管理系统旨在实现对公司员工信息的有效管理,包括员工基本信息录入、查询、更新以及删除等功能。通过Spring Boot框架来快速搭建后端…

【Java】泛型与集合篇(一)

泛型与集合(一) 泛型泛型的核心作用泛型类型(类)定义与使用类型参数命名约定泛型方法定义与调用与泛型类的区别通配符上界通配符下界通配符有界类型参数类型擦除集合框架核心接口Collection 接口Map 接口Collection 接口操作的常用方法基本操作批量操作数组操作流操作方法L…

HarmonyOS组件之Tabs

Tabs 1.1概念 Tabs 视图切换容器,通过相适应的页签进行视图页面的切换的容器组件每一个页签对应一个内容视图Tabs拥有一种唯一的子集元素TabContent 1.2子组件 不支持自定义组件为子组件,仅可包含子组件TabContent,以及渲染控制类型 if/e…

华为FusionCompute虚拟化平台

一、华为FusionCompute虚拟化套件介绍 华为FusionCompute虚拟化套件是业界领先的虚拟化解决方案,能够帮助客户带来如下的价值,从而大幅提升数据中心基础设施的效率。 帮助客户提升数据中心基础设施的资源利用率;帮助客户成倍缩短业务上线周期…

使用apt-rdepends制作软件离线deb安装包

使用apt-rdepends制作软件离线deb安装包 除基础软件外,还要获取软件依赖包。 依赖包工具安装 apt-get install apt-rdependsapt-rdepends工具使用 使用apt-rdepends工具,递归方式分析软件依赖,下载软件包本体,和依赖包。制作时…

【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑩】

ISO 14229-1:2023 UDS诊断【ECU复位0x11服务】_TestCase10 作者:车端域控测试工程师 更新日期:2025年02月18日 关键词:UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 TC11-010测试用例 用例ID测试场景验证要点参考条款预期结果TC…

什么是Scaling Laws(缩放定律);DeepSeek的Scaling Laws

什么是Scaling Laws(缩放定律) Scaling Laws(缩放定律)在人工智能尤其是深度学习领域具有重要意义,以下是相关介绍及示例: 定义与内涵 Scaling Laws主要描述了深度学习模型在规模(如模型参数数量、训练数据量、计算资源等)不断扩大时,模型性能与这些规模因素之间的…

大一计算机的自学总结:前缀树(字典树、Trie树)

前言 前缀树&#xff0c;又称字典树&#xff0c;Trie树&#xff0c;是一种方便查找前缀信息的数据结构。 一、字典树的实现 1.类描述实现 #include <bits/stdc.h> using namespace std;class TrieNode { public:int pass0;int end0;TrieNode* nexts[26]{NULL}; };Tri…

【存储中间件API】MySQL、Redis、MongoDB、ES常见api操作及性能比较

常见中间件api操作及性能比较 ☝️ MySQL crud操作✌️ maven依赖✌️ 配置✌️ 定义实体类✌️ 常用api ☝️ Redis crud操作✌️ maven依赖✌️ 配置✌️ 常用api ☝️ MongoDB crud操作✌️ maven依赖✌️ 配置文件✌️ 定义实体类✌️ MongoDB常用api ☝️ ES crud操作 ⭐️…

51单片机入门_10_数码管动态显示(数字的使用;简单动态显示;指定值的数码管动态显示)

接上篇的数码管静态显示&#xff0c;以下是接上篇介绍到的动态显示的原理。 动态显示的特点是将所有位数码管的段选线并联在一起&#xff0c;由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选&#xff…

C++入门《类和对象》之《运算符重载》详解|成员函数重载/非成员函数重载

C 中&#xff0c;运算符重载是一种特殊的函数&#xff0c;它允许程序员为自定义的数据类型&#xff08;如类和结构体&#xff09;重新定义运算符的行为&#xff0c;使得这些运算符能够像处理内置数据类型一样处理自定义类型的数据。下面将从多个方面详细讲解 C 里的运算符重载。…