CANoe入门系列
简单的开关灯实现
- CANoe入门系列
- 一、创建新的项目
- 二、通过DBC创建节点
- 搭建画布 Panel
- 配置环境变量
- 使用CAPL编程使信号传输
- 运行
一、创建新的项目
双击选择CANFD500kBaud/4MBaud
新建页面如下
二、通过DBC创建节点
选择dbc的存放位置
右击Network nodes,创建switch和light节点
创建Message,填写Name,ID值越小优先级越高(light不需要过高的优先级,分配为三位数)
创建Signal,刚刚DLC为1,1byte=8bit,这边的length范围为1~8
将Signals拖拽到Messages下
再将message拖拽到switch下 保存
右键database,import Wizard,导入刚刚新建的dbc
选择刚刚的dbc,并将节点移动到 Assigned nodes中
显示如下
搭建画布 Panel
向画布中添加开关及LED图例
保存Panel
配置环境变量
进入Environment下的SystemVariables
新建NameSpace,并建立switch和light环境变量
再次打开Panel,将环境变量设置给图形化,保存
使用CAPL编程使信号传输
双击light节点新建can文件,switch收信号后,light发出信号
on sysvar switch_light_namespace::sl_switch{
//先获取到switch变化的msg信息
message switch_light_msg switch_light_msg;
//将变化后的信号值赋给signal
switch_light_msg.switch_light_sig=@this;
//返回msg信息
output(switch_light_msg);
}
on message switch_light_msg{
//让LED的信号值去等于开关变化后的值
@switch_light_namespace::sl_light=this.switch_light_sig;
}
运行
选择仿真总线