admin管理员组

文章数量:1576866

2024年3月30日发(作者:)

ABB机器人用户定义的数据类型

1、数组

支持一维、二维和三维数组的成员数据类型。数组可在POU的声明部分和全局变量表中定

义。

语法:

lt;数组名>:ARRAY[..,..]OF

ll1,ll2为数组维数的下限标识,ul1和ul2为数组维数的上限标识。数值范围必须为整数。

示例:

Card_game:ARRAY[1..13,1..4]OFINT;

数组的初始化:

可以对数组中的所有元素进行初始化,或不进行初始化。

数组初始化示例:

arr1:ARRAY[1..5]OFINT:=1,2,3,4,5;

arr2:ARRAY[1..2,3..4]OFINT:=1,3(7);(*等同1,7,7,7*)

arr3:ARRAY[1..2,2..3,3..4]OFINT:=2(0),4(4),2,3;(*等同0,0,4,4,4,4,2,3*)

结构化中的数组初始化示例:

TYPESTRUCT1

TRUCT

1:int;

2:int;

3:dword;

END_STRUCT

ARRAY[1..3]OFSTRUCT1:=(p1:=1;p2:=10;p3:=4723),(p1:=2;p2:=0;p3:=299),

1:=14;p2:=5;p3:=112);

数组部分元素初始化示例:

arr1:ARRAY[1..10]OFINT:=1,2;

数组中的元素如果没有初始化值,则用基本类型的缺省值初始化其值。在上例中,元素arr1[3]

到元素arr1[10]均被初始化为0。

二维数组的元素存取,使用下列语法:

lt;数组名>[Index1,Index2]

示例

Card_game[9,2]

注:

如果你在项目中定义了一个名为CheckBounds的功能,则可以自动检查数组的上下限超限

错误!下图中给出了如何实现该功能的示例。

2、指针

当程序运行时,变量或功能块地址保存在指针中。指针声明为如下句法形式:<指针名

>:POINTERTO<数据类型/功能块>;

指针可指向任何数据类型、功能块和用户定义的数据类型。对地址操作的ADR功能,可将

变量或功能块的地址指向指针。指针后加内容操作符”^”可取出指针中的数据。

示例:

t:POINTERTOINT;

var_int1:INT:=5;

var_int2:INT;

t:=ADR(var_int1);

var_int2:=pt^;(*var_int2的值为5*)

3、牧举

牧举为用户定义的数据类型,并由一组字符串常数组成。这些常数被视为牧举值。牧举值在

项目中为全局使用的变量,即使它们在POU中为本地声明的变量。创建牧举变量的最好方法是

在数据类型对象组织下创建。用关键字TYPE开始,END_TYPE结束。

句法:

本文标签: 数组数据类型指针定义元素