熟悉了仿真工程中的数据库创建和面板设计,并能够初步搭建仿真工程。对于控制逻辑稍微复杂一些的仿真,仅使用数据库和仿真面板还远远不够。这时需要CAPL语言编程来实现对应的功能。CAPL既能够通过编程实现节点的仿真,也可以在数据分析、测试等方面发挥很大的作用,通过与外界系统的交互,实现仿真、诊断和测试的自动化。CAPL全称为Communivation Access Programming Lanuage,即通信访问编程语言。,在语法和概念上与C语言类似。借助该语言,用户可以编写程序并应用到网络的各个节点上,也可以利用它加强测量分析功能,以及搭建高效自动化的测试模块。
1. CAPL的主要用途
CAPL是使CANoe满足仿真、分析、测试、诊断的各种复杂要求,同时使使CANoe的功能得以不断扩展。概括起来,CAPL主要用途有以下几点:
(1)用易于理解的编程语言来仿真节点和模块。
(2)仿真事件报文、周期报文或附加条件的重复报文。
(3)使用PC键盘模拟操作按钮等人工操作事件。
(4)仿真节点的定时或网络事件。
(5)仿真多个时间事件,每个事件有自己特定的行为。
(6)仿真普通操作,诊断或生产操作。
(7)生成错误帧,评估模块和网络软件处理机制。
(8)仿真物理参数或报文变化。
(9)仿真模块或网络错误来评估相关的防错机制。
(10)提供网络测试、诊断等功能测试库函数。
2. CAPL的开发环境
CANoe自带了一个CAPL程序的开发环境CAPL Brower。从主界面选择Tools→CAPL Brower打开,默认创建一个新的CAPL程序文件。如图1所示。
图1 CAPL 浏览器
(1)Home功能区
提供编程的常用功能。如图2所示。
图2 Home功能区
(2)Filter功能区
主要Filter功能区主要用于管理CAPL函数库,可以在函数浏览器中屏蔽掉不需要的函数库。如图3所示。
图3 Filter功能区
(3)Debug功能区
Debug功能区提供一些CAPL编程的常用功能,包括代码编辑及编译等工作。如图4所示。
图4 Debug 功能区
(4)Layout功能区
Layout功能区主要用于设置各子窗口的显示模式,如图5所示。
图5 Layout功能区
(5)导航区和编辑区
编辑区用于编辑程序。在导航区用户可以便捷的查看各种变量、事件、函数的声明和定义、单击这些对象,可以跳转到编辑区对应的代码段。如图6
图6 编辑区和导航区
(6)对象浏览区
用户可以在对象浏览区中查找源文件关联的对象、系统变量、诊断服务。如图7
图7 对象浏览区
本部分内容主要介绍了CAPL的用途及开发环境,通过这些,你是不是对CAPL有了一个初步的认识呢?