KUKA机器人高级编程之DEFDAT...ENDDAT

描述

变量

 

DEFDAT...ENDDAT  数据列表声明。 

变量

除预先确定的数据列表外,你自己可以定义更多的数据列表。程序列表被特定的程序和高级的声明所使用。变量值可以存储在在被声明的数据列表中。数据列表作为独立的ENDDAT语句总是在任何数据列表的最后程序段。 

Data_List_ Name  

数据列表的名字进入这儿被定义。它是最长为24 个字符的对象名。长度通过控制器的管理系统限制。 

如果数据列表的名字与指令相同,数据列表分配这个指令作为数据列表声明的结果,同样在指令中相同的名字也适用。 

指令和数据列表从指令包中分配。 

PUBLIC  

通过增加这个关键字,其它指令和数据列表也能访问这个数据列表,而且在这儿被分配的变量,etc.. ,可用于其它的指令包。它们必须使用关键字GLOBAL定义。 

Declaration  

子程序和函数指令的外部声明在指令中使用。 

为了输入变量引入声明。 

声明变量 

声明信号和通道名。 

声明结构和列举类型 

在数据列表中声明的变量声明可以包含默认设置。 

 

没有语句出现在数据列表中,除了变量和常量的初始化。 

 

范例:

 

通过数据列表使对象全局可用:

1.在程序顶部的数据列表中添加关键词 PUBLIC:

DEFDAT MY_PROG PUBLIC

2. 在协议时使用关键词 GLOBAL。

示例 (变量的协议):

DEFDAT MY_PROG PUBLIC

EXTERNAL DECLARATIONS

DECL GLOBAL INT counter

...

ENDDAT

在 DEFDAT PROG() 中已经用关键词 GLOBAL 定义了计数类型 SWITCH_TYP:

DEFDAT PROG()

GLOBAL ENUM SWITCH_TYP ON, OFF 

...

 

声明数据列表。 

DEFDAT WELD 

... 

ENDDAT 

 

为了符合全局声明数据列表。 

DEFDAT CENDAT PUBLIC 

... 

ENDDAT 

 

指令包PROG_1 由指令和被分配的数据列表PROG_1 组成。 

如果它在数据列表中被声明和被初始化的,那么在主程序作中被省略。如果在主程序的变量OTTO被分配了新的值,那么它也进入数据列表并被存储在这儿。. 

“new” 值在控制器转换完成而且再次返回后被使用。这是在线修正和和其他程序修改的要素。如果你想总是用相同的值开始主程序,那么想得到的值必须在主程序中被作为默认分配适当的变量。 

DEFDAT PROG_1 

INT OTTO = 0 

ENDDAT 

DEF PROG_1( ) HALT ;OTTO 现在是0 

OTTO=25 HALT ;数据列表现在包含INTOTTO=25 

END  

全局的数据列表:变量OTTO在PROG_1 和PROG_2 中被验证的。它可能允许外面的主程序访问在数据列表中定义的变量。数据列表必须作为PUBLIC定义而且变量必须作为GLOBAL公告。DEFDAT PROG_1 PUBLIC GLOBAL INT OTTO = 0 ENDDAT   

 


审核编辑 :李倩

 

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

全部0条评论

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

×
20
完善资料,
赚取积分