【ISO14229-1:2023UDS诊断全量测试用例清单系列:第十九节】
- 创业
- 2025-09-07 03:12:01

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事件记录完整清除三、关键测试场景详解
TC8412 生产模式限制验证 测试步骤: 进入生产模式(默认会话)发送0x84 0xFF 0xFF 0xFF读取DTC状态(0x19 0x02) 验证要点: 制造相关DTC(如0x0800系列)应保持锁定状态返回NRC=0x22(条件不满足) TC8418 事件触发后清除验证 测试流程: 触发DTC 0x012345(如模拟短路故障)立即发送0x84 0x01 0x23 0x45通过0x19 0x0A读取扩展数据 校验规则: 冻结帧、环境数据应完全清除时间戳更新为清除操作时间四、测试执行建议
工具链配置 // 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状态 } NRC覆盖矩阵 NRC关联用例触发条件0x13TC8408报文长度错误0x22TC8417并发操作冲突0x31TC8404无效DTC组或单个DTC0x33TC8406安全访问未授权0x7ETC8405会话模式不匹配五、特殊测试场景
混合清除模式优先级 #mermaid-svg-b5yWwljHp8WDmlNv {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-b5yWwljHp8WDmlNv .error-icon{fill:#552222;}#mermaid-svg-b5yWwljHp8WDmlNv .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-b5yWwljHp8WDmlNv .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-b5yWwljHp8WDmlNv .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-b5yWwljHp8WDmlNv .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-b5yWwljHp8WDmlNv .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-b5yWwljHp8WDmlNv .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-b5yWwljHp8WDmlNv .marker{fill:#333333;stroke:#333333;}#mermaid-svg-b5yWwljHp8WDmlNv .marker.cross{stroke:#333333;}#mermaid-svg-b5yWwljHp8WDmlNv svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-b5yWwljHp8WDmlNv .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-b5yWwljHp8WDmlNv text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-b5yWwljHp8WDmlNv .actor-line{stroke:grey;}#mermaid-svg-b5yWwljHp8WDmlNv .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-b5yWwljHp8WDmlNv .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-b5yWwljHp8WDmlNv #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-b5yWwljHp8WDmlNv .sequenceNumber{fill:white;}#mermaid-svg-b5yWwljHp8WDmlNv #sequencenumber{fill:#333;}#mermaid-svg-b5yWwljHp8WDmlNv #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-b5yWwljHp8WDmlNv .messageText{fill:#333;stroke:#333;}#mermaid-svg-b5yWwljHp8WDmlNv .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-b5yWwljHp8WDmlNv .labelText,#mermaid-svg-b5yWwljHp8WDmlNv .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-b5yWwljHp8WDmlNv .loopText,#mermaid-svg-b5yWwljHp8WDmlNv .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-b5yWwljHp8WDmlNv .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-b5yWwljHp8WDmlNv .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-b5yWwljHp8WDmlNv .noteText,#mermaid-svg-b5yWwljHp8WDmlNv .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-b5yWwljHp8WDmlNv .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-b5yWwljHp8WDmlNv .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-b5yWwljHp8WDmlNv .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-b5yWwljHp8WDmlNv .actorPopupMenu{position:absolute;}#mermaid-svg-b5yWwljHp8WDmlNv .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-b5yWwljHp8WDmlNv .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-b5yWwljHp8WDmlNv .actor-man circle,#mermaid-svg-b5yWwljHp8WDmlNv line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-b5yWwljHp8WDmlNv :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Tester ECU 0x84 FF FF FF (全清除) 0x84 01 23 45 (单DTC清除) 0x44 (全清除成功) 0x44 (单DTC操作无效) Tester ECU 生产模式行为验证 测试项标准要求验证方法关键DTC锁止禁止清除制造DTC尝试清除0x0801安全层级要求Level 3以上权限不同安全等级尝试清除说明:本测试用例集覆盖ISO 14229-1:2023 §7.5.7全部条款,并通过dSPACE SCALEXIO平台验证。
系列目标系列目标:后续准备增加基于UDS诊断测试的自动化测试脚本的开发,有兴趣的朋友可以持续关注,另外请点赞、收藏 ,你们的关注是作者更新下去的动力!~~ 🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉完结🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
【ISO14229-1:2023UDS诊断全量测试用例清单系列:第十九节】由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【ISO14229-1:2023UDS诊断全量测试用例清单系列:第十九节】”