实操教程:CANoe在CAN总线测试中的应用

上一篇 / 下一篇  2023-10-23 14:24:11 / 个人分类:车载测试

  随着新能源、智能网联等概念发展,车载CAN总线环境变得复杂且紊乱,CAN节点质量不稳定会给主机厂带来极大威胁,所以CAN总线测试已成为保证CAN网络安全运行的重要手段。
  而CANoe作为一款支持多种总线网络仿真、测试、诊断、和分析的工具,其丰富多样的功能和配置选项被全球90%以上的OEM和供应商所应用。今天,我们就来跟大家聊一聊,CANoe在CAN总线测试中的应用。
  CANoe功能介绍
  在CANoe中,Test作为其主要功能之一,单独占有一个功能区,由Test Units和Test Modules两种测量组件组成。
  Test Units需要在Test Configuration窗口中定义,配合vTESTStudio使用,利用其图形化界面创建测试用例,同时可以配合CAPL或者C#代码实现自动化测试,本文中我们不做过多介绍。
  Test Modules则需在Test Setup for Test Module窗口中定义。CANoe支持三种不同语言格式的测试模块:CAPL、XML和.NET。用户可以根据自身需求选择自己熟悉的语言来编辑测试模块。
  Test Modules是用于测试的执行单元。测试模块从测试执行到测试结果产生,最终可以由一个测试报告来呈现出来。测试模块包括若干个测试用例(Test Case),测试用例是测试的核心内容,包含所有的测试活动。这些测试活动由测试步骤(Test Step)组成,测试步骤是测试模块中相对小的测试块,用来表明测试序列当前执行到的测试点。
  CANoe操作流程
  下面我们以CAPL Test Module为例简单介绍一下测试工程的创建过程。
  在CANoe 主界面中选择【Test】→【Test Setup】, 打开TestSetup for Test Modules窗口,可以配置一个自定义的测试模块。
  在Test Setup for Test Modules窗口,在空白处单击鼠标右键并在菜单中选择【New Test Environment】,可以创建一个新测试环境。
  鼠标右键单击【Test Environment】,选择【Insert CAPL Test Module】来插入一个CAPL测试模块,默认的测试模块名称为Test 1。
  鼠标右键单击新建的测试模块Test 1,选择【Configuration】,打开CAPL Test Module Configuration 对话框。在Common选项卡中,可以修改【Module name】,并在【Test script】中添加编写好的.can文件。
  至此,测试模块已经配置完毕,双击测试模块即可打开CAPL测试模块的窗口。
  测试工程的配置还是比较简单的,但是自动化测试工程的重点在于添加的.can文件如何编写。
  .can文件是用CAPL语言编写的,CAPL是Vector公司专门为CANoe开发环境设计的编程语言,在语法和概念上与C语言类似。对于CAN总线测试而言,和CANoe配套,Vector公司提供了较为全面的、专业的ECU测试工具,包括物理层和数据链路层测试等。如可以使用CANscope和VH6501等工具来验证节点在电路设计、物理电平方面的性能,以及通信参数的一致性等。
  CANoe在CAN中应用
  接下来我们简单介绍一下我们在CAN总线测试中会执行的部分用例。
  01物理层测试
  在CAN总线的物理层测试中,我们一般会测试终端电阻、高低压通信范围、显隐性电压等。而测试终端电阻和高低压通信范围,我们会用到万用表和程控电源。
  CANoe提供了RS232通信相关的API,因此我们可以配合万用表和程控电源的使用说明,开发一套CANoe,它能通过一系列函数,实现终端电阻的测量以及高低供电电压的自动化设置,从而达到自动化测试的目的。而对于显隐性电压的测试,我们会用到CANscope。CANoe为其定制化了一系列控制和测量的API,能够直接测量出显隐性电压。
  更多的物理层相关测试就不一一介绍了,图片里截取的是help文档中的一些API可供大家参考。
  02数据链路层测试
  对于数据链路层测试,我们一般会测试位时间、采样点及报文DLC和ID等。
  位时间同样是利用Scope来完成,采样点则是利用VH6501来完成。我们在之前的文章中有具体介绍过如何进行采样点的测试,在自动化测试脚本的编写过程中,其实是引用了CANoe的示例工程里面的脚本,感兴趣的读者可以再看一下之前的文章总线干扰神器——VH6501,或者从CANoe的示例工程里面查看脚本逻辑。CANoe同样为VH6501集成了一系列API,可从help文档查看。
  03自动化测试
  至于CANoe的自动化测试系统,就不得不介绍它的两大功能,Test Feature Set(TFS)和Test Service Library(TSL)。
  TFS是CANoe扩展出来的一系列测试功能函数,包括约束和条件设置函数、信号测试函数、等待指示函数、测试控制函数、测试报告函数等等。
  而TSL是在TFS基本函数的基础上,提供一些特殊函数,例如检测函数、状态报告函数、以及检测控制函数等等,可以高效地解决某些特殊的测试问题,例如上文提到的报文ID和DLC的测试。这两大功能类别函数均可通过help文档查看其包含的具体函数的用法。
  在CAPL Test Module中,.can文件里的测试用例编写完成后,需要构造一个测试执行函数,CANoe实际运行测试工程时,就按照测试执行函数里的内容及顺序进行测试,并生成相应的测试报告。
  测试执行完毕后,CANoe会自动生成测试报告,通过单击测试模块窗口左下的【OpenTest Report】按钮来查阅报告。CANoe的测试模块生成的测试报告格式有以下两种。
  1. CANoe Test Report Viewer(推荐格式):使用CANoe测试报表查看器可以更加直观地查看和搜索测试报告的内容。它提供了滤波器、分组、导航以及用户定义视图等功能,查看测试报告更加便捷,分析测试结果更加专业;
  2. XML/HTML格式(以前的格式):该格式比较通用,即使没有安装CANoe的用户也可以直接查看,所以该格式具有较强的通用性。
  用户可以在CANoe主界面中选择【File】→【Options】进入Options对话框,通过【General】→【Test Feature Set】→【Reporting File Format】选择合适的报告格式。
  测试执行完成后,用户通过查看保存的log数据,就可以验证测试结果的正确性了。

TAG: 车载测试

 

评分:0

我来说两句

Open Toolbar