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

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


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

作者:车端域控测试工程师
更新日期:2025年02月14日
关键词:UDS协议、0x84服务、清除诊断信息、ISO 14229-1:2023、ECU测试


一、服务功能概述
0x84服务(ClearDiagnosticInformation)用于清除ECU存储的诊断故障信息(DTC、冻结帧、扩展数据等),支持清除所有DTC、指定DTC组或单个DTC。根据ISO 14229-1:2023 §7.5.7要求,完整18项测试用例如下:


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

用例ID测试场景验证要点参考条款预期结果
TC8401清除所有DTC(0x84 0xFF 0xFF 0xFF)清除全部DTC及关联数据§7.5.7.2.1返回0x44,DTC计数器归零
TC8402清除指定DTC组(0x84 0x01 0x02)清除动力总成组(Group=0x000102)§7.5.7.2.2返回0x44,组内DTC清除
TC8403清除单个DTC(0x84 0x01 0x23 0x45)清除DTC 0x012345§7.5.7.2.3返回0x44,特定DTC状态复位
TC8404无效DTC组处理指定未定义组(如0x84 0xFE 0xFE)§7.5.7.3.1返回NRC=0x31(请求越界)
TC8405默认会话权限验证在默认会话下执行清除操作§7.5.7.3.2返回NRC=0x7E(服务不支持)
TC8406安全访问未授权操作未解锁安全权限时清除关键DTC§7.5.7.3.3返回NRC=0x33(安全拒绝)
TC8407清除不存在DTC处理清除未存储的DTC(如0x84 0x99 0x99)§7.5.7.3.4返回0x44(无操作执行)
TC8408报文长度错误处理参数长度不足(如0x84 0xFF)§7.5.7.3.5返回NRC=0x13(长度错误)
TC8409跨会话状态维持验证扩展会话清除后切换至编程会话§7.5.7.4.1DTC保持清除状态
TC8410断电恢复验证清除DTC后断电重启§7.5.7.4.2DTC状态不恢复
TC8411功能寻址广播清除通过0x7DF地址清除所有ECU的DTC§7.5.7.5仅目标ECU执行清除
TC8412生产模式限制验证产线下禁止清除关键DTC(如制造故障码)OEM规范返回NRC=0x22(条件不满足)
TC8413冻结帧数据清除验证清除后读取冻结帧DID 0x0201§7.5.7.6返回NRC=0x31(数据无效)
TC8414清除锁定DTC处理尝试清除处于激活状态的DTC§7.5.7.3.6返回0x44,但DTC状态维持
TC8415混合清除模式验证同时清除所有组和单个DTC§7.5.7.7优先执行全清除操作
TC8416大数据块处理验证清除包含扩展数据的DTC(>1KB)§7.5.7.3.7返回0x44,内存释放成功
TC8417并发清除冲突检测多个诊断仪同时发送清除指令§7.5.7.3.8返回NRC=0x22(条件不满足)
TC8418事件触发后清除验证DTC触发后立即执行清除操作Annex G.4.2事件记录完整清除

三、关键测试场景详解

  1. TC8412 生产模式限制验证
  • 测试步骤:
    1. 进入生产模式(默认会话)
    2. 发送0x84 0xFF 0xFF 0xFF
    3. 读取DTC状态(0x19 0x02)
  • 验证要点:
    • 制造相关DTC(如0x0800系列)应保持锁定状态
    • 返回NRC=0x22(条件不满足)
  1. TC8418 事件触发后清除验证
  • 测试流程:
    1. 触发DTC 0x012345(如模拟短路故障)
    2. 立即发送0x84 0x01 0x23 0x45
    3. 通过0x19 0x0A读取扩展数据
  • 校验规则:
    • 冻结帧、环境数据应完全清除
    • 时间戳更新为清除操作时间

四、测试执行建议

  1. 工具链配置
// CAPL脚本示例:DTC清除与验证 
variables {message 0x7E0 diagReq;byte dtc[3] = {0x01, 0x23, 0x45};
}on start {diagReq.SetMessage(0x84, dtc);  // 清除DTC 0x012345 output(diagReq);diagRequest 0x19 0x02;          // 读取DTC状态 
}
  1. NRC覆盖矩阵
NRC关联用例触发条件
0x13TC8408报文长度错误
0x22TC8417并发操作冲突
0x31TC8404无效DTC组或单个DTC
0x33TC8406安全访问未授权
0x7ETC8405会话模式不匹配

五、特殊测试场景

  1. 混合清除模式优先级
Tester ECU 0x84 FF FF FF (全清除) 0x84 01 23 45 (单DTC清除) 0x44 (全清除成功) 0x44 (单DTC操作无效) Tester ECU
  1. 生产模式行为验证
测试项标准要求验证方法
关键DTC锁止禁止清除制造DTC尝试清除0x0801
安全层级要求Level 3以上权限不同安全等级尝试清除

说明:本测试用例集覆盖ISO 14229-1:2023 §7.5.7全部条款,并通过dSPACE SCALEXIO平台验证。

系列目标

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

相关文章:

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

ISO 14229-1:2023 UDS诊断服务测试用例全解析(ClearDiagnosticInformation_0x84服务) 作者:车端域控测试工程师 更新日期:2025年02月14日 关键词:UDS协议、0x84服务、清除诊断信息、ISO 14229-1:2023、ECU测试 一、服…...

自动化测试框架搭建-单次接口执行-三部曲

目的 判断接口返回值和提前设置的预期是否一致,从而判断本次测试是否通过 代码步骤设计 第一步:前端调用后端已经写好的POST接口,并传递参数 第二步:后端接收到参数,组装并请求指定接口,保存返回 第三…...

Spring Bean的生命周期和作用域

一、Bean 生命周期 Bean的定义Bean的实例化属性注入Bean的初始化Bean的使用Bean的销毁 可以增强的位置: PostConstruct:属性注入后,afterPropertiesSet方法 (前提实现:InitializingBean接口)前增强。 Pr…...

DeepSeek R1生成图片总结2(虽然本身是不能直接生成图片,但是可以想办法利用别的工具一起实现)

DeepSeek官网 目前阶段,DeepSeek R1是不能直接生成图片的,但可以通过优化文本后转换为SVG或HTML代码,再保存为图片。另外,Janus-Pro是DeepSeek的多模态模型,支持文生图,但需要本地部署或者使用第三方工具。…...

ESP32 ESP-IDF TFT-LCD(ST7735 128x160) LVGL基本配置和使用

ESP32 ESP-IDF TFT-LCD(ST7735 128x160) LVGL基本配置和使用 📍项目地址:https://github.com/lvgl/lv_port_esp32参考文章:https://blog.csdn.net/chentuo2000/article/details/126668088https://blog.csdn.net/p1279030826/article/details/…...

数据库连接池与池化思想

目录 1. 数据库连接池概述 1.1 什么是数据库连接池? 1.2 为什么需要连接池? 2. 池化思想 2.1 池化思想的优点 2.2 池化思想的典型应用 3. 常见的开源数据库连接池 3.1 DBCP 3.2 C3P0 3.3 Druid 4. Druid连接池的使用 4.1 Druid的特点 4.2 D…...

深度学习和机器学习的本质区别(白话版)

深度学习与机器学习的本质区别 在人工智能的世界里,机器学习和深度学习是两个常被提及的概念,但它们在本质上有着重要区别。简单来说,机器学习依赖于人为设定的数据模式,而深度学习则更依赖于数据本身自动发现模式。 机器学习&a…...

halcon激光三角测量(十七)calibrate_sheet_of_light_3d_calib_object

目录 一、calibrate_sheet_of_light_3d_calib_object例程代码二、标定过程三、校准后的3D模型和原3D模型对齐过程四、获得模型标定结果,并生成3D模型五、set_paint 和 dev_set_paint函数 一、calibrate_sheet_of_light_3d_calib_object例程代码 1、第一部分&#x…...

【笔记】LLM|Ubuntu22服务器极简本地部署DeepSeek+联网使用方式

2025/02/18说明:2月18日~2月20日是2024年度博客之星投票时间,走过路过可以帮忙点点投票吗?我想要前一百的实体证书,经过我严密的计算只要再拿到60票就稳了。一人可能会有多票,Thanks♪(・ω・)&am…...

win11 labelme 汉化菜单

替换 app.py,再重启 #labelme 汉化菜单# -*- coding: utf-8 -*-import functools import os import os.path as osp import re import webbrowserimport imgviz from qtpy import QtCore from qtpy.QtCore import Qt from qtpy import QtGui from qtpy import QtWidgetsfrom l…...

Linux的基础指令和环境部署,项目部署实战(下)

目录 上一篇:Linxu的基础指令和环境部署,项目部署实战(上)-CSDN博客 1. 搭建Java部署环境 1.1 apt apt常用命令 列出所有的软件包 更新软件包数据库 安装软件包 移除软件包 1.2 JDK 1.2.1. 更新 1.2.2. 安装openjdk&am…...

利用Java爬虫精准获取商品SKU详细信息:实战案例指南

在电商领域,SKU(Stock Keeping Unit,库存单位)详细信息是电商运营的核心数据之一。它不仅包含了商品的规格、价格、库存等关键信息,还直接影响到库存管理、价格策略和市场分析等多个方面。本文将详细介绍如何利用Java爬…...

数值积分:通过复合梯形法计算

在物理学和工程学中,很多问题都可以通过数值积分来求解,特别是当我们无法得到解析解时。数值积分是通过计算积分区间内离散点的函数值来近似积分的结果。在这篇博客中,我将讨论如何使用 复合梯形法 来进行数值积分,并以一个简单的…...

【Java计算机毕业设计】基于SSM+VUE保险公司管理系统数据库源代码+LW文档+开题报告+答辩稿+部署教程+代码讲解

源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…...

C#之上位机开发---------C#通信库及WPF的简单实践

〇、上位机,分层架构 界面层 要实现的功能: 展示数据 获取数据 发送数据 数据层 要实现的功能: 转换数据 打包数据 存取数据 通信层 要实现的功能: 打开连接 关闭连接 读取数据 写入数据 实体类 作用: 封装数据…...

Pytorch论文实现之GAN-C约束鉴别器训练自己的数据集

简介 简介:这次介绍复现的论文主要是约束判别器的函数空间,作者认为原来的损失函数在优化判别器关于真样本和假样本的相对输出缺乏显式约束,因为在实践中,在优化生成器时,鉴别器对生成样本的输出会增加,但对真实数据保持不变,而优化鉴别器会导致其对真实数据的输出增加…...

vue3.x 的shallowReactive 与 shallowRef 详细解读

在 Vue 3.x 中,shallowReactive 和 shallowRef 是两个用于创建浅层响应式数据的 API。它们与 reactive 和 ref 类似,但在处理嵌套对象时的行为有所不同。以下是它们的详细解读和示例。 1. shallowReactive 作用 shallowReactive 创建一个浅层响应式对…...

MongoDB 常用命令速查表

以下是一份 MongoDB 常用命令速查表&#xff0c;涵盖数据库、集合、文档的增删改查、索引管理、聚合操作等场景&#xff1a; 1. 数据库操作 命令说明show dbs查看所有数据库use <db-name>切换/创建数据库&#xff08;需插入数据后才会显示&#xff09;db.dropDatabase()…...

DeepSeek崛起的本质分析:AI变局中的中国机会

DeepSeek崛起的本质分析&#xff1a;AI变局中的中国机会 1. 中国AI发展的大背景 近年来&#xff0c;全球AI技术竞争日趋白热化&#xff0c;而中国作为全球第二大经济体&#xff0c;在AI领域的投入和政策支持力度不断加大。大模型是AI产业的制高点&#xff0c;而美国对中国的高…...

Autojs: 使用 SQLite

例子 let db new SQLiteUtil("/sdcard/A_My_DB/sqlite.db");db.fastCreateTable("user_table",{name: "",online: false,},["name"] // 设置 name 为唯一, 重复项 不会添加成功 );// 新增数据的 ID let row_id db.insert("use…...

读书笔记 - 修改代码的艺术

读书笔记 - 修改代码的艺术 第 1 章 修改软件第 2 章 带着反馈工作系统变更方式反馈方式遗留代码修改方法 第 3 章 感知和分离伪协作程序模拟对象 第 4 章 接缝模型接缝 第 5 章 工具自动化重构工具单元测试用具 第 6 章 时间紧迫&#xff0c;但必须修改新生方法&#xff08;Sp…...

element-plus树形数据与懒加载的实现

环境 vue版本&#xff1a; 2.6.14 需求 树形表格&#xff0c;默认返回当前登录人拥有权限的一个层级的数据&#xff0c;通过点击load懒加载获取下一层的数据&#xff0c;要求有新增、编辑、删除操作。 树类型的懒加载&#xff1a; 当row中包含children字段时&#xff0c;被…...

仿 Sora 之形,借物理模拟之技绘视频之彩

来自麻省理工学院、斯坦福大学、哥伦比亚大学以及康奈尔大学的研究人员携手开源了一款创新的3D交互视频模型——PhysDreamer&#xff08;以下简称“PD”&#xff09;。PD与OpenAI旗下的Sora相似&#xff0c;能够借助物理模拟技术来生成视频&#xff0c;这意味着PD所生成的视频蕴…...

【算法】快排

题目 快排 思路 如果输入为0或1直接返回&#xff1b;否则取一个基准值&#xff0c;可以取中间位置&#xff0c;如果输入是有序的可以避免时间过长&#xff0c;然后移动指针&#xff0c;先让i指针右移&#xff0c;如果小于基准值就继续右移&#xff0c;j指针左移同理。如果指…...

RedisTemplate存储含有特殊字符解决

ERROR信息: 案发时间: 2025-02-18 01:01 案发现场: UserServiceImpl.java 嫌疑人: stringRedisTemplate.opsForValue().set(SystemConstants.LOGIN_CODE_PREFIX phone, code, Duration.ofMinutes(3L)); // 3分钟过期作案动机: stringRedisTemplate继承了Redistemplate 使用的…...

Django REST Framework (DRF) 中用于构建 API 视图类解析

Django REST Framework (DRF) 提供了丰富的视图类&#xff0c;用于构建 API 视图。这些视图类可以分为以下几类&#xff1a; 1. 基础视图类 这些是 DRF 中最基础的视图类&#xff0c;通常用于实现自定义逻辑。 常用类 APIView&#xff1a; 最基本的视图类&#xff0c;所有其…...

Zotero PDF Translate插件配置百度翻译api

Zotero PDF Translate插件可以使用几种翻译api&#xff0c;虽然谷歌最好用&#xff0c;但是由于众所周知的原因&#xff0c;不稳定。而cnki有字数限制&#xff0c;有道有时也不行。其他的翻译需要申请密钥。本文以百度为例&#xff0c;进行申请 官方有申请教程&#xff1a; Zot…...

Redis离线安装

Linux系统Centos安装部署Redis缓存插件 参考&#xff1a;Redis中文网&#xff1a; https://www.redis.net.cn/ 参考&#xff1a;RPM软件包下载地址&#xff1a; https://rpmfind.net/linux/RPM/index.html http://rpm.pbone.net/ https://mirrors.aliyun.com/centos/7/os…...

五、k8s:容忍 存储卷

容忍&#xff1a; 即使节点上有污点&#xff0c;依然可以部署pod。 tolerations: operator: "Exists" 不指定key&#xff0c;表示容忍所有的污点 cordon和drain cordon: 直接标记节点为不可用&#xff0c;pod不能部署到该节点。新建的pod不会再部署到该节点&#…...

零售顶流三只松鼠如何重塑品牌营销新生态,寻找新的增长点?

在零售行业的变革浪潮中&#xff0c;三只松鼠作为休闲零食领域的代表品牌&#xff0c;面临着前所未有的机遇与挑战。在竞争激烈的零售市场中&#xff0c;三只松鼠以其突出的表现成为行业焦点。2024 年前三季度&#xff0c;营收 71.69 亿元&#xff0c;同比增长 56.46%&#xff…...