CANoe入门——键盘事件和系统变量事件

发布时间 2023-07-04 19:35:41作者: 小柴i

需求:将VT的Channel全部打开和关闭

实现方式:

  1.键盘事件 实现,在CANoe工程执行后,通过按键控制VT上Channel的断开和闭合

  2.系统变量事件 实现,创建系统变量与Button关联,设置系统环境变量,通过两个按钮控制断开和连接(按钮关联的系统变量未定义会有默认值,按下按钮也会改变,因此会触发系统变量事件,此处不关注Buttoon的值)

一、系统变量事件

  1. 首先先建立一个空的CANoe工程
  2. 建立事件传递的纽带:系统变量, 点击进入Environment->System Variables, 添加环境变量Button_Var.Connect,Button_Var.Breakdown
  3. 接下来新建Panel, 点击进入Tools->Panel Designer,添加Button
  4. 右键点击Button,选择Attach Variable..., 选择前面设计的系统变量Connect和Breakdown
  5. 开始CAPL的设计,在Simulation setup窗口Insert Network Node,
  6. 点击CAPL节点左下角铅笔
  7. 进入CAPL编辑界面,添加如下Code
on sysvar Button_Var::Connect
{
    write("[Verdict:]VT Circuit is Connected!");
    @sysvar::VTS::M4_Ch1::RelayOrgComponent = 1;
}


on sysvar Button_Var::Breakdown
{
    write("[Verdict:]VT Circuit is Breakdown!");
    @sysvar::VTS::M4_Ch1::RelayOrgComponent = 0;
}

二、键盘事件

  1. 开始CAPL的设计,在Simulation setup窗口Insert Network Node,
  2. 点击CAPL节点左下角铅笔
  3. 进入CAPL编辑界面,添加如下Code
on key 'c'
{
    write("[Verdict:]VT Circuit is Connected!");
    @sysvar::VTS::M4_Ch1::RelayOrgComponent = 1;
}

on key 'b'
{
    write("[Verdict:]VT Circuit is Breakdown!");
    @sysvar::VTS::M4_Ch1::RelayOrgComponent = 0;
}

 

图文可参考:

CANoe/CAPL基础(一):从0到1,如何整个按钮发送一帧报文? - 知乎 (zhihu.com)