Vector——CAPL语言设计

2023-12-16 16:17:07


前言

CAPL全称为Communication Access Programming Language,即通信访问编程语言。它是Vector公司专门为CANoe开发环境设计的编程语言,在语法和概念上与C语言类似。借助CAPL,用户可以编写程序并应用到网络的各个节点上,也可以利用CAPL编程加强测量分析功能,以及搭建高效的自动化测试模块。

常用软件开发工具有Vector CAPL Brower和vTESTstudio两种工具,我们可以通过这两种工具进行各种相关软件的开发。


一、CAPL主要用途

CAPL可以说是CANoe的灵魂,使CANoe满足仿真、分析、测试和诊断的各种复杂的要求,同时使CANoe的功能得以不断扩展。概括起来,CAPL的主要用途有以下几点:
(1)使用易于理解的编程语言来仿真节点或模块;
(2)仿真事件报文、周期报文或者附加条件的重复报文;
CAPL就为了总线通讯编程语言,总线里面肯定有一些报文或者周期报文或者说报文相关的一些属性,这时候我们就可以很方便地来添加。

(3)使用PC键盘模拟操作按钮等人工操作事件;
通过按键来触发我们ECU里面的一些动作就可以了,就不用外设直接接到ECU里面,然后通过外设来操作我们的ECU仿真ECU。

(4)仿真节点的定时或网络事件;
(5)仿真多个时间事件,每个事件有自己的特定行为;
(6)仿真普通操作、诊断或生产操作;
(7)仿真物理参数或报文的变化;
(8)生成错误帧,评估模块和网络软件处理机制;
(9)仿真模块或网络错误来评估相关的防错机制;
(10)提供网络测试、诊断等功能测试库函数。

二、CAPL的特点

CAPL类似C语言,与C语言在语法和结构上有很多相同之处,但同时又包含了一些C++的特性(主要表现在函数声明和调用)。
(1)未定义返回类型,默认为void类型;
(2)像C++一样允许空的参数列表;
(3)像C++一样允许函数重载;
(4)参数检测与C++中一样;
(5)CAPL提供一些自带的库函数;
(6)CAPL编译时不对自带的关键字和自带的函数名做区分。

三、Vector CAPL Browser(CAPL浏览器)

优点:
(1)免费,CANoe自带的CAPL Browser是CAPL程序的开发环境;
CAPL Browser

(2)开发相对简单,可以直接开发完成后可直接在CANoe中运行,简单功能无需其他配置(当然如果实现复杂功能还是需要配置)
(3)资源占用少,这个编辑工具非常的轻巧,无需电脑过高的配置

缺点:
(1)很难实现大规模的自动化脚本开发
(2)对于复杂的脚本编辑较为困难(这里的苦难并非开发困难,而是维护困难),就算是在开发之处进行代码架构设计,依然很难实现大型平台化,基本以单个模块的脚本形式作为一个工程实现
(3)后期维护困难,由于现在各家公司项目基本都是十几个、几十个不等,这就导致需要不同的测试功能区匹配,也需要同时去维护,这就极大的增加了工程师的工作量,增加工作负担。

界面

CAPL程序的文件后缀为.can

四、vTESTstudio

优点:
(1)对于脚本的整体性管理,我们可以将所有需要的脚本放在一个底层下进行管理,例如常用的功能报文的发送,当我们封装好后,可以在网络管理、CAN通信、诊断等多种测试模块中调用,极大的避免重复造轮子。
(2)代码分层设计,基础函数作为底层进行封装,不断的积累软件财富,生成应用函数进行分门别类,保证各个项目所需,最终实现的代码架构清晰明了。
(3)降低开发人员开发难度,封装好底层函数,对于后期新增用例,无需开发底层函数,只需要对已有的应用函数进行拖拽编辑即可完成脚本开发。
(4)高覆盖度,vTESTstudio可以使用与当前vector工具链所有需要编程的自动化开发。
(5)图形化编辑,vTESTstudio包含图形化编辑用例和脚本,更加清晰的给工程师提供编程思路和方向

缺点:
(1)非免费,这个跟CANoe软件一样,也是一个付费软件,需要license才能够使用,不过如果想要高度平台化脚本,可以只购买vTESTstudio,无需购买图形化编辑工具,这样能省20%价格。

文章来源:https://blog.csdn.net/qq_41908302/article/details/135032420
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。