当前位置: 首页 > news >正文

【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诊断测试的自动化测试脚本的开发,有兴趣的朋友可以持续关注,另外请点赞、收藏 ,你们的关注是作者更新下去的动力!~~
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉完结🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉

相关文章:

  • python 获取smpl身高 fbx身高
  • 【Unity Shader编程】之顶点着色器
  • 基于Docker-compose的禅道部署实践:自建MySQL与Redis集成及故障排查指南
  • 【Python深入浅出㉗】Python3正则表达式:开启高效字符串处理大门
  • pdf.js默认显示侧边栏和默认手形工具
  • Node.js 完全教程:从入门到精通
  • QT 5.15.2 开发地图ArcGIS 100.15.6(ArcGIS Runtime SDK for Qt)
  • 【Spring AI】基于SpringAI+Vue3+ElementPlus的QA系统实现(后端)
  • 为什么配置Redis时候要序列化配置呢
  • C# 鼠标点击ToolStripStatuslabel 在线修改Text属性并存储加载显示Text属性
  • 无人机雨季应急救灾技术详解
  • 计算机毕业设计Tensorflow+LSTM空气质量监测及预测系统 天气预测系统 Spark Hadoop 深度学习 机器学习 人工智能
  • Linux 常见的虚拟文件系统
  • 大数据学习之PB级百战出行网约车二
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 10
  • Python----PyQt开发(PyQt高级:图像显示,定时器,进度条)
  • 2024年终总结和2025年规划
  • Java中使用EasyExcel
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_gmtime 函数
  • 每日Attention学习23——KAN-Block
  • 98岁动物学家、北京大学教授杨安峰逝世
  • 公募基金解读“一揽子金融政策”:增量财政空间或打开,有助于维持A股活力
  • 圆桌丨权威专家解读中俄关系:在新形势下共同应对挑战、共创发展机遇
  • 潘功胜:坚定支持汇金公司在必要时实施对股票市场指数基金的增持
  • 印度袭击巴基斯坦已致至少3人死亡
  • 一周人物|何子彦任职光州双年展,陈意心讲述五原路往事