需求:将VT的Channel全部打开和关闭
实现方式:
1.键盘事件 实现,在CANoe工程执行后,通过按键控制VT上Channel的断开和闭合
2.系统变量事件 实现,创建系统变量与Button关联,设置系统环境变量,通过两个按钮控制断开和连接(按钮关联的系统变量未定义会有默认值,按下按钮也会改变,因此会触发系统变量事件,此处不关注Buttoon的值)
一、系统变量事件
- 首先先建立一个空的CANoe工程
- 建立事件传递的纽带:系统变量, 点击进入Environment->System Variables, 添加环境变量Button_Var.Connect,Button_Var.Breakdown
- 接下来新建Panel, 点击进入Tools->Panel Designer,添加Button
- 右键点击Button,选择Attach Variable..., 选择前面设计的系统变量Connect和Breakdown
- 开始CAPL的设计,在Simulation setup窗口Insert Network Node,
- 点击CAPL节点左下角铅笔
- 进入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; }
二、键盘事件
- 开始CAPL的设计,在Simulation setup窗口Insert Network Node,
- 点击CAPL节点左下角铅笔
- 进入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)
标签:Breakdown,CAPL,变量,CANoe,Button,键盘,VT,事件,sysvar From: https://www.cnblogs.com/aplmmy49y/p/17526804.html