前言:学习时需要用到工程模拟收发信号测试,由于我没有可以直接用的工程,于是我在B站搜索了相关视频进行学习,学习笔记转换为下列文档以供互相参考;
原视频连接如下:零基础创建CANoe仿真工程_哔哩哔哩_bilibili
1.在自己熟悉的路径下创建这次的demo文件夹(我命名为kaiguanDEMO),在此文件夹下创建四个空的文件夹,文件夹名如下:
2.打开CANoe,点击new,双击CAN 500kbaud,选择1路径下的文件夹后点击ok;
3.新建数据库,点击tools-CANdb++ Editor,新界面点击file-create database,新界面双击选择CANoeTemplate.dbc,然后保存在步骤1路径下的CANdb文件夹下后弹出新界面;
4.编辑数据库,步骤3后的新界面点击message-new,改名称(Msg1)和ID(0x0100)后点确定,接下来点singles-new,改名称(bsSwitch)和最大值(1)后点确定,将信号拖到Msg1里进行关联;candb文件夹下会自动生成dbc文件;
5.加载步骤4生成的数据库;
6.添加系统变量,点击Environment-System Variables-新窗口,空白界面右键-new-新窗口,自定义输入name(svlight)和namespace后点击ok,重复步骤添加svSwitch后点击ok;
7添加panel仿真面板
7.1 点击tools-Panel Designer-新界面,点击file-save as-步骤一路径下的panels-点击OK,右下角toolbox-ALL-双击Switch/Indicator,在灯的图标上右键-点击Attach Variable,选择步骤6的svSwitch变量后点击OK;
7.2 右下角toolbox-ALL-双击Static Text-在文本框里右键-点击Show Properties-自定义修改文本(switch),保存panel。
7.3 新建panel(light),重复7.1和7.2步骤,保存后退出;
8.添加网络节点
8.1 回到Simulation Setup界面,线上右击,点击Insert Network Node;在ECU节点位置右击,选择Configuration,修改名字(Switch),重复步骤添加light;
8.2 在ECU节点位置右击,选择Configuration,选择file,在步骤1的nodes文件夹下保存路径;light和Switch同样方法;
8.3 点击Switch节点左下角的编写图标,进入脚本编写界面;编写完成点击compile运行一下,无报错后保存;同样方法完成light;
Switch脚本如下:
on preStart
{
write("I'm fine,thank you");
}
on sysvar Sysvar::kaiguanspace::svSwitch
{
message Msg1 msg;
msg.bsSwitch = sysGetVariableInt(Sysvar::kaiguanspace::svSwitch);
output(msg);
}
light脚本如下:
on message Msg1
{
sysSetVariableInt(sysvar::kaiguanspace::svlight,this.bsSwitch);
}
9.左下角菜单栏右键,点击create new desktop-test,点击Simulation-Simulation Setup,右击选择MDI window(保持窗口在前面,可跳过),同样方法点击Analysis-Measurement Setup和trace和graphics,graphics左边空白区域右键选择add signals添加信号(此笔记仅一个信号);
剩下操作步骤省略如下所示: