KUKA变成STRUC:定义结构类型升级版

描述

STRUC:定义结构类型

KUKA

结构类型的定义 (=STRUC 数据类型)。在此将多个数据类型汇总为一个新的数据类型。

STRUC 名称 结构类型 数据类型 1 组件 1A 组件 1B,, 数据类型 2 组件 2A, 组件 2B,

GLOBAL: 在 $CONFIG.DAT 中不允许使用用关键词 GLOBAL 定义的数据类型。

名称结构类型:  新结构类型的名称。自定义数据类型的名称应以 _TYP 结尾,以便可将其与变量名称进行区分。

如果要组合不同的数据类型,阵列则不适合,必须使用联接的更多形式。使用声明

语句STRUC,预先定义好的不同数据类型或预定数据类型的组合构成一个新的复合数据类型。  特殊情况,其它复合和阵列也可以构成复合的一部分。 

 复合使用的一个典型例子是标准数据类型POS。它由文件$OPERATE.SRC中声明的6个实数值和2个整数值组成: 

STRUC POS REAL X,,Y,Z,A,B,C,INT S,T 

 如果,例如您现在使用结构数据类型的一个POSITION变量,您可以使用分离点给个别的元素分配值: 

POSITION.X=34.4 

POSITION.Y=-23.2 

POSITION.Z=100.0 

POSITION.A=90 

POSITION.B=29.5 

POSITION.C=3.5 

POSITION.S=2 

POSITION.T=6 

  或使用所谓的集合共同分配值: 

POSITION={X34.4,Y-23.2,Z100.0,A90,B29.5,C3.5,S2,T6} 

集合受下列条件的支配: 

● 集合的值可以是简单的常量或它们自己的集合。 

● 不是必须在集合中指定结构中的所有组成。 

● 成分的指定顺序不必依照它们定义的顺序。 

● 集合中每个成分可能只包含一次。 

● 在由结构组成阵列的情况下,一个集合定义一个单独的阵列元素的值。 

● 结构类型的名称可在一个集合的开头指定-以冒号分开。 

因此对于POS变量允许下列分配,例如: 

POSITION={B100.0,X29.5,T6} 

POSITION={A54.6,B-125.64,C245.6} 

POSITION={POS:X230,Y0.0,Z342.5} 

数据类型:   类型:任意的数据类型,即使结构类型也允许用作数据类型。

部件:  组件的名称。在结构类型之内只允许进行一次。只在栏拥有 CHAR 类型且是一维时,才允许将其用作结构类型的组件。为此,在结构类型的定义中,在栏的名称上将栏限制用方括号括起来。

 给以 STRUC 数据类型为基础的变量分配值有 2 种方法:

 给变量的多个分量分配值:用集合

 给一个变量的单个分量分配一个值:用点分隔符

集合提示:

 一个集合的值可以是简单的常数或集合本身,但是它们不能是变量 

 在一个集合中不必指定结构的所有分量。

 分量不需要按已定义的顺序指定。

 在一个集合中只允许含有每个分量一次。

 在集合的开头,通过冒号隔开的结构类型名称可能已指定。

示例:

 用 REAL 数据类型的分量 NUMBER 和 CHAR 数据类型的数组分量 TEXT[80] 定义结构类型 S_TYP。

  STRUC S_TYP REAL NUMBER, CHAR TEXT[80]

将集合用作集合值的示例:

STRUC INNER_TYP INT A, B, C 

STRUC OUTER_TYP INNER_TYP Q, R

DECL OUTER_TYP MYVAR

...

MYVAR = {Q {A 1, B 4}, R {A 3, C 2}}

状态 (S) 和转角方向 (T) 是数据类型 POS 和 E6POS 的组成部分:

STRUC POS REAL X, Y, Z, A, B, C, INT S, T

STRUC E6POS REAL X, Y, Z, A, B, C, E1, E2, E3, E4, E5, E6, INT S, T

AXIS 结构类型

A1 至 A6 是指与机器人轴 1 至 6 相关运行的角度值 (旋转轴)或平移值(平移轴)。

STRUC AXIS REAL A1, A2, A3, A4, A5, A6

对于POS、E6POS、AXIS、E6AXIS和FRAME结构缺少的成分不能被改变。而对于其它集合,则不存在的成分被设置为无效的成分。 

建立您自己的结构变量的步骤使用下列例子解释: 

在一个弧焊的子程序中,在变量S_PARA中转换下列信息: 

REAL  V_WIRE  焊丝速度 

INT  CHARAC  特征0...100%   

BOOL  ARC  带/不带弧  (用于模拟) 

变量S_PARA必须由3个不同数据类型的元素组成。首先,必须建立一个满足这个要求的新的数据类型: 

STRUC WELDTYPE REAL V_WIRE,INT CHARAC,BOOL ARC 

建立了一个名称为WELDTYPE的新的数据类型(WELDTYPE不是一个变量!)。WELDTYPE由V_WIRE、CHARAC和ARC三个成分组成。您现在可以任何新数据类型的变量,例如: 

DECL WELDTYPE S_PARA 

这样您就建立了一个数据类型为WELDTYPE的变量S_PARA。可以通过点分开单独寻址各个成分和通过集合-如上说明来寻址。 

S_PARA.V_WIRE=10.2 

S_PARA.CHARAC=66S_PARA.A

RC=TRUE 

或 

S_PARA={V_WIRE 10.2,CHARAC 50,ARC TRUE} 

为了更容易区分自定义数据类型和变量,新数据类型的名称以…TYPE结束。 

KUKA

根据机器人轴1…6指定轴的运动,结构AXIS的成分A1...A6是角度值(旋转轴)或平移值(平移轴)。   

在结构E6AXIS中使用附加成分E1...E6可寻址外部轴。 

在结构FRAME 您可以定义空间的3个位置值(X,YandZ)和3个空间方位(A,B和C)。空间中的一个点可以用术语位置和方位明确地被定义。 

有的使用几个轴位置的机器人可以寻址一个和空间中的相同点,结构POS 中的整数型变量S和T用于明确地定义一个轴的位置。 





审核编辑:刘清

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

全部0条评论

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

×
20
完善资料,
赚取积分