CANOE入门:CAPL语言(1)
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)相关推荐
- CANOE入门:CAPL语言实现诊断发送和接收
目录 什么是诊断 CAPL诊断发送 CAPL接收 完整示例 什么是诊断 诊断,就是通过问和听的方式,也即发送和接收信号的方式,发送一条指定ID的CAN报文,ECU接收到后回应另一条指定ID的报文来确认 ...
- CANoe 入门 _CAPL编程
转自:https://www.cnblogs.com/dongdonghuihui/archive/2012/09/26/2704619.html CANOE入门(二) CAPL就是Communica ...
- CANOE入门(三)
转自:https://www.cnblogs.com/fengliu-/p/7844085.html CANOE入门(三) 最好的学习方式是什么?模仿.有人会问,那不是山寨么?但是我认为,那是模仿的初 ...
- CANoe 之 CAPL编程
文章目录 CANoe 之 CAPL编程 CAPL 编程语言介绍及操作步骤 CAPL介绍 操作步骤 CAPL语法 CAPL程序的结构 数据结构 事件类型概述 常见函数 CANoe 之 CAPL编程 CA ...
- CANoe之CAPL编程(CANoe系列其三)
CANoe之CAPL编程(CANoe系列其三) 1.CAPL概述 1.1.CAPL语言特性 1.2.CAPL的程序结构 1.3.CAPL的数据类型 1.4.CAPL事件类型概述 2.CAPL事件类型 ...
- 如何零基础学习python语言_零基础如何入门Python语言?有哪些学习建议?
众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...
- 零基础学python语言_零基础如何入门Python语言?有哪些学习建议?
众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...
- 入门Go语言神器!超全学习资源+笔记,新手从零学习全过程资源汇总
铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 如果你有意进大厂,学习Go语言一定要提到你的日程上了. 美国程序员招聘网站Hired发布<2019软件工程师状态>报告中显示,基 ...
- 蔡超:入门 Go 语言必须跨越的五个思维误区
你好,我是蔡超,现在是Mobvista 技术副总裁,前亚马逊(中国)首席软件架构师,极客时间<Go语言从入门到实战>视频课程的作者. 在2018年的QCon北京全球软件开发大会上,我做了题 ...
最新文章
- 分享在winform下实现左右布局多窗口界面
- 特斯拉2021全年交付近百万辆,同比暴涨87%,马斯克:了不起!
- Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
- Apache Commons Configuration使用入门
- vmware的win98安装声音驱动
- python之模块之shutil模块
- 【Python成长之路】python 基础篇 -- global/nonlocal关键字使用
- 【原】lua的table深拷贝
- ldap java 对象 存储_java - 修改UID在LDAP存储库 - SO中文参考 - www.soinside.com
- 【WPF/WAF】使用System.Windows.Interactivity交互事件
- C#检测驱动是否安装的问题
- 公司有加密需求,需要试用天锐绿盾,该如何操作?
- 如何理解js中的this
- 海贼王燃烧意志服务器维修,海贼王燃烧意志刷经验
- python中lines是什么类型_python中write和writelines有什么区别
- 基于Modelingtoolkit的管网组件(Julia)
- 短视频处理LanSoEditor-SDK之抠图和动画设计
- MMCV之Runner介绍
- 教你用matlab低版本打开版本simulink文件
- leetcode 第344题 (Java实现) 字符串反转