CANoe是德国Vector公司为汽车总线的开发而设计的一款总线开发环境,全称叫CAN open environment。同Vspy一样,CANoe集合了网络监控、数据获取/记录、节点仿真、诊断、自动测试等功能;其丰富的功能和配置选项使其也是常见于汽车电子行业。接下来针对CANoe的常用操作进行介绍,具体分为以下几点:
CANoe工程的新建;Trace工具查看交互的报文内容;Logging保存日志文件;IG发送报文;Graphics界面抓取信号波形;cdd文件;ID的接收;
打开CANoe软件,在工具栏的File中点击New,双击选择创建的模板 ,再保存创建的cfg工程文件。如下:


系统变量是一种特殊的变量,用来描述某种特殊状态或者记录测量数据。一般有系统定义和用户定义两种,他们的作用于都是在各自的命令空间内。功能上两者没有区别,都相当于全局变量,方便软件数据交互;优先使用系统变量。
1、首先点击Environment下的System Variable

2、在弹出窗口点击New System Variable

3、在弹出页面创建系统变量需要的参数
注意:
Namespace:定义了系统变量组的名称。如果需要在大的系统变量组里新建次级的系统变量组,则需要使用到Name1::Name2格式。Name:系统变量的具体名称,后续的使用会直接引用该名称。Data type:选择需要的类型,下拉菜单中支持的所有类型均在截图中可以看到。Location:该系统变量组存放的路径、名称和格式。我所在的项目中使用到了XML/vsysvar两种格式。Values:初始值、最小值、最大值、单位、值表。4、定义好命名空间和变量名选择 32 bit signed类型,点击ok即可

5、通过copy完成其他变量的创建

6、通过双击可以对复制的变量进行编辑

在系统变量被定义好了之后,相当于我们定义了一个全局变量。具体如何来使用,我们可以通过CAPL内自带的函数来完成使用。
1、创建一个新的Network Node
依次点击Simulation–> simulation setup–>找到simulation setup窗体–>右键Network Node选择Insert Network Node


2、创建一个test.can文件用于写代码


这样我们就可以直接在test.can编写我们的代码了。
1、依次点击tools --> CANdb++ Editor

2、在弹出窗口点击File–>Create Database...

3、在弹出窗口选择如图CANTemplate.dbc,点击OK

4、给文件起个名字,并将文件存储在想要存储的位置
5、点击MyMsg,右键选择New
6、配置Name和ID

7、在Signals下面创建一个信号BusSwitch,信号设置如下图所示,单击ok保存。

8、将BusSwitch拖动到MyMsg下面,这样BusSwitch就变成报文MyMsg的一条信号

9、至此数据库就建立完毕了,直接保存退出

10、将我们的数据库导入进来,右键Databases点击add

CANoe硬件的配置主要是波特率和协议的选择。具体操作主要在Hardware中的Network Hardware中。

如果还想要从硬件层直接过滤掉非目标帧的报文,可在设置中增加过滤器。可以从DBC中选择,也可以直接手动填入。
Mask表示CAN控制器中过滤器的掩码,在这里不做过多的阐述。如想深入了解,请自行查询Vectore Hardware手册。
如果工程已经创建的CAN 网络数量不满足当下的使用需求,可以自行添加。具体的添加路径在下图。添加的数量不能超过CANoe自身最大的通道数。

在方框上右键选择 Insert Event Filter->CAN

配置后如下:

1、双击CFB
2、添加要滤出ID Pass filter(显示的ID),可以通过ID或数据库进行选择。

注意右侧的对应的通道
