本系列以初学者角度记录学习CANOE,以《CANoe开发从入门到精通》参考学习,CANoe16 demo版就可以进行学习
概念
CANoe是一种用于开发、测试和分析汽车电子系统的软件工具。它通过在不同层次上模拟汽车电子系统中的不同部件,如ECU、总线和传感器,来评估系统的功能和性能。CANoe也提供了一个环境,用于实验室和车辆之间的交互操作和信息传输,以及对调试信息的记录和分析。
CANoe主要用于以下汽车电子系统的开发和测试:
1 通信系统:CAN、LIN、FlexRay、Ethernet等
2 电子控制单元(ECU) 开发与测试
3 传感器和执行器的功能开发与测试
4 汽车网络安全性开发
5 功能安全性开发
6 车载娱乐系统开发与测试
大部分围绕这三部分:分析 、仿真和诊断。
为什么需要CANoe呢?
CANoe是一种极其重要的汽车电子系统开发工具,因为它允许开发人员在车辆生产之前测试和评估电子系统,从而减少成本和时间,同时提高产品质量和安全性。CANoe还提供强大的数据记录和分析功能,使开发人员可以更快速和精确地识别和解决错误和故障。此外,CANoe还支持多种通信协议和硬件接口,使得开发人员可以灵活地适应不同的汽车电子系统。
软件安装
CANoe下载
进入注册后,邮箱会收到CANoe的下载链接和demo Lisence
1、解压安装
我安装时,系统出现 提示disablemsi is enabled。只需将DisableMSI的值设置为 0 即可完成。
解决方法
2、注意安装路径默认是C盘
3、安装Activation key,vector已经通过邮箱发送给你。
创建第一个仿真工程
完成功能:使用一个开关按钮控制LED亮灭。
双击打开
1、创建单通道CAN总线仿真工程
出现界面
ctrl+S 保存,在一个文件夹FirstDemo,工程名:FirstDemo.cfg
2、新建CAN数据库
单击点击 Tools
弹出
2.1 添加报文
创建Database,并命名:FirstDemo.dbc,保存前面说的文件夹中
添加报文message
2.2添加信号
创建message和signals后,将signals下的bsSwitch拖到Msg1中
以上数据库已经创建完成。
2.3将Database add project 中
右键 将FirstDemo.dbc
3、定义系统变量
创建两个环境变量(按钮开关状态和灯状态),环境变量的Namespace都为MyNamespace下。
4、创建仿真面板,panel
两个仿真面板:按钮和LED,模拟实物。
4.1 创建 light panel
LIGHT panel,保存到工程
在toolbox,找到LED Contrl 拖到编辑框中
对象说明
点击LED 配置LED属性
关于配置 Symbol
以拖拽形式进行配置
如果没有系统变量
4.2创建 switch panel
同样的方法创建 SWITCH panel
5、创建网络节点
右键点击 CAN总线
Insert Network Node,插入两个网络节点。
5.1 设置网络节点,
修改Tile
5.2 添加 CAPL 程序
双击ECU,为SWITCH和LIGHT ECU创建CAPL程序。
代码:
//Switch.can
/*@!Encoding:936*/
on sysvar sysvar::MyNamespace::svSwitch
{
message Msg1 msg;
msg.bsSwitch = sysGetVariableInt(sysvar::MyNamespace::svSwitch);
output(msg);
}
//Light.can
/*@!Encoding:936*/
on preStart
{
write("关注 小昭debug");
}
on message Msg1
{
SysSetVariableInt(sysvar::MyNamespace::svLight,this.bsSwitch);
}
compile
6 工程运行仿真
显示Trace
右键打开按钮,灯亮,Trace显示报文信息。
待更新,敬请期待。