KUKA机器人:关键的KRL概念-有效作用范围

描述

变量/信号:

•如果对象是在SRC文件中定义的:

它在定义它的程序例程中有效,即在DEF和END(主程序或本地子程序)之间。SRC文件中定义的变量称为“运行时变量”。

•如果对象是在DAT文件中定义的:它在属于DAT文件的SRC文件中有效。

常数:在声明数据列表所属的模块中有效。

用户定义的数据类型:•如果数据类型是在SRC文件中定义的:它在定义它的程序级别上是有效的。

•如果数据类型在DAT文件中定义:它在属于DAT文件的SRC文件中有效。

次级方案在共享SRC文件的主程序中有效。

作用在共享SRC文件的主程序中有效。

打断从声明它的程序级别起有效。以下内容始终有效:

•SRC文件中的第一个程序。默认情况下,它使用SRC文件的名称。

• 预定义数据类型

KRL系统变量

•在$CONFIG.DAT中定义的可变变量和信号。在“本地”下提到的数据对象可以全局访问。

如果一个本地对象和一个全局对象具有相同的名称,那么编译器将在其有效范围内使用本地对象。

子程序、功能、中断可全局使用。在约定时使用关键字GLOBAL。

子程序示例:

...

END

-------------------------------

GLOBAL DEF MY_SUBPROG

...

示例功能:

...

END

-------------------------------

GLOBAL DEFFCT INT MY_FCT(my_var:IN)

...

中断示例

GLOBAL INTERRUPT DECL 23 WHEN $IN[12]==TRUE DO UP1(20,VALUE)

变量、常量、信号、用户数据类型可全局使用

变量、信号和用户定义的数据类型可以通过数据列表或$CONFIG.DAT全局访问。

Konstanten必须始终在数据列表中声明并同时初始化。因此,它们只能通过全局数据列表进行全局访问。

使对象在全球范围内可访问数据列表:

在程序头部的数据列表中添加关键字PUBLIC:

DEFDAT MY_PROG PUBLIC

2. 在协议中使用GLOBAL关键字。

示例(变量约定):

DEFDAT MY_PROG PUBLIC

EXTERNAL DECLARATIONS

DECL GLOBAL INT counter

...

ENDDAT

当在数据列表中达成一致时,GLOBAL可用于变量、信号和自定义数据类型编号。

PUBLIC专门用于此处描述的目的,即使某些数据对象与GLOBAL一起在数据列表中全局可用。

PUBLIC本身没有效果。

$CONFIG.DAT

•$CONFIG中的对象。

在USER GLOBALS部分声明DAT。

关键字GLOBAL不是必需的,也不能在此处使用。

在带有关键字GLOBAL的数据列表中定义的数据类型可以在$CONFIG中输入。

不应使用DAT。

例子:

在DEFDAT PROG()中,枚举类型SWITCH_TYP是用关键字GLOBAL定义的:

DEFDAT PROG()

GLOBAL ENUM SWITCH_TYP ON, OFF 

...

如果此数据类型在$CONFIG中。

如果使用DAT,编译器会报告错误“类型未知:**DECL SWITCH _Type MY_VAR”

DEFDAT $CONFIG

DECL SWITCH_TYP MY_VAR

...

CONST:常数

在初始化后的程序运行过程中,不能更改常量的值。

常量可用于防止在程序运行过程中意外更改值。

常量必须在数据列表中声明,同时的关键字CONST必须位于数据类型的前面。

DECL<GLOBAL>CONST数据类型变量name=We

审核编辑:黄飞

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

全部0条评论

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

×
20
完善资料,
赚取积分