CANoe 之 CAPL编程
文章目录
- CANoe 之 CAPL编程
- CAPL 编程语言介绍及操作步骤
- CAPL介绍
- 操作步骤
- CAPL语法
- CAPL程序的结构
- 数据结构
- 事件类型概述
- 常见函数
CANoe 之 CAPL编程
CAPL 编程语言介绍及操作步骤
CAPL介绍
CAPL
全称Communication Access Programming Language ,是Vector 为 CANoe开发环境设计的类C语言。CAPL封装了丰富的库函数来帮助用户实现车载网络通信和诊断的仿真、测试功能。
操作步骤
- 建立虚拟节点
- 点击虚拟节点CAPL界面进入图标,进入编程界面
- 编程界面如图所示
- 编译信息
CAPL语法
CAPL程序的结构
- 一个完整的CAPL程序的结构包含了
头文件
、全局变量
、事件函数
、自定义函数
,当然不是每个因素都要有,视具体程序功能确定。
数据结构
- CAPL数据结构如下表:
数据类型 | 符号 | 字节长度 |
---|---|---|
无符号整数 | byte | 1字节 |
word | 2字节 | |
dword | 4字节 | |
有符号整数 | int | 2字节 |
long | 4字节 | |
浮点数 | float | 8字节 |
double | 8字节 | |
字符 | char | 1字节 |
定时器 | msTimer | 单位:ms |
timer | 单位:s | |
消息 | messsage | CAN报文消息 |
事件类型概述
事件类型 | 事件名 | 程序执行条件 | 事件过程语法结构 |
---|---|---|---|
系统事件 | preStart | CANoe初始化时执行 | on preStart { . . . } |
系统事件 | start | 测量开始时执行 | on start { . . . } |
系统事件 | stopMeasurement | 测量结束时执行 | on stopMeasurement { . . . } |
CAN消息事件 | 自定义 | 接受到指定消息时执行 | on message 自定义名 { . . . } |
时间事件 | 自定义 | 定时时间到后执行 | on timer 自定义名 { . . . } |
键盘事件 | 自定义键名 | 指定按键按下时 | on key 按键名 { . . . } |
CAN控制器事件 | busoff | 硬件检测到busoff时执行 | on busoff { . . . } |
CAN控制器事件 | errorActive | 硬件检测到errorActive时执行 | on errorActive { . . . } |
CAN控制器事件 | errorPassive | 硬件检测到errorPassive时执行 | on errorPassive { . . . } |
CAN控制器事件 | warningLimit | 硬件检测到warningLimit时执行 | on warningLimit { . . . } |
错误帧事件 | errorFrame | 硬件检测到错误帧时执行 | on errorFrame { . . . } |
常见函数
函数 | 说明 | 使用 |
---|---|---|
setTimer() | 设置开启一个定时器,时间到后关闭 | setTimer(Timer1,100) |
cancelTimer | 关闭定时器 | cancelTimer(Timer1) |
write() | 消息输出打印 | write(“The error has occur”) |
output | 发送报文 | output(msg) |
感谢阅读 若有错误 敬请见谅 !!!
CANoe 之 CAPL编程相关推荐
- CANoe之CAPL编程(CANoe系列其三)
CANoe之CAPL编程(CANoe系列其三) 1.CAPL概述 1.1.CAPL语言特性 1.2.CAPL的程序结构 1.3.CAPL的数据类型 1.4.CAPL事件类型概述 2.CAPL事件类型 ...
- 【CANoe之CAPL基础学习_如何正常在总线上中发送CAN消息】
前言 本文适合于新手使用CANoe进行基础CAPL编程.基于CANoe的VN1640在CAN网络上进行发送CAN报文,实现CAN总线报文的控制.本文主要通过使用CANoe模拟发送一条周期型报文.文章内 ...
- CANoe 入门 _CAPL编程
转自:https://www.cnblogs.com/dongdonghuihui/archive/2012/09/26/2704619.html CANOE入门(二) CAPL就是Communica ...
- CANoe中用CAPL脚本按特定格式发送报文
CANoe中用CAPL脚本按特定格式发送报文 需求 实验设备 实验环境 最近学习用CANoe软件测试CAN总线,纯新手,把最近的学习心得分享一下,欢迎大佬指正. 需求 1)仿真开始报文默认以100ms ...
- CANOE入门:CAPL语言(1)
CANoe项目中添加一个CAPL节点 添加CAPl节点有以下两种方法. 操作方法一 Simulation ->Measurement Setup ->选中要添加节点的地方右键->In ...
- CANOE入门:CAPL语言实现诊断发送和接收
目录 什么是诊断 CAPL诊断发送 CAPL接收 完整示例 什么是诊断 诊断,就是通过问和听的方式,也即发送和接收信号的方式,发送一条指定ID的CAN报文,ECU接收到后回应另一条指定ID的报文来确认 ...
- CANoe:CAPL周期发送CANFD报文
文章目录 一.关键设置参数 二.操作方式 1.插入CAPL脚本 2.编辑CAPL脚本 一.关键设置参数 只要在定义message下面两个参数的值并设置为1时,即可发送CANFD报文 FDF: If n ...
- CAPL编程中的思想:if...else...判断语句还能这么玩
CAPL中的[if-else-]语句,和其他语言的没有什么区别,用来判断给定条件是否满足.我们先简单复习一下它的用法:根据给定条件的多少,有三种用法: (1) 只有一种给定条件:if void Fun ...
- Capl编程xml标签语法(4) —— CAN报文周期检测/错误帧检测/信号改变检测。。。
最新文章
- word怎么根据点画曲线_圆锥曲线联解公式
- 消息队列的四大典型使用场景
- boost::leaf模块读取缓冲区中的文本文件并将其打印到 std::cout
- quilleditor 字体大小设置_vue-quill-editor如何设置字体默认大小?
- openFoam源码中的C++
- 【实践】js实现随机不重复抽取数组中元素
- 【Openstack】实录手动部署Openstack Rocky 双节点(5)- Neutron
- Redis Cluster集群搭建与应用
- 4月24 利用shell脚本添加环境变量
- andpods授权码订单号分享_Axure 9.0学生免费授权申请详细步骤
- c语言程序设计二级考试哪些题型,计算机二级考试题型
- Android长图文截图的实现(支持截取微博,知乎,头条等第三方app)
- 最优化学习 约束优化问题
- PWM波转DC直流之二阶RC低通滤波器设计
- 理解分布函数(概率论)
- 商家如何抓住当下最火的抖音本地生活?
- 笔记本电脑的计算机配置在哪里可以找到,如何查看笔记本电脑的配置?笔记本配置查看方法...
- 如何选择企业即时通讯软件
- 深度学习环境搭建(从卸载CUDA到安装,以及Pytorch与torchvision的安装。你从未见过的全有版本)
- EMC AUTOSTART双机热备