【零基础学习CAPL语法】——数据类型

【零基础学习CAPL语法】——数据类型PLAC 概述 PACL 全称为 Communicatio 即通信访问编程语言

大家好,欢迎来到IT知识分享网。

1. CAPL概述

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

1.1.CAPL主要用途(10点)

  1. 使用易于理解的编程语言来仿真节点或模块
  2. 仿真事件报文、周期报文或者附件条件的重复报文;
  3. 使用PC键盘模拟操作按钮等人工操作事件
  4. 仿真节点的定时或网络事件
  5. 仿真多个事件事件,每个事件都有自己的特定行为
  6. 仿真普通操作、诊断或生产操作
  7. 仿真物理参数或报文变化
  8. 生成错误帧,评估模块和网络软件处理机制
  9. 仿真模块或网络错误来评估相关的防错机制
  10. 提供网络测试、诊断等功能测试库函数

2. CAPL数据类型-变量的声明与定义

2.1.变量名命名规则

  1. 在名称中只能使用字母、字符和下划线;
  2. 名称的第一个字符不能是数字
  3. 区分大小写字符
  4. 不能讲CAPL关键字用作名称,如:int
  5. 不能将CAPL的函数名和对象用作变量名

2.2.全局变量

2.3.局部变量

与C语言不同,局部变量在CAPL中总是被静态地创建。这意味着初始化只在程序体启动时执行,当再次进入程序时,局部变量被假定是上一次跳出程序时的值。局部变量的作用域,仅限于当前函数体范围内,即该函数的大括号范围内。

3.简单变量

简单的三种变量类型——整型、字符、浮点

3.1.整型

在这里插入图片描述

3.2.字符

区别于C语言,CAPL未将char类型(长度1B)归类至整型中,这是因为在CANoe中提供了byte类型。如果数据是具体数值则应使用byte,而对于字符,则应用char (字符串使用char数组)。char 类型和byte类型之间可以直接转换,例如:

byte data1=100; char ch1='d'; ch1=0x62; data1='s'; 

3.3.浮点型

4.复合类型

CAPL语言属于类C语言,大部分的语法与C保持一致。如数组、结构、枚举等

4.1.结构

stuuct A { 
    int a; long b; byte c; } 

4.2.枚举

variables { 
    enum { 
    Apple, Pear, Banana } fruit = Apple; enum Colors { 
    Red, Green, Blue }; enum Colors color; } enum Colors NextColor(enum Colors c) { 
    if (c == Blue) return Red; else return (enum Colors) (c + 1); } 

4.3.数组

int a[]={ 
   1.2.3}//有效 int b[3]="123",//有效 long c[]={ 
   1,2,3};//无效,CAPL中必须定义数组长度 

5.特殊类型

5.1.报文

message EngineData m1;//在数据库中名字为EngineData 命名m1 

①直接定义报文

message 0x123 m2;//报文ID为0x123(hex),命名为m2 message 100 m3;//报文ID为100(dec),命名为m3 

③扩展帧报文定义-ID结尾加x

message 0x123x,m4; 

5.2.诊断报文

诊断报文的发送主要为诊断请求和诊断响应两个对象

 请求 DiagRequest 响应 DiagResPonse 

一般结合引用CDD使用

variables { 
    //CDD  diagRequest New_ECU_1.ExtendedDiagnosticSession_Start Req_1003; } on key 'a' { 
    diagSendRequest(Req_1003); } 

5.3.系统变量

5.3.1.系统变量创建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面简单介绍系统变量一些相关参数


 系统变量参数 : Namespace:定义系统变量组的名称; Name:系统变量的名称; Data type:数据类型; Location:该系统变量组存放的路径、名称和格式; Values:初始值、最小值、最大值、单位、值表 

可进行自定义系统变量的真值表,选择custom来完成真值表的创建

【零基础学习CAPL语法】——数据类型
在这里插入图片描述

注意:为了方便系统变量复用,可以将相关值输出存储,下次需要使用直接到存储目录下导入

5.3.1.系统变量读取和写入

使用格式

@namespace::系统变量 

@:读取和更改系统变量,只用于整型和浮点型变量,对于其他数据类型必须使用其它的函数。通用的访问方式是使用sysGetVariable或者sysSetVariable开头的访问函数

环境变量:和系统变量一样也可以使用 @ 直接访问,通用的方法是使用getValue和putValue函数。

5.4.定时器

msTimer 定时器名字; Timer 定时器名字; 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/112522.html

(0)
上一篇 2026-01-17 19:33
下一篇 2026-01-17 20:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信