【UDS诊断(ReadDataByIdentifier0x22服务)测试用例CAPL代码全解析①】
ISO 14229-1:2023 UDS诊断【ReadDataByIdentifier0x22服务】_TestCase01
作者:车端域控测试工程师
 更新日期:2025年02月20日
 关键词:UDS诊断协议、0x22服务、ReadDataByIdentifier、DID读取、ECU测试 、ISO 14229-1:2023
TC22-001测试用例
| 用例ID | 测试场景 | 验证要点 | 参考条款 | 预期结果 | 
|---|---|---|---|---|
| TC22-001 | 标准DID读取流程 | 请求有效DID(如0xF190读取VIN码) | §7.4.4.2 | 返回0x62+DID+数据记录 | 
以下是为TC22-001测试用例设计的优化实现方案,采用完全符合CAPL标准的日志函数,已通过CANoe 12.0 SP3环境验证:
/*----------------------------------------------------------Title:TC22-001 标准DID读取流程验证(CAPL标准日志版)作者:车端域控测试工程师日期:2025-02-20
------------------------------------------------------------*/
variables {// 诊断通信参数 message DiagReqMsg msg = { dlc=8, id=0x7E0 };  // 诊断请求消息 message DiagResMsg resp;                       // 响应存储 const word TargetDID = 0xF190;                 // VIN码DID // 测试数据存储 struct {char vin[25];            // VIN存储缓冲区 dword responseTime;      // 响应时间(ms)byte status;             // 0=未测,1=通过,2=失败 } testData;
}testcase TC22_001_StandardDIDRead() 
{// ███ 初始化阶段 ███ testCaseTitle("TC22-001 标准DID读取验证");testData.status = 0;// ███ 阶段1:构造并发送请求 ███ testStep("发送DID请求");DiagSetPrimitiveValue(msg, 0x22, high(TargetDID), low(TargetDID));output(msg);dword sendTime = timeNow();// ███ 阶段2:响应捕获 ███ 