【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:响应捕获 ███