CAPL创建与语法简介

2024-04-03 20:08
文章标签 语法 创建 简介 capl

本文主要是介绍CAPL创建与语法简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


CAPL 语言和C语言基本语法很相似,只是没有指针,list, set 等概念。


如何通过CANOE 创建自动测试节点

 

1.      创建一个CANoe configuration

2.      点击viewàSimulation Setup

3.      点击右键->insert xml test moudle



4.       右键点击新创建的XMLNode->Configuration 


5.      Test Script添加Test CaseXML

6.       点击TAB Components 进行创建或添加Test case files(.can)


7.      点击确认返回

8.      右键XML NODE->Edit *.can 进行编辑Test Casefile(.can)



整体结构

 

通过CAPL 语言编写的测试用例与方法需要以 .can 为扩展名的文件打开


属性页

 

Includes

同C语言中Includes 一样,可以包含其他.can文件,进而引用其他文件的内容


Variables

 

全局变量定义区域,主要分为以下几种类型

Integers

Ø  byte

Ø  word

Ø  dword

Ø  int

Ø  long

Ø  qword

Ø  int64

Floating point numbers

 

Ø  float

Ø  double

Individual characters

Ø  char

Map

 

float m[float];

m[4.1] = 5.5; //key is 4.1 (float)  and value is 5.5 (float)

m[5.3] = 6.6;

 

write ("4.1 is mapped to %2.2lf",m[4.1]);

write ("5.3 is mapped to %2.2lf",m[5.3]);

 

for (float mykey : m)

{

  write("%2.2lf is mapped to %2.2lf.", mykey, m[mykey]);

}

Enum

和C语言定义Enum 类型一致

 

Struct

和C语言定义结构体类型一致

注意:结构体属性只能是基本数据类型,不能是message类型,即使编译不存在问题


Message




Error Frame



System

与System相关的事件触发器

可以通过CANBrower 添加System事件触发器




CAN

与CAN相关的事件触发器

可以通过CANBrower 添加CAN 事件触发器



on message

The event procedure on message is called onthe receipt of a valid CAN message.

如何定义 message 事件触发

on message 123

React to message 123 (dec, standard identifier), regardless of receiving chip

on message 123x

React to message 123 (dec, extended identifier), regardless of receiving chip

on message 0x123

React to message 123 (hex, standard identifier), regardless of receiving chip

on message 0x123x

React to message 123 (hex, extended identifier), regardless of receiving chip

on message EngineData

React to message EngineData

on message CAN1.123

React to message 123 if it is received by CAN1 chip

on message *

React to all messages

on message CAN2.*

React to all messages received by CAN2 chip

on message 0,1,10-20

React to messages 0, 1 and 10 through 20

 

如何判断收到message 类型

on message * {
if (this.DIR == RX) {
write("This is RX message");
}
if (this.DIR == TX) {
write("This is TX message ");
}
}

on errorFrame

The event procedure on errorframe is calledwhen an error state (Error Frame) occurs on the bus.

 

如果通过errorcode进行区分

on errorFrame
{
   switch (this.ecc & 0x20)
   {
      case (0x20): // in case of reception error
         write ("%d Ch %dRxErr", this.time, this.can);
         return;
      case (0): // in case of transmission error
         write ("%d Ch %dTxErr", this.time, this.can);
         return;
   };
}

on errorActive

CAN controller goes to ErrorActive.

 

重要属性,通过this 进行访问

errorCountRX (Receive error counter)

errorCountTX (Transmit error counter)

can (Assign the channel)

 

on errorPassive

CAN controller goes to ErrorPassive.

 

重要属性,通过this 进行访问

errorCountRX (Receive error counter)

errorCountTX (Transmit error counter)

can (Assign the channel)

 

on warningLimit

CAN controller reaches the Warning Limit.

 

重要属性,通过this 进行访问

errorCountRX (Receive error counter)

errorCountTX (Transmit error counter)

can (Assign the channel)

 

 

on busOff

CAN controller goes to Bus Off.

 

重要属性,通过this 进行访问

errorCountRX (Receive error counter)

errorCountTX (Transmit error counter)

can (Assign the channel)

 

 

Function

 

定义全局方法

格式: 返回类型  方法名(参数….)


Test Cases

 

定义全局测试用例

格式:testcase 名称


重要的系统API

Message Functions 


Signal Functions


Test Functions


Wait Functions


String Functions


Time Functions 


Trigonometric and Mathematical Functions


File Functions 


Memory Functions


CANoe and CANDB Functions



这篇关于CAPL创建与语法简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/873849

相关文章

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Python在固定文件夹批量创建固定后缀的文件(方法详解)

《Python在固定文件夹批量创建固定后缀的文件(方法详解)》文章讲述了如何使用Python批量创建后缀为.md的文件夹,生成100个,代码中需要修改的路径、前缀和后缀名,并提供了注意事项和代码示例,... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5.

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用SpringBoot创建一个RESTful API的详细步骤

《使用SpringBoot创建一个RESTfulAPI的详细步骤》使用Java的SpringBoot创建RESTfulAPI可以满足多种开发场景,它提供了快速开发、易于配置、可扩展、可维护的优点,尤... 目录一、创建 Spring Boot 项目二、创建控制器类(Controller Class)三、运行

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定