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

    在这里插入图片描述

    注意右侧的对应的通道

    在这里插入图片描述

    参考文章

  • 相关阅读:
    springboot+nodejs+vue+Elementui学生闲置物品交易网站
    【ES】笔记-Map介绍与API
    mysql面试题36:MySQL的binlog有几种录入格式?分别有什么区别
    c++新特性 智能指针和内存管理
    PHP中=>和->有什么区别?
    【JAVA】日志打印java.util.logging.*函数自定义格式,并且显示调用时行号
    如何查看yandex的转化Session Replay(会话重播)
    IDEA 打开项目后看不到项目结构怎么办?
    责任链模式之Tomcat Filter应用
    [C++基础]-多态
  • 原文地址:https://blog.csdn.net/qq_45172832/article/details/125979805