赞
踩
一。官网下载网站
2.找到下载中心
3.进行搜索
4.选择版本
5.下拉选择下载
6.安装
双击
选择路径
点击install,等待安装(安装时间较长,耐心等待)
安装完成后点击exit
在菜单栏查看有无CANoe 13 SP3
打开CANoe 13 SP3 ,选择 I accept
弹出界面选择 open vector license client
进入一下界面点击activate
输入激活码 点击load 选择后点击actvate
二。使用
CAPL可以在CANoe界面Tools>>CAPL Browser中打开。
1.
CAPL打开方式
CAPL界面由功能区、程序框架浏览树、输出窗口、编辑区、访问区五部分组成。
2.
CAPL界面
顾名思义,程序编辑区就是编写CAPL脚本的区域;程序架构浏览树起目录的作用,可以把编辑区定位到编写的事件或函数类型的语句;输出窗口可以输出编译过程中的事件和使用搜索时定位到的结果;访问区能够访问到CANoe工程加载的数据库中的信号、创建的系统变量以及CAPL函数库中的语句,直接从右侧访问区拖拽到中间编辑区使用(注意:工程创建路径中不能有中文,否则访问不到数据库文件)。
功能区由五部分构成,首先是File菜单栏,与大多数软件相同,它是文件创建、保存、加载、设置等功能区域。
3.
File菜单栏
Home功能区提供了CAPL编译常用功能,包括代码编译、查找、替换、屏蔽、取消屏蔽等功能。
4.
Home功能区
Filter功能区的作用是管理CAPL的函数库,可以在函数访问区中屏蔽掉不需要的函数。
5.
Filter功能区
Debug功能区是调试的区域,提供了一些基本的调试操作,一般情况下不通过debug模式来调试脚本。基本上编译一次,存在错误可以通过Output输出窗口获得错误类型并进行更改。如果脚本编译成功之后,仍然不能满足测试步骤的输出,一般会使用Write窗口进行调试。
6.
Debug功能区
Layout功能区主要是针对CAPL用户的页面展示。例如进行水平分区、垂直分区等操作方便用户进行脚本编写。
7.
Layout功能区
CAPL应用场景
1.节点仿真
关联Simulation Setup中的ECU节点,实现ECU节点仿真和整车网络仿真。
Simulation Setup窗口
2.测试功能
关联Simulation Setup中的Test Module模块或是Test菜单中的Test Setup,结合TSL(Test Service Library,测试服务库)进行测试功能开发。
Test Setup窗口
3.分析功能
关联Measurement Setup窗口功能模块中的Program Node,实现总线过滤、分析功能。
Measurement Setup窗口
CAPL脚本结构
一个完整的CAPL脚本由三部分组成:变量、各种事件和自定义函数。
CAPL的三部分
CAPL的事件类型包含三种:总线事件、属性事件、时间事件。CAPL常用的事件类型如下图所示。
CAPL常用函数
下面以CANoe中Easy工程的light.can脚本为例介绍CAPL中的常用函数,该脚本与Panel联用实现转向灯仿真。
声明全局变量
上图是CAPL中的全局变量声明,其中 ‘msTimer’为声明以ms为单位的计时器;‘const int’为声明int类型的常值变量,该变量的值无法改变;‘int’为声明int类型的变量,该类型变量有符号,长度为2字节。
系统事件
‘on start’是系统事件,测量开始执行会触发该事件,也就是点击Start按钮触发。
CAN消息事件
‘on message’是CAN消息事件,接收到指定消息时执行。‘on message LightState’是对名字为LightState的报文反应,除直接使用字符串外,还可以使用报文ID指定触发报文。‘on message 123’是对ID为123(dec)的报文反应;‘on message 0x123’ 是对ID为123(hex)的报文反应;‘on message *’是对所有的报文反应;‘on message 100-200’是对ID为100-200间的报文反应。
系统变量事件
‘on sysvar sysvar’是系统变量事件,指定的系统变量值改变时执行。与之相对应另一个系统变量事件是‘on sysvar_update sysvar’,指定的系统变量值更新时执行。
‘setTimer(msTimer t,long duration)’是设置定时器函数,他有两个输入参数,第一个为声明的定时器变量,第二个是设定的时间。‘cancelTimer(msTimer t)’是取消定时器函数,入参为定时器变量,该函数的作用为取消设定的定时器。
时间事件
‘on timer’为时间事件,定时时间超过时执行,它与设置定时器函数联用。定时器通常应用在实现某个任务循环,在时间事件中写入一个设置定时器函数实现循环。
‘on key’为键盘事件,被指定的键按下时执行。该事件常用于脚本调试。
此外,‘write()’函数在调试脚本中也常使用,该函数基于C语言中的‘printf()’函数,可以将文本消息输出在write窗口中。
学习记录记录~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。