CANoe入门系列--用CAPL实现简单的开关灯

CANoe入门系列


一、创建新的项目

双击选择CANFD500kBaud/4MBaud

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
新建页面如下
在这里插入图片描述

二、通过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;
}

运行

选择仿真总线
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_48143996/article/details/129499087