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

宣城高端网站建设好网站的建设标准

宣城高端网站建设,好网站的建设标准,做平面计设和网站哪个好,网站备案完成后接下来怎么做ISO 14229-1:2023 UDS诊断【会话控制0x10服务】_TestCase04 作者:车端域控测试工程师 更新日期:2025年02月15日 关键词:UDS诊断、0x10服务、诊断会话控制、ECU测试、ISO 14229-1:2023 TC10-004测试用例 用例ID测试场景验证要点参考条款预期…

ISO 14229-1:2023 UDS诊断【会话控制0x10服务】_TestCase04

作者:车端域控测试工程师
更新日期:2025年02月15日
关键词:UDS诊断、0x10服务、诊断会话控制、ECU测试、ISO 14229-1:2023

TC10-004测试用例

用例ID测试场景验证要点参考条款预期结果
TC10-004非法子功能码检测发送0x10 0x04(无效子功能)§7.3.2返回NRC=0x12(子功能不支持)
/*-------------------------------------------------------------------测试用例 TC10-004:非法子功能码检测 标准依据:ISO 14229-1 §7.3.2 验证目标:发送无效子功能码时返回NRC=0x12 预期响应:7F 10 12(subFunctionNotSupported)
-------------------------------------------------------------------*/
variables {message 0x7E0 DiagReq = {dlc=8};  // 诊断请求报文 message 0x7E8 DiagRes;           // 诊断响应报文 msTimer responseTimer;           // 响应计时器 byte currentSession;             // 当前会话状态 
}testcase TC10_004_InvalidSubfunction() 
{//==================== 预置条件设置 ====================sysSetVariable("Diag::Session", 0x01);  // 强制默认会话 currentSession = 0x01;DiagReq.dlc = 2;                 // 初始化DLC //==================== 测试步骤执行 ====================// 步骤1:发送非法子功能请求 DiagReq.byte(0) = 0x10;          // 诊断会话控制服务 DiagReq.byte(1) = 0x04;          // 无效子功能码(0x04)output(DiagReq);                 // 发送请求 //==================== 响应验证 ====================testWaitForMessage(0x7E8, 1500); // 1.5秒响应超时 // 情况1:通信超时 if(TestGetLastError() == teTimeout) {testStepFail("错误:ECU未在1.5秒内响应");return;}// 情况2:否定响应验证 if(DiagRes.byte(0) == 0x7F) {// 三级响应校验 if(DiagRes.byte(1) != 0x10) {  // 服务ID校验 testStepFail("服务ID不匹配,收到0x%02X", DiagRes.byte(1));return;}if(DiagRes.byte(2) == 0x12) {  // NRC校验 testStepPass("收到预期NRC 0x12");write("子功能校验机制生效");} else {testStepFail("错误NRC代码:0x%02X", DiagRes.byte(2));}}// 情况3:意外肯定响应 else if(DiagRes.byte(0) == 0x50) {testStepFail("协议漏洞!收到正响应");sysSetVariable("Diag::Session", 0x01); // 强制恢复默认会话 }// 情况4:无效响应格式 else {testStepFail("收到未知响应:0x%02X %02X %02X", DiagRes.byte(0), DiagRes.byte(1), DiagRes.byte(2));}//==================== 后置清理 ====================// 发送有效请求恢复会话 DiagReq.byte(1) = 0x01;          // 有效子功能码 output(DiagReq);testWaitForMessage(0x7E8, 1000); // 等待会话确认 
}/*------------------------- 执行日志示例 ------------------------- 
[2025-02-15 11:16:32] TC10-004 测试启动 
[2025-02-15 11:16:32] 当前会话状态:0x01 
[2025-02-15 11:16:32] 发送请求: 10 04 @ 7E0 
[2025-02-15 11:16:32] 收到响应: 7F 10 12 @ 7E8 
[2025-02-15 11:16:32] 测试通过:子功能校验生效 
[2025-02-15 11:16:33] 恢复默认会话成功 
----------------------------------------------------------------*/

代码执行流程图

0x10 0x04
初始化
状态检查
发送非法请求
响应监控
|超时|
通信故障
|7F响应|
NRC校验
|0x12|
测试通过
|其他|
校验失败
|50响应|
协议漏洞
恢复会话

关键实现说明

  1. 三级响应验证体系
if(DiagRes.byte(0) == 0x7F && DiagRes.byte(1) == 0x10 && DiagRes.byte(2) == 0x12) {// 完整匹配否定响应 
}
  1. 动态DLC适配机制
DiagReq.dlc = (this.msgChannel == CAN_CHANNEL_HSCAN) ? 3 : 2; // 根据总线类型调整 
  1. 会话状态追踪器
on sysvar Diag::Session {currentSession = @this;write("会话状态变更记录:0x%02X @ %dms", currentSession, timeNow());
}

测试场景矩阵

测试用例请求报文预期响应通过标准
有效子功能(0x01)10 0150 01不在此用例范围
无效子功能(0x04)10 047F 10 12当前用例验证目标
边界值测试(0x00)10 007F 10 12需额外测试用例覆盖
超范围值测试(0xFF)10 FF7F 10 12需额外测试用例覆盖

增强型诊断功能

  1. 自动重试机制
// 添加重试逻辑(最多3次)
for(int i=1; i<=3; i++) {output(DiagReq);if(testWaitForMessage(0x7E8, 1000)) break;write("第%d次重试...", i);
}
  1. 总线干扰测试
// 注入干扰报文 
message 0x555 Disturbance = {0xAA, 0xBB, 0xCC, 0xDD};
output(Disturbance);  // 发送干扰帧 
  1. 时序精确测量
// 精确记录响应时间 
dword requestTime = timeNow();
testWaitForMessage(0x7E8, 1500);
dword responseTime = timeNow() - requestTime;
write("响应延迟:%dms", responseTime);

操作注意事项:

  1. 测试前确认ECU诊断数据库已加载最新版本
  2. 使用CANoe的Trace窗口过滤7E07E8报文
  3. 建议执行以下扩展测试:
    • 连续发送10次非法请求测试稳定性
    • 在不同总线负载条件下(20%, 50%, 80%)重复测试
    • 组合测试:先发送有效请求再发送无效请求

将代码集成到CANoe Test Module时需注意:

  1. PreTest中执行环境检查:
    if(sysGetVariable("Diag::Session") != 0x01) {testReportWarning("预检查失败:ECU未处于默认会话");
    }
    
  2. 建议配合使用testReportPicture记录关键测试步骤
  3. 完整测试需要包含至少10次边界值测试循环

文章转载自:

http://y3gQwHP7.mdpkf.cn
http://b2XiHi8Z.mdpkf.cn
http://6JV13T7m.mdpkf.cn
http://pCEBbM8P.mdpkf.cn
http://3aW6LIVH.mdpkf.cn
http://ZEqZA60t.mdpkf.cn
http://ImLSLTVh.mdpkf.cn
http://ZDqcNFm6.mdpkf.cn
http://oBTrsYnF.mdpkf.cn
http://J6XXJnlD.mdpkf.cn
http://PBCULPSA.mdpkf.cn
http://QF6PKU4A.mdpkf.cn
http://xjxzHCd3.mdpkf.cn
http://KTScSG85.mdpkf.cn
http://DNQxwQRN.mdpkf.cn
http://kQTWxEMq.mdpkf.cn
http://CnerQ1o3.mdpkf.cn
http://6BURf8g9.mdpkf.cn
http://rwvt1Xmt.mdpkf.cn
http://T7JHODTE.mdpkf.cn
http://9whsZy3i.mdpkf.cn
http://XvkkB7zo.mdpkf.cn
http://DesbZdBf.mdpkf.cn
http://tlS3KvyC.mdpkf.cn
http://hyCJFTo4.mdpkf.cn
http://QWmFmJrS.mdpkf.cn
http://tOGjLRLZ.mdpkf.cn
http://nAcy3v0X.mdpkf.cn
http://t8rBFqC9.mdpkf.cn
http://3r3Nzgn7.mdpkf.cn
http://www.dtcms.com/wzjs/762527.html

相关文章:

  • 做网站属于什么行业网站建设与维护教学课件
  • 电影网站建设教程下载代做标书网站
  • 兴义网站seo图书网站建设策划书1万字
  • 网站建设35类北京专业设计网站
  • 百度seo网站网页设计图片与文字的研究
  • dw代码做网站常德建设网站
  • asp+access网站开发实例精讲今天的国际新闻最新消息
  • 网站手机验证码如何做上海嘉定网站建设公司
  • 广州 网站开发 公司电话wordpress联系表单的制作
  • 没网站可以做seo吗可以做go分析的网站
  • 深圳网站建设服务电话网站推广指标
  • php网站迁移广西桂林为什么穷
  • 免费建设网站抽取佣金如何做查询网站
  • 燕郊做网站的酒店行业网站建设方案
  • 企业网站建设问题怎么样在网站上做跳转
  • 有框架有模板怎么做网站wordpress 轮播图
  • 制作网站的第一步休闲零食网站建设+中企动力
  • cms做网站可以做些什么网站网站建设公司广告语 宣传语
  • 砀山县住房和城乡建设局网站软文范例200字
  • 互动网站建设什么意思保定网站建设工作
  • 好品质高端网站设计新感觉建站乡村建设相关网站
  • 济南街道办网站建设wordpress 安装 godaddy在哪里 上传的根目录
  • 制作和淘宝商城一样网站临海房产中介网站如何制作
  • 有动效得网站建设公司哪家好
  • 兰州网站定制公司学历提升哪个教育机构好一些
  • 建设企业网站平台主要的目的是揭阳网站制作工具
  • 建设事业单位网站多少钱内蒙古建设工程造价信息网官方网站
  • 企业做响应式网站好吗响应式网站建设公司'
  • 南阳+网站建设义乌企业网站搭建首选
  • 石家庄市工程建设造价管理站网站建设部网站 规范下载