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

CANoe入门系列

简单的开关灯实现

  • CANoe入门系列
  • 一、创建新的项目
  • 二、通过DBC创建节点
  • 搭建画布 Panel
  • 配置环境变量
  • 使用CAPL编程使信号传输
  • 运行


一、创建新的项目

双击选择CANFD500kBaud/4MBaud

CANoe入门系列--用CAPL实现简单的开关灯_第1张图片
新建页面如下
CANoe入门系列--用CAPL实现简单的开关灯_第2张图片

二、通过DBC创建节点

CANoe入门系列--用CAPL实现简单的开关灯_第3张图片
选择dbc的存放位置
CANoe入门系列--用CAPL实现简单的开关灯_第4张图片
右击Network nodes,创建switch和light节点
CANoe入门系列--用CAPL实现简单的开关灯_第5张图片
CANoe入门系列--用CAPL实现简单的开关灯_第6张图片
创建Message,填写Name,ID值越小优先级越高(light不需要过高的优先级,分配为三位数)
CANoe入门系列--用CAPL实现简单的开关灯_第7张图片
创建Signal,刚刚DLC为1,1byte=8bit,这边的length范围为1~8
CANoe入门系列--用CAPL实现简单的开关灯_第8张图片
将Signals拖拽到Messages下
CANoe入门系列--用CAPL实现简单的开关灯_第9张图片
再将message拖拽到switch下 保存
CANoe入门系列--用CAPL实现简单的开关灯_第10张图片
右键database,import Wizard,导入刚刚新建的dbc
CANoe入门系列--用CAPL实现简单的开关灯_第11张图片
选择刚刚的dbc,并将节点移动到 Assigned nodes中
CANoe入门系列--用CAPL实现简单的开关灯_第12张图片

显示如下
CANoe入门系列--用CAPL实现简单的开关灯_第13张图片

搭建画布 Panel

CANoe入门系列--用CAPL实现简单的开关灯_第14张图片

向画布中添加开关及LED图例
CANoe入门系列--用CAPL实现简单的开关灯_第15张图片
保存Panel
CANoe入门系列--用CAPL实现简单的开关灯_第16张图片

配置环境变量

进入Environment下的SystemVariables
CANoe入门系列--用CAPL实现简单的开关灯_第17张图片
新建NameSpace,并建立switch和light环境变量
CANoe入门系列--用CAPL实现简单的开关灯_第18张图片
CANoe入门系列--用CAPL实现简单的开关灯_第19张图片
再次打开Panel,将环境变量设置给图形化,保存
CANoe入门系列--用CAPL实现简单的开关灯_第20张图片
CANoe入门系列--用CAPL实现简单的开关灯_第21张图片

使用CAPL编程使信号传输

双击light节点新建can文件,switch收信号后,light发出信号
CANoe入门系列--用CAPL实现简单的开关灯_第22张图片

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;
}

运行

选择仿真总线
CANoe入门系列--用CAPL实现简单的开关灯_第23张图片
CANoe入门系列--用CAPL实现简单的开关灯_第24张图片

你可能感兴趣的:(仿真开发,CAPL编程,c++)