STRUC:定义结构类型

描述

STRUC:定义结构类型

结构是不同数据类型的组合。

结构通过聚合进行初始化(不必指定所有参数)。

可以使用点分隔符或聚合来初始化结构元素。

参数的顺序无关紧要。

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

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

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

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

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

部件:  组件的名称。在结构类型之内只允许进行一次。只在栏拥有 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

预定义结构的示例:

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

带有点分隔符和聚合的赋值示例:

DECL  POS Position  ;变量声明 

;POS类型的“位置”

Position.X = 34.4  ;X 的赋值  

;带有点分隔符的组件 

Position.Y = value ;Y 的赋值 

;带有点分隔符的组件 

Position = {X 34.4, Y -23.2} ;赋值

审核编辑 :李倩

 

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

全部0条评论

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

×
20
完善资料,
赚取积分