• CANoe使用教程


    前言

    CANoe是德国Vector公司为汽车总线的开发而设计的一款总线开发环境,全称叫CAN open environment。同Vspy一样,CANoe集合了网络监控、数据获取/记录、节点仿真、诊断、自动测试等功能;其丰富的功能和配置选项使其也是常见于汽车电子行业。接下来针对CANoe的常用操作进行介绍,具体分为以下几点:

    1. CANoe工程的新建;
    2. 通过Trace工具查看交互的报文内容;
    3. 通过Logging保存日志文件;
    4. 创建IG发送报文;
    5. 通过Graphics界面抓取信号波形;
    6. 加载cdd文件;
    7. 过滤报文ID的接收;
    8. 其他;
      在这里插入图片描述

    新建工程

    打开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、配置NameID

    在这里插入图片描述

    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或数据库进行选择。

    在这里插入图片描述

    注意右侧的对应的通道

    在这里插入图片描述

    参考文章

  • 相关阅读:
    iOS开发基础102-后台保活方案
    JS深拷贝和浅拷贝的区别
    少即是多:视觉SLAM的点稀疏化(IROS 2022)
    【应用统计学】参数统计-抽样分布
    喜马拉雅后端一面
    Chat2DB下载、以及AI功能使用
    每日一题:吃透大文件上传问题(附可运行的前后端源码)
    Mysql - 从一个小 case 理解 MVCC
    【MindSpore易点通】网络构建经验总结下篇
    在linux反编译安卓apk并修改AndroidManifest.xml的值
  • 原文地址:https://blog.csdn.net/qq_45172832/article/details/125979805