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

  • Post author:
  • Post category:其他


随着新能源、智能网联等概念发展,车载CAN总线环境变得复杂且紊乱,CAN节点质量不稳定会给主机厂带来极大威胁,所以

CAN总线测试已成为保证CAN网络安全运行的重要手段

而CANoe作为一款支持多种总线网络仿真、测试、诊断、和分析的工具,其丰富多样的功能和配置选项被全球90%以上的OEM和供应商所应用。今天,我们就来跟大家聊一聊,CANoe在CAN总线测试中的应用。



01


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)组成,测试步骤是测试模块中相对小的测试块,用来表明测试序列当前执行到的测试点。



02


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等工具来验证节点在电路设计、物理电平方面的性能,以及通信参数的一致性等。



03


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数据,就可以验证测试结果的正确性了。


以上就是我们给大家分享的CANoe在CAN总线测试中的应用了,任何疑问或是自动化测试需求,都可以随时联系我们噢,感谢大家的阅读~



版权声明:本文为m0_47334080原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。