当前位置:网站首页>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或数据库进行选择。

注意右侧的对应的通道

参考文章
边栏推荐
- crmeb pro2.2即将增加的功能都有哪些?
- [leetcode] 35. Search the insertion position
- What are the main threats to cloud security
- Shellcode writing (unfinished)
- Ry-d1/1 voltage relay
- Principle and configuration of MPLS LDP
- PMP practice once a day | don't get lost in the exam -7.28 (including agility + multiple choices)
- 3564. 日期类
- 模板注入总结
- JWY-32B电压继电器
猜你喜欢

Jwy-32b voltage relay

流畅到让人头皮发麻的单商户商城,你用过吗?

In 2022, the average salary of global programmers was released, and China ranked unexpectedly

mysql 8.0常用(持续更新)

Multi merchant mall system with relatively clean code

Here comes the full open source free customer service system

2022年全球程序员平均薪资发布,中国排名很意外

Shellcode writing (unfinished)

一文看懂CRMEB开源在线教育知知识付费系统

从thinkphp远程代码执行学php反射类
随机推荐
Ry-d1/1 voltage relay
经典Dijkstra与最长路
DataTables warning: table id=campaignTable - Cannot reinitialise DataTable.解决
DAY:7/11
Heuristic merging simple problem on tree
An idea of modifying vertex height with shader vertex shader
How to set some app application icons on the iPhone Apple phone that you don't want others to see? How to hide the app application settings on the mobile desktop so that they can be used normally afte
2022年全球程序员平均薪资发布,中国排名很意外
ERROR:bokeh.core.validation.check:E-1001 (BAD_COLUMN_NAME)
听说crmeb多商户增加了种草功能?
shellcode编写学习-环境
电压继电器DY-28C
软件测试的流程规范有哪些?具体要怎么做?
3540. Binary search tree
配置cx-oracle 解决(cx_Oracle.DatabaseError) DPI-1047: Cannot locate a 64-bit Oracle Client library: “Th
JWY-32B电压继电器
RY-D1/1电压继电器
SRTT-110VDC-4H-C时间继电器
Publish raspberry pie web page with cpolar (release of apache2 web page)
DJ-131/60C电压继电器