首页 > 其他分享 >车载测试系列:基于CANoe CAPL代码的诊断测试

车载测试系列:基于CANoe CAPL代码的诊断测试

时间:2022-12-02 12:12:44浏览次数:42  
标签:req 定义 Canoe 报文 CANoe CAPL 测试 resp

Canoe有独立的编译开发软件CAPL,CAPL是一个编译器,在CAPL里面编写代码,编译后可以在Canoe中运行。测试工程师可以在CAPL编写自动化测试脚本,在Canoe中自动发送Can报文,以及判断接收的Can报文。

 

CAPL代码诊断脚本如下:

1、打开Canoe,在Simulation中,点击Simulation Setup。在红蓝线处右键,然后选择CAPL Test Module。

 

2、在Test 1方块左下角,点击小铅笔图标,弹出对话框,新建一个CAPL的程序文件,扩展名为.Can。

 

3、输入新建的文件名后会自动弹出CAPL编辑的界面。之后在这里编写测试脚本代码。

 

4、自动化测试脚本编写

4.1 Includes{}里面是包含的头文件。variables{}是定义全局变量的地方,如需要定义一些全局变量,可以在里面定义。

4.2 发送报文,首先要建立一帧报文。message * req,resp; message是报文的定义变量,建立了两个报文,req是要发送的报文,resp是要接收的报文。

4.3 之后需要建立一个MainTest函数,类似单片机main()的原理,程序会在这个函数里面运行。

 

4.4 编辑报文内容并发送。首先定义报文的长度为8,req.dlc=8; 定义报文的ID为0x7DF(诊断的功能寻址请求ID),req.id = 0x7DF; 然后定义报文8个byte的内容,这里定义的是诊断功能寻址进入扩展会话模式,02 10 03
4.5 发送报文,outout()是发送报文的函数,直接调用即可,output(req); 点击左上角Compile编译,之后就可以进入Canoe中运行。CAPL模块还需要配置才能运行。需要在test的方块上右键,选择Configuration,之后immediately打上勾,点击OK。

 

 

 

 

  • 4. 6 判断接收指定报文。
  • testWaitForMessage(resp.id,5100)函数,等待指定的报文,resp.id是要接收的报文ID,5100是在5100ms内等待。testGetWaitEventMsgData(resp)函数,获取这帧报文的内容,通过write打印出来。

 

运行结果如下:

标签:req,定义,Canoe,报文,CANoe,CAPL,测试,resp
From: https://www.cnblogs.com/laoluoits/p/16944052.html

相关文章

  • 车载测试系列:SOA接口测试(二)
    SOA服务测试内容及环境搭建SOME/IP协议底层通过以太网实现,基于service的控制器之间对服务的调用流程,以及基于service的控制器和基于信号(signal)的控制器之间对信息的传输......
  • 车载测试系列:SOA接口测试(一)
    SOA是什么?SOA(ServiceOrientedArchitecture)是一种面向服务的架构,最早应用于IT行业,SOA把功能定义成为服务,服务带有明确的可调用接口,并可以通过网络调用。在汽车领域,对于......
  • 车载测试系列:CANoe中如何创建dbc文件
    用CANoe读取信号时,需要加载DBC文件。信号是报文的主要组成部分,通过DBC数据库,可以在测试过程中进行信号解析。CANoe的Tools菜单下打开CANdb++: 一、CANdb++左侧网络拓......
  • 几个不错的领导力测试
              ......
  • 车载测试系列:车载测试流程
    车载测试流程是保证软件质量的重要支撑,优秀的团队都必须拥有规范的流程体系支撑,它能够约束测试人员的测试行为,约束测试环境的测试精度,提升测试的覆盖度,保证团队成员工作的......
  • 车载测试系列:入行车载测试分享
    车载测试前景如何?软件定义汽车时代的发展趋势,随着控制器自主开发力度的加强,作为V流程中必备环节,车载测试工程师岗位需求会越来越多;控制器集成化,功能集成程度越来越高,对......
  • 车载测试系列:UDS诊断服务(一)
    UDS诊断服务介绍UDS(UnifiedDiagnosticServices,统一诊断服务)诊断协议诊断测试仪和ECU之间一种通信协议,在ISO14229中规定。UDS被用在几乎所有由OEM一级供应商所制造的新EC......
  • 车载测试系列:CAN故障诊断测试
    几乎所有的ECU,都要做CAN方面的测试,BCM、EMS、VCU、BSG、BMS、TCU、EPS、ADAS等,只要带CAN端口,都需要做这样的测试,几乎所有OEM都要求供应商CAN测试。诊断通信定义对于绝大......
  • 车载测试系列:UDS诊断服务(三)
    ECU在进行诊断系统设计时,并不要求ECU要开发所有的诊断服务,只需根据各公司ECU的系统功能需求选择性开发即可。UDS诊断服务是根据特有的诊断CAN报文实现的。以下根据实际项目......
  • 车载测试系列:UDS诊断服务(二)
    诊断请求格式UDS的服务包含6大类,共26种。每种服务都有自己独立SID。SID:ServiceIdentifier,诊断服务ID。按不同服务类型,诊断请求格式有三种:格式1:[SID]+[Sub-Functio......