当前位置:网站首页>CANoe使用教程
CANoe使用教程
2022-07-28 14:24:00 【嵌入式悦翔园】
前言
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编写我们的代码了。
创建DBC文件
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配置
CANoe硬件的配置主要是波特率和协议的选择。具体操作主要在Hardware中的Network Hardware中。

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

添加过滤器
在方框上右键选择 Insert Event Filter->CAN
配置后如下:

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

注意右侧的对应的通道

参考文章
边栏推荐
- I heard that many merchants of crmeb have added the function of planting grass?
- shellcode编写学习-环境
- php parse_url绕过白名单
- What functions will be added to crmeb Standard Version 4.4
- JOGY-61电压继电器
- day 7/12
- Heuristic merging simple problem on tree
- DAY:7/11
- R introduction example details
- Publish raspberry pie web page with cpolar (release of apache2 web page)
猜你喜欢
随机推荐
mysql 8.0常用(持续更新)
Multi merchant mall system with relatively clean code
4518. Minimum ticket price
【游戏测试工程师】初识游戏测试—你了解它吗?
[touch] count the number of engineering documents, code lines, and line comment coverage
An idea of modifying vertex height with shader vertex shader
Daily question (retrospective)
滑块还原和验证(法律数据库)
MySQL 8.0 common (continuous update)
Solve the problem of pycharm using PowerShell
redis常用命令总结(自备)
Classic Dijkstra and the longest way
DAY:7/11
使用cpolar发布树莓派网页(apache2的安装测试)
分享一下一二线大厂HR面经分享
Understand crmeb open source online education knowledge payment system
代码比较干净的多商户商城系统
PMP【敏捷教材+全真模拟题】,续6月25日考试之后,敏捷就成为了重中
Publish raspberry pie web page with cpolar (release of apache2 web page)
Stack expression







