首页 > 其他分享 >CANoe入门——键盘事件和系统变量事件

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

时间:2023-07-04 19:45:51浏览次数:55  
标签:Breakdown CAPL 变量 CANoe Button 键盘 VT 事件 sysvar

需求:将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)

标签:Breakdown,CAPL,变量,CANoe,Button,键盘,VT,事件,sysvar
From: https://www.cnblogs.com/aplmmy49y/p/17526804.html

相关文章

  • 【十四】JavaScript之DOM中的事件操作
    【十四】JavaScript之DOM中的事件操作【1】事件操作所谓的事件(Event),其实就是用户与浏览器之间的一次交互过程或交互行为。例如:用户输入一段内容,用户鼠标晃动一下等等。js中提供了大量的事件操作给开发者,在用户发生事件操作以后,进行反馈,响应。事件类型有很多,但是操......
  • Qt InputDialog 置顶后模拟键盘输入失效问题
    开发环境:Qt5.12.2+QtCreator4.8.21、问题背景嵌入式linux-arm触摸屏移植了谷歌拼音输入法后测试使用问题2、问题现象1)主窗口编辑框输入法有效2)QInputDialog弹框输入法失效3、问题原因 初步怀疑是QInputDialog置顶问题导致4、问题解决......
  • 使用uni-app中的uni-popup-dialog组件编译成小程序会自动弹出键盘问题
    1.uni-app中使用uni-popup和uni-popup-dialog组件mode模式为input时,会自动把键盘弹出来,如图所示: 2.代码如下:<uni-popuptype="dialog"ref="dialog"><uni-popup-dialogmode="input"title="name"placeholder="请输入name"@confi......
  • 如何发布符合 .NET 准则的事件
    下面的过程演示了如何将遵循标准.NET模式的事件添加到类和结构中。.NET类库中的所有事件均基于 EventHandler 委托,定义如下:publicdelegatevoidEventHandler(objectsender,EventArgse);尽管定义的类中的事件可基于任何有效委托类型,甚至是返回值的委托,但一般还是建议使用......
  • jQuery 事件对象
    1.1.jQuery事件注册​ jQuery为我们提供了方便的事件注册机制,是开发人员抑郁操作优缺点如下:优点:操作简单,且不用担心事件覆盖等问题。缺点:普通的事件注册不能做事件委托,且无法实现事件解绑,需要借助其他方法。语法//语法element.事件名称(function()({})//点击事件......
  • MacBook pro今天开机屏幕不亮了,其它什么都好的,键盘也亮的,声音软件都好的
    背景MacBookpro前两天从柜子上摔下来了,开机后发现屏幕不亮,其余的键盘灯,开机声音,显示器背面的logo也是亮的。自己试了很多网上的方法都不行。  相关问题有两种可能性:1.可能是屏幕排线松动引起的屏幕无法显示图像。2.可能是主板损坏,导致屏幕无法显示图像。  拿去华强......
  • JS常见的事件
    onblur元素失去焦点时触发onblur事件会在对象失去焦点时发生。Onblur经常用于Javascript验证代码,一般用于表单输入框。提示:onblur相反事件为onfocus事件。onchange该事件在表单元素的内容改变时触发(<input>,<keygen>,<select>,和<textarea>)onchang......
  • JavaScript 事件的绑定
    <!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title></title> <scripttype="text/javascript"> window.onload=function(){ /* *点击按钮以后弹出一个内容 */ //获取按钮......
  • JavaScript 事件的传播
    <!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title></title> <styletype="text/css"> #box1{ width:300px; height:300px; background-color:yellowgreen; } ......
  • JavaScript 事件的委派
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <scripttype="text/javascript"> window.onload=function(){ varu1=document.getElementById("......