CANoe入门:手把手创建一个简单的仿真工程

宏观概念

如果是第一次使用CANoe,建议先将B站的官方视频看一遍,不用掌握,只要简单过一遍CANoe中有哪些模块就可以了,并且对CAN协议有一定的基础知识,强烈推荐看Vector对于CAN总线讲解的官方视频。
B站官方CANoe视频.
B站官方CAN视频.
B站官方Up: 维克多汽车技术

另一个需要理解的是CANoe所说的仿真是指什么,对于刚出校园的小白来说(比如我)提到仿真第一时间想到的是有限元仿真分析,但其实与CANoe的仿真千差万别。从帮助文档中就可以清晰看到ECU与CANoe仿真实现的结构对比,进而理解CANoe仿真过程中是怎么将报文从数据库中经过哪些路径发到总线上的。

在这里插入图片描述

需求定义

为了便于理解,我们定义一个非常简单的需求——用开关控制LED灯的亮和灭,类似于我们在车上打开和关闭近光灯(只是举个例子,并不是说汽车上的灯光控制就是用的CAN总线设计的)。

步骤

1、创建工程

在CANoe界面,点击左上角的file,按图示箭头,保存一个cfg文件到自己指定的位置。
在这里插入图片描述
也可以像我这样,新建一个文件夹,在里面创建如下这些子文件夹,按类型进行保存(在本文中只需创建CAPL、CFG、DBC、Panel这些文件就可以了),将cfg文件保存到CFG文件夹中。
在这里插入图片描述

2、创建数据库

这个需求非常简单,其实用不到数据库,但为了理解数据库的作用,这里创建一个简单的报文,首先打开CANdb++ Editor.
在这里插入图片描述
点击File->Create Database,选择最后一个模板创建数据库,并保存到前文提到的DBC文件夹中。
在这里插入图片描述

然后在跳出界面,分别右键Signal、Message、Network nodes,点击New,在跳出的界面直接点Ok。
在这里插入图片描述
鼠标选中创建的New_Signal_1拖拽到创建的New_Message_1里面,再把创建的New_Message_1拖拽到创建节点的Tx Message里面。 再双击New_Message_1,设置如下截图的属性,保存再关闭数据库就好了。
在这里插入图片描述
最后要将数据库导入到工程中。右键Databases,点击Import Wizard,在跳出的界面点击Select,选择刚刚保存的dbc,将Available nodes移到Assigned nodes中去,再点击Next——Finish即可。
在这里插入图片描述

3、创建Panel

Panel是一个模拟的面版,真实的灯或者手动的开关都可以直接设计在这个面版中可视化的去观察现象。点击New Panle,保存该panel到前面创建的Panel文件夹中。
在这里插入图片描述
找到开关和灯,直接拖进设计区域,先不用设计灯和开关的形状,能用就行。
在这里插入图片描述

选中开关后,点击Properties,一个设计鼠标的激活方式Left,一个将Symbol绑定DBC中创建的New_Signal(signal的名字可以改的,按自己前面创建的那个名字就行了);再选中灯的那个控件,在相应的Properties只将Symbol绑定New_Signal即可。
绑定signal的原因:可以看到下面截图中Switch Value为01,那就是说如果signal是0,那个开关或者灯的图标是一种状态,是1就是另一种状态;也可以反过来,如果开关或者灯是一种状态,就可以设定这个signal为0或者1.
在这里插入图片描述
刚保存完可以点击OK或者手动点击Add Panel,可以将Panel面版放到CANoe中。(Tips:右键“Panel4”,选择MDI Window,这样Panle就是内置在CANoe中,而不是分出第二个窗口了)
在这里插入图片描述
在这里插入图片描述

4、创建CAPL

所有的配置内容已经完成。这个时候,其实点击Start后,鼠标左键点击开关,灯已经可以亮和灭了,但为了体现CAPL代码的作用还是创建一些简单、实用的CAPL看看效果。
在这里插入图片描述
添加数据库时,就已经有一个仿真节点了,双击该节点,点解File,创建一个.can文件保存在前面创建的CAPL文件夹中。
在这里插入图片描述
然后右键节点点击Edit,打开CAPL Browser界面
在这里插入图片描述
编写一个非常简单的代码,实现用键盘上的a键控制灯的亮和灭。
在这里插入图片描述
在Start工程,按“a”就可以实现灯的亮和灭了,这是CAPL的一个简单示例,至此,一个简单的工程搭建完毕,希望对CANoe有了更深的理解。

在这里插入图片描述

  • 39
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值