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) |
感谢阅读 若有错误 敬请见谅 !!!