大数跨境

Step by Step学习CANoe三大工具链(下)

Step by Step学习CANoe三大工具链(下) 怿星科技
2018-11-02
2
导读:在上一期文章《Step by Step学习CANoe三大工具链(上)》中,向大家介绍了CAN网络的规划与设计,并定义了网络中节点之间报文收发逻辑的通信矩阵。今天我们将继续与大家分享CANoe中的仿真、

在上一期文章Step by Step学习CANoe三大工具链(上)》中,向大家介绍了CAN网络的规划与设计,并定义了网络中节点之间报文收发逻辑的通信矩阵。今天我们将继续与大家分享CANoe中的仿真、面板设计和CAPL程序设计,让你的Demo running起来!

图1 CANoe Demo流程图

网络仿真与实现的四个步骤:

1.    CANoe中Simulation Setup导入数据库

图2 CANoe中Simulation Setup导入数据库

2.    CANoe中新建面板(Panel Designer)

以控制(Control)面板为例,点击工具栏的Tool->Panel Designer,新建面板,命名为Control.xvp,并保存。

在面板上从右侧Toolbox拖入需要的Switch/Indicator控件(点火开关)并适当调整大小,如图3所示:

图3 添加Switch/Indicator控件

Switch/Indicator控件右侧的属性(Properties)窗口,选择Image属性添加控件的填充图片,如图4所示:

图4 选择填充图片

图4 选择填充图片

注意:位图文件来源于CANoe安装目录下的Demo工程中的位图,路径为C:\Users\Public\Documents\Vector\CANoe\Sample Configurations11.0.42\CAN\CANSystemDemo\Panels\Bitmaps。


Switch/Indicator控件右侧的属性(Properties)窗口,选择Symbol属性,添加控件关联的Symbol(Signal/Environment Variable/System Variable/Service Signal),如图5所示:

图5 控件的环境变量关联

完成以上步骤,设计完成的Control面板如图6所示。

图6 Control面板的界面

3.    CANoe中各个仿真节点的功能实现

以上介绍了数据库(.dbc文件)和面板设计的基本步骤,为了把数据库中的元素和面板上的各个控件关联起来,进而实现各个节点的功能,还需要编写各个节点对应的CAPL程序。

1.    CAPL编程简介

CAPL是一种类C的编程语言,CAPL程序必须通过编译才可执行。CAPL的可执行文件扩展名为*.cbf,编译可通过菜单命令、工具条按钮、或快捷键来激活,信息窗格显示编译信息,通过错误信息定位错误。一个完整的CAPL程序包括三个部分,如图7所示:

(1)申明与定义全局变量(变量)

(2)各种事件过程

(3)申明与定义自己的函数(自定义函数)

图7 CAPL程序的组成部分

2.    EngineECU的CAPL程序设计

点击Simulation Setup中EngineECU上的新建该节点对应的CAPL程序,命名为engine.can,并保存在Nodes文件夹中,如图8所示。

图8 CAPL Browser的界面

首先在variables中声明和定义需要用到的全局变量,如图9所示。

图9 全局变量的声明与定义

在Vector CAPL Browser的左侧的System右击->New Event Handler,新建on start事件的句柄。

on start

{

   write(“this is CAPL of EngineECU!”);

}

在Vector CAPL Browser的左侧的System右击->New Event Handler,新建on envVar事件的句柄,如图10-11所示。

图10 新建on envVar事件的句柄

图11 on envVar事件的处理过程

编写好CPAL程序后点击工具栏的或键盘的快捷键F9)来编译CAPL程序,在下方的Output窗口会显示编译成功或错误的信息。

4.    CANoe中运行仿真

在CANoe中的下方Desktop新建一个桌面,命名为UI,将需要用到的控件面板、Graphics窗口和Data窗口等布局好并保存桌面。连接带有License的硬件接口卡(如VN1630),在CANoe中点击工具栏的行仿真,在面板上操作各个控件查看对应的控制和显示效果,如图12所示。

图12 仿真运行效果

到这里,一个简单的CANoe Demo就实现了,赶快动手试试吧!


相关精彩推荐:

 Step by Step学习CANoe三大工具链(上)



怿星一意,专注车载

引领汽车科技新高度







【声明】内容源于网络
0
0
怿星科技
让智能汽车研发更高效!
内容 428
粉丝 0
怿星科技 让智能汽车研发更高效!
总阅读1.3k
粉丝0
内容428