CANoe项目中添加一个CAPL节点

添加CAPl节点有以下两种方法。

操作方法一

Simulation ->Measurement Setup ->选中要添加节点的地方右键->Insert  Progran Node ->双击添加的节点->选择已有的CAPL文件或直接输入名称自动创建->保存即可打开编辑界面

操作方法二 

Simulation ->Simulation Setup ->选中要添加节点的地方右键->Insert  Progran Node ->双击添加的节点->选择已有的CAPL文件或直接输入名称自动创建->保存即可打开编辑界面

两种添加方式的区别 

Measurement Setup中添加CAPL节点,表示该程序是一个预处理或后处理节点,所有发送的CAN信号不只会在Trace窗口中收到,也不会在物理总线上接收到。而且从物理总线上接收到的信号都不会在Trace窗口中显示。可以把这个节点理解为ECU内的一个内置处理器,是ECU的一部份。

Simulation Setup中添加的CAPL节点,表示这是一个ECU节点,具有所有ECU的功能,和CANoe的IG仿真模块功能是一样的。跟CAN总线上的物理ECU具有一样的功能。所有的报文都会发送到物理总线上,所有从物理总线上收到的报文都会在Trace窗口中显示。可以直接理解为汽车上的一个ECU。

以上两种方式,需要根据实际场景去选择用哪一个。

添加一个简单的键盘事件代码

在打开的CAPL编辑界面中添加以下代码

Simulation ->Simulation Setup ->选中要添加节点的地方右键->Insert  Progran Node ->双击添加的节点->选择已有的CAPL文件或直接输入名称自动创建->保存即可打开编辑界面

代码如下:

includes
{}variables
{}//键盘事件
on key 'a'
{message 0x401 msg1;  //报文id和名称msg1.dlc = 8; //设置有效载何长度msg1.byte(0) = 0x02;  //字节0的内容msg1.byte(1) = 0x02;  //字节1的内容msg1.byte(2) = 0x03;  //字节2的内容msg1.byte(3) = 0x04;  //字节3的内容msg1.byte(4) = 0x01;  //字节4的内容msg1.byte(5) = 0x01;  //字节5的内容msg1.byte(6) = 0x01;  //字节6的内容msg1.byte(7) = 0x01;  //字节7的内容output(msg1);  //发送报文到总线上write("键盘事件..."); //在CANoe的屏幕上打印
}

上面的代码是最简单的测试代码,功能就是按下键盘上的"a"时,往总线上发送一个id为0x401的报文,并在Write窗口上打印一串文字。以上代码保存编译通过后,运行CANoe软件,按下A键就可以看到效果了。

 到这里就就完成了一个最简单的CAPL语言demo的开发了。

CANOE入门:CAPL语言(1)相关推荐

  1. CANOE入门:CAPL语言实现诊断发送和接收

    目录 什么是诊断 CAPL诊断发送 CAPL接收 完整示例 什么是诊断 诊断,就是通过问和听的方式,也即发送和接收信号的方式,发送一条指定ID的CAN报文,ECU接收到后回应另一条指定ID的报文来确认 ...

  2. CANoe 入门 _CAPL编程

    转自:https://www.cnblogs.com/dongdonghuihui/archive/2012/09/26/2704619.html CANOE入门(二) CAPL就是Communica ...

  3. CANOE入门(三)

    转自:https://www.cnblogs.com/fengliu-/p/7844085.html CANOE入门(三) 最好的学习方式是什么?模仿.有人会问,那不是山寨么?但是我认为,那是模仿的初 ...

  4. CANoe 之 CAPL编程

    文章目录 CANoe 之 CAPL编程 CAPL 编程语言介绍及操作步骤 CAPL介绍 操作步骤 CAPL语法 CAPL程序的结构 数据结构 事件类型概述 常见函数 CANoe 之 CAPL编程 CA ...

  5. CANoe之CAPL编程(CANoe系列其三)

    CANoe之CAPL编程(CANoe系列其三) 1.CAPL概述 1.1.CAPL语言特性 1.2.CAPL的程序结构 1.3.CAPL的数据类型 1.4.CAPL事件类型概述 2.CAPL事件类型 ...

  6. 如何零基础学习python语言_零基础如何入门Python语言?有哪些学习建议?

    众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...

  7. 零基础学python语言_零基础如何入门Python语言?有哪些学习建议?

    众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...

  8. 入门Go语言神器!超全学习资源+笔记,新手从零学习全过程资源汇总

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 如果你有意进大厂,学习Go语言一定要提到你的日程上了. 美国程序员招聘网站Hired发布<2019软件工程师状态>报告中显示,基 ...

  9. 蔡超:入门 Go 语言必须跨越的五个思维误区

    你好,我是蔡超,现在是Mobvista 技术副总裁,前亚马逊(中国)首席软件架构师,极客时间<Go语言从入门到实战>视频课程的作者. 在2018年的QCon北京全球软件开发大会上,我做了题 ...

最新文章

  1. 分享在winform下实现左右布局多窗口界面
  2. 特斯拉2021全年交付近百万辆,同比暴涨87%,马斯克:了不起!
  3. Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
  4. Apache Commons Configuration使用入门
  5. vmware的win98安装声音驱动
  6. python之模块之shutil模块
  7. 【Python成长之路】python 基础篇 -- global/nonlocal关键字使用
  8. 【原】lua的table深拷贝
  9. ldap java 对象 存储_java - 修改UID在LDAP存储库 - SO中文参考 - www.soinside.com
  10. 【WPF/WAF】使用System.Windows.Interactivity交互事件
  11. C#检测驱动是否安装的问题
  12. 公司有加密需求,需要试用天锐绿盾,该如何操作?
  13. 如何理解js中的this
  14. 海贼王燃烧意志服务器维修,海贼王燃烧意志刷经验
  15. python中lines是什么类型_python中write和writelines有什么区别
  16. 基于Modelingtoolkit的管网组件(Julia)
  17. 短视频处理LanSoEditor-SDK之抠图和动画设计
  18. MMCV之Runner介绍
  19. 教你用matlab低版本打开版本simulink文件
  20. leetcode 第344题 (Java实现) 字符串反转

热门文章

  1. 前端学习与工作中常用网站推荐
  2. THREE.JS 与其他库的对比
  3. 集群和分布式的区别,软件架构的演化过程,Apache Dubbo详解
  4. ZYNQ开发系列——hw_platform包和BSP包中的一些理解
  5. CDM技术分析和产品选型建议
  6. 详解JSP 中Spring工作原理及其作用
  7. 《线性代数》随笔:积沙成塔
  8. 论“正义”——什么是正义?
  9. jq.1.10.2.min.js中报错最后一行得解决办法
  10. 制造工厂生产线液晶电子看板显示终端