KUKA:简单数据和数组的使用V1.24

机器人

533人已加入

描述

KRL中数据的保存

•使用KRL以变量工作

使用KRL对机器人进行编程时,在程序中使用的数据会有相应的类型来处理这些数据,变量就是用来保存这些数据的容器,每个变量都属于一个专门的数据类型,在使用前必须声明数据类型。在KRL中变量有局部变量和全局变量之分。

局部:局部变量可以分为程序文件(.src)中的局部变量或局部数据列表(*.dat)中的局部变量。如果变量是在.src文件中定义的,则该变量仅在程序运行时存在。我们将此称为“运行时间变量”。如果变量是在.dat文件中被定义为局部变量,并且仅在相关程序文件中已知,则其值在关闭程序后保持不变。

全局:如果变量为全局变量,则随时都可以显示。在这种情况下,变量必须保存在系统文件或者局部数据列表中作为全局变量。

•变量的命名规范

在选择变量名称时,务必遵守以下规定:

1)KRL中的名称最多允许24个字符

2)KRL中的名称允许含有字母(A-Z)、数字(0-9)以及特殊字符“_”和“$”

3)KRL中的名称不允许为关键词

4)KRL中的名称不允许以数字开头

5)大小写无关紧要

•KRL中的数据类型

1)预定义的标准数据类型

2)数组/Array

3)枚举类型

4)负荷数据类型/结构

•变量的有效性和生存期

KRL中变量的生存期

1)生存期是为变量预留存储位置的时间

2)运行时间变量在退出程序或功能时将其存储位置重又空出

3)而数据列表中的变量将当前(上一个)值永久性保存在其存储位置中

KRL中变量的有效性

1)局部声明的变量仅在其被声明的程序中可用并可见

2)而全局变量则建立在一个中央(全局)数据列表中

3)全局变量也可建立在一个局部数据列表中,声明时冠以关键词global(全局)

涉及到简单数据类型的工作

使用简单的数据类型有以下几种:

1)整数(INT):用于计数循环或件数计数器的经典计数变量

2)实数(REAL):为了避免四舍五入出错的运算结果

3)布尔数(BOOL):经典式“是”/“否”结果

4)单个字符(CHAR):仅是一个字符,字符串或者文本只能作为CHAR数组来实现

•变量的声明

变量在使用前必须先总是进行声明,每一个变量均划归一种数据类型,声明的关键词为DECL。

变量的声明以不同的形式进行:

1)在SRC文件中声明

2)在局部DAT文件中声明

3)在$CONFIG.DAT中声明

4)在局部DAT文件中配上关键词“全局”声明,因为从中得出相应变量的生存期和有效性

创建常量,要用关键词CONST建立,只允许在数据列表中建立

•变量声明的原理

SRC文件中的程序结构,在声明部分必须声明变量,初始化部分从第一个赋值开始,通常从“INI”行开始,在指令部分会赋值或更改值。

机器人

为了在使用某些模块时于INI行前进入声明部分,必须更改为专家模式使DEF行显示。

计划变量声明,要规定生存期,对于SRC文件程序运行结束时,运行时间变量“死亡”,对于DAT文件在程序运行结束后变量还保持着,也要规定有效性/可用性,变量仅在局部DEF和END行之间可用。

•声明简单数据类型变量时的操作步骤

1.在SRC文件中创建变量

进入专家用户组模式

使DEF行显示出来

在编辑器中打开SRC文件

声明变量,如下图所示。

机器人

关闭并保存程序

2. 在DAT文件中创建变量

①进入专家用户组模式

②在编辑器中打开DAT文件

③声明变量,如下图所示

机器人

④关闭并保存数据列表

3. 在$CONFIG.DAT中创建变量

进入专家用户组模式

在编辑器中打开SYSTEM(系统)文件夹中的$CONFIG.DAT,出现下图所示的界面

机器人

选择Fold“USERCLOBALS”,然后用软键“打开/关闭Fold”将其打开

声明变量,如下图所示

机器人

关闭并保存数据列表

4. 在DAT文件中创建全局变量

①进入专家用户组模式

②在编辑器中打开DAT文件

③通过关键词PULIC扩展程序头中的数据列表,如图所示。

机器人

④声明变量,如图所示。

机器人

⑤关闭并保存数据列表

•简单数据类型变量的初始化

在声明后变量都只预留了一个存储位置,其值总是无效值。在SRC文件中声明和初始化始终在两个独立的行中进行。在DAT文件中声明和初始化始终在一行中进行。常量仅可以在数据列表中声明并且必须当时立即初始化,初始化部分以第一次赋值开始。

•整数的初始化方法

1)初始化为十进制数,如下图所示

机器人

2)初始化为二进制数,如下图所示

机器人

3)初始化为十六进制数,如下图所示

机器人

•使用KRL初始化时的操作步骤

1.在SRC文件中声明和初始化

①在编辑器中打开SRC文件

②已声明完毕

③执行初始化,如下图所示

机器人

④关闭并保存程序

2. 在DAT文件中声明和初始化

①在编辑器中打开DAT文件

②已声明完毕

③执行初始化,如下图所示

机器人

④关闭并保存数据列表

3. 在DAT文件中声明和在SRC文件中初始化

①在编辑器中打开DAT文件

②进行声明,如下图所示

机器人

③关闭并保存数据列表

④在编辑器中打开SRC文件

⑤执行初始化,如下图所示

机器人

⑥关闭并保存程序

KRLArrays/数组

数组即Arrays,可为具有相同数据类型并借助下标区分的多个变量提供存储位置,数组的存储位置是有限的,即最大数组的大小取决于数据类型所需的存储空间大小。

声明时,数组大小金额数据类型必须已知,KRL中的起始下标始终从1开始,初始化始终可以逐个进行,在SRC文件中的初始化也可以采用循环方式进行。

数组的维数有1维数组,2维数组,3维数组,但KRL不支持4维及4维以上的数组。

机器人

•使用数组时的关联

1.数组变量的生存期和有效性与使用简单数据类型的变量时相同。

2.数组的声明和初始化可以通过以下几种方式进行:

①在SRC文件中建立数组声明,如下图所示

机器人

②在数据列表(即$CONFIG.DAT)中建立数组声明,如下图所示。

机器人

③在SRC文件中对数组进行声明并初始化,通过调用索引单独对每个数组进行声明和初始化,如下图所示。

机器人

另外,也可以用合适的循环,如下图所示。

机器人

④在数据列表中初始化数组,在每一个数组的数据列表中通过调用索引单独进行,接着将值显示在数据列表中,如下图所示。

机器人

但在数据列表中不允许进行如下图所示的声明和初始化  

机器人

⑤在数据列表中对数组进行声明并在SRC文件中进行初始化,夹入数组是如此建立在数据列表中,则不能在数据列表中查看当前值,只能通过变量显示检查当前值,如下图所示。 机器人

机器人

并且,我们要借助循环初始化组,如下图所示,进行1维数组、2维数组和3维数组的初始化。 假如数组是如此建立在数据列表中的,则不能在数据列表中查看当前值只能通过变量显示检查当前值。 DEFDAT MY_PROG EXTERNAL DECLARATIONS DECL BOOL error[10] DEF MY_PROG ( ) INI   error[1]=FALSE   error[2]=FALSE   error[3]=FALSE ... error[10]=FALSE 或 DEF MY_PROG ( ) INI FOR x = 1 TO 10   error[x]=FALSE ENDFOR 借助于循环进行初始化

1 维数组

DECL INT parts[15]

DECL INT x

FOR x = 1 TO 15

parts[x]= 4 ENDFOR 2 维数组 DECL INT parts_table[10,5] DECL INT x, y FOR x = 1 TO 10     FOR y = 1 TO 5        parts_table[x, y]= 6     ENDFOR ENDFOR  3 维数组 DECL INT parts_palette[5,4,3] DECL INT x, y, z FOR x = 1 TO 5     FOR y = 1 TO 4         FOR z = 1 TO 3             parts_palette[x, y, z]= 12         ENDFOR     ENDFOR ENDFOR   •使用Arrays时的操作步骤 ①确定数组的数据类型 ②确定数组的有效性和生存期 ③进行数组声明 ④初始化数组元素 ⑤在程序运行中,即始终在SRC文件中对数组进行操作 ⑥关闭并保存SRC文件,程序举例如下图所示。 DEF MY_PROG ( ) DECL REAL palette_size[10] DECL INT counter INI ;初始化 FOR counter = 1 TO 10    palette_size[counter] = counter * 1.5 ENDFOR ... ;单个更改值 palette_size[8] = 13 ... ;值比较 IF palette_size[3] > 4.2 THEN ...   枚举数据类型 枚举数据类型由一定量的常量(例如红、黄或蓝)组成。常量是可自由选择的名称,由编程员自己确定。一种枚举数据类型必须首先经过定义,然后才能继续使用。 •枚举数据类型的应用 枚举数据类型只能使用已知常量,并可任意扩展多次及任意使用,如下图所示。也可嵌入结构中。

机器人

 

机器人

枚举数据类型的有效性和生存期规定为,创建的局部枚举类型在到达END行便无效,在多个程序中使用的枚举类型必须在$CONFIG.DAT中进行声明。为了便于辨认,自定义的枚举类型应以TYPE结尾   •生成枚举数据类型 ①枚举变量和常量的定义,如下图所示。 机器人 ②工作变量的声明,如下图所示。 机器人 ③工作变量的初始化,如下图所示。 机器人 ④工作变量的值比较,如下图所示。

机器人

   

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分