宏控软件
首页 案例库 咨询方案
返回案例库

UDS诊断服务自动化测试 | ODX导入与全量验证

场景:车载总线测试 (S02) 适用行业:汽车电子、零部件 产品:天工-CarTest / 天工-UTP 标准:ISO 14229-1、ISO 15765-2、ODX 2.2.0

使用的产品与方案

本测试案例基于以下宏控产品及行业解决方案完成:

点击上述链接了解产品详情,或查看 更多应用案例

核心价值: 导入ODX/CDD文件自动生成诊断测试用例,一键执行UDS全服务验证(会话控制、安全访问、DID读写、DTC管理、例程控制、刷写下载),自动比对正/负响应,生成诊断回归报告。

一、 测试背景:UDS诊断的复杂性

UDS(ISO 14229)是现代汽车ECU的标准诊断协议,包含数十个服务、数百个子功能及大量数据标识符(DID)、故障码(DTC)和例程。人工编写诊断测试用例耗时且容易遗漏边界条件,尤其是在不同ECU之间复用测试逻辑时,需要反复适配。ODX(ISO 22901)格式提供了诊断数据的标准化描述,但传统工具对ODX的解析和自动化利用能力有限。

二、 宏控天工方案:ODX驱动的一键式诊断测试

天工-CarTest/UTP 诊断测试能力

  • ODX/CDD文件直接导入,自动解析服务、DID、DTC、例程
  • 全服务测试用例自动生成(正向+负向)
  • 安全访问种子-密钥算法集成(支持自定义脚本)
  • 响应时序测量与数据校验
  • 诊断回归测试套件管理
  • UDS诊断套件 ODX引擎

支持导入ODX/PDX/CDD文件,自动生成测试序列,一键执行并输出诊断符合性报告。

三、 覆盖的UDS服务列表

0x10 诊断会话控制
默认/编程/扩展会话切换、超时回退验证
0x11 ECU复位
硬复位、软复位、快速关断
0x27 安全访问
种子请求、密钥验证、锁定时间测试
0x22/0x2E DID读写
读取/写入数据标识符,支持列表访问
0x19 读取DTC信息
状态掩码、快照/扩展数据、严重度
0x14 清除DTC
清除后验证DTC状态
0x31 例程控制
启动、停止、结果读取
0x34/36/37 下载/上传
块序列传输、完整性校验
0x3E 保持激活
会话维持与超时检测

四、 典型测试用例矩阵

服务测试类型请求示例预期响应验证点
0x10 会话控制正向10 03(扩展会话)50 03 XX XX(时间参数)会话切换成功,时间参数有效
负向10 05(不支持子功能)7F 10 12(不支持)负响应码正确
0x27 安全访问种子请求27 0167 01 XX XX(种子)种子长度符合算法定义
密钥验证27 02 YY YY67 02(成功)或 7F 27 35(失败)密钥计算正确,锁定时间生效
0x22 读取DID有效DID22 F1 90(VIN)62 F1 90 + 17字节VIN数据格式符合ODX定义
无效DID22 FF FF7F 22 31(请求越界)负响应码正确
0x19 读取DTC状态掩码0x0919 02 0959 02 09 + DTC列表DTC数量与状态匹配
快照数据19 04 01 00 0059 04 01 + 快照记录数据格式符合ODX

五、 自动化测试流程示例

graph TD A[导入ODX文件] --> B[解析所有服务/DID/DTC/例程] B --> C[建立CAN通信,激活诊断会话] C --> D[执行安全访问,获取种子计算密钥] D --> E[遍历读取DID列表,验证响应数据] E --> F[遍历写入DID列表,写后读验证] F --> G[读取DTC,记录当前故障码] G --> H[执行例程控制,验证结果] H --> I[清除DTC,再次读取确认清空] I --> J[执行下载流程测试刷写功能] J --> K[生成报告:正/负响应结果/响应时间/失败项]

六、 关键性能指标

100%
ODX服务覆盖率
自动生成所有用例
≤20ms
典型响应时间
0x22/0x2E
一键执行
回归测试周期
从小时级到分钟级

七、 安全访问自动化示例

sequenceDiagram participant Tester as 天工测试平台 participant DUT as 被测ECU Tester->>DUT: 0x27 01(请求种子) DUT-->>Tester: 0x67 01 + Seed(4字节) Tester->>Tester: 根据算法计算Key Tester->>DUT: 0x27 02 + Key alt 密钥正确 DUT-->>Tester: 0x67 02(解锁成功) else 密钥错误 DUT-->>Tester: 0x7F 27 35(密钥无效) Note over Tester: 记录负响应,等待锁定时间 end

八、 与传统测试方式的对比

传统诊断测试中,工程师需要手动编写CANape/CANoe CAPL脚本或使用诊断仪逐项发送请求,对于ODX文件也只能作为参考文档。本平台直接解析ODX生成测试序列,自动比对响应码和数据,并支持一键回归。ECU软件更新后,只需重新执行同一套测试用例,即可快速验证诊断服务未被破坏。

九、 适用对象

ECU研发测试
验证诊断协议栈实现
零部件供应商
按照OEM的ODX规范交付
整车厂诊断集成
跨ECU诊断一致性验证
产线EOL
快速读取DID、清除DTC