struc:定义结构类型
结构类型的定义 (=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结束。
根据机器人轴1…6指定轴的运动,结构axis的成分a1...a6是角度值(旋转轴)或平移值(平移轴)。
在结构e6axis中使用附加成分e1...e6可寻址外部轴。
在结构frame 您可以定义空间的3个位置值(x,yandz)和3个空间方位(a,b和c)。空间中的一个点可以用术语位置和方位明确地被定义。
有的使用几个轴位置的机器人可以寻址一个和空间中的相同点,结构pos 中的整数型变量s和t用于明确地定义一个轴的位置。
去年开源软件漏洞同比增长近50%,有6000多个
如何提升变压器效率,有什么有效方法吗
中国军用电子元器件国产化率比较高 但还有20%左右需要进口
余承东:旗舰智能手机方面,两年内华为的半数设备可以折叠
高性能、多通道、同时采样ADC在数据采集系统(DAS)中的设
KUKA变成STRUC:定义结构类型升级版
全方位温度和压力的卫生测量
房屋网签系统应采用人脸识别核验交易当事人
美国陆军正在研制一种新型榴弹发射无人机系统
夏天健身出汗用什么耳机、健身最适合佩戴的蓝牙运动耳机
焊接切割操作触电事故的原因及预防措施
智能化风向引领环境传感器升级
已有4290家企业申报,2021金盾榜申报火热进行中
java中的final关键字所起的作用解析
LTE芯片和终端测试综述
什么是辛普森悖论?辛普森悖论的重要性
特斯拉Roadster2加速1.9秒可续航1000公里,背后却是悲剧
自动驾驶汽车的评级
利用TI的片上互联网可为任何设备增添Wi-Fi功能
中国移动预测到2020年全球物联网市场规模将达8300亿美元