上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.3 码垛(PALLET)指令概说
(1)功能
PALLET指令也翻译为“托盘指令”“码垛”指令,实际上是一个计算矩阵方格中各“点位中心”(位置)的指令,该指令需要设置“矩阵方格”有几行几列、起点终点、对角点位置、计数方向。由于该指令通常用于码垛动作,所以也就被称为“码垛指令”。
(2)指令格式
Def Plt—定义“托盘结构”指令。
Def□Plt□<托盘号>□<起点>□<终点 [<对角点>]□<列数
Plt—指定托盘中的某一点。
(3)指令样例1
如图2-12所示。
图2-12 托盘的定义及类型
1 Def Plt 1,P1,P2,P3,□,3,4,1′——3点型托盘定义指令。 2 Def Plt 1,P1,P2,P3,P4,3,4,1′——4点型托盘定义指令。 3 点型托盘定义指令—指令中只给出起点、终点A、终点B。 4 点型托盘定义指令—指令中给出起点、终点A、终点B、对角点。
(4)术语解释
①托盘号—系统可设置8个托盘,本数据设置第几号托盘。
②起点/终点/对角点—如图2-12所示,用“位置点”设置。
③<列数A>—起点与终点A之间的列数。
④<行数B>—起点与终点B之间的行数。
⑤<托盘类型>—设置托盘中“各位置点”分布类型。
1=Z字型;2=顺排型;3=圆弧型;11=Z字型;12=顺排型;13=圆弧型。
(5)指令样例2
①Def Plt 1,P1,P2,P3,P4,4,3,1′——定义1号托盘,4点定义,4列×3行,Z字型格式。
②Def Plt 2,P1,P2,P3,8,5,2′——定义2号托盘,3点定义,8列×5行,顺排型格式(注意3点型指令在书写时在终点B后有两个“逗号”)。
③Def Plt 3,P1,P2,P3,5,1,3′——定义3号托盘,3点定义,圆弧型格式(注意3点型指令在书写时在终点B后有两个“逗号”)。
④(Plt 1,5)′——1号托盘第5点。
⑤(Plt 1,M1)′——1号托盘第M1点(M1为变量)。
(6)程序样例1(见图2-13)
图2-13 托盘的定义及类型
1 P3.A=P2.A′——设定P3点A轴角度=P2点A轴角度。 2 P3.B=P2.B′——设定P3点B轴角度=P2点B轴角度。 3 P3.C=P2.C′——设定P3点C轴角度=P2点C轴角度。 4 P4.A=P2.A′——设定P4点A轴角度=P2点A轴角度。 5 P4.B=P2.B′——设定P4点B轴角度=P2点B轴角度。 6 P4.C=P2.C′——设定P4点C轴角度=P2点C轴角度。 7 P5.A=P2.A′——设定P5点A轴角度=P2点A轴角度。 8 P5.B=P2.B′——设定P5点B轴角度=P2点B轴角度。 9 P5.C=P2.C′——设定P5点C轴角度=P2点C轴角度。 10 Def Plt 1,P2,P3,P4,P5,3,5,2′——设定1号托盘,3×5格,顺排型(见图2-13)。 11 M1=1′——设置M1变量。 12 *LOOP′——循环标志LOOP。 13 Mov P1,-50′——前进到P1点的近点。 14 Ovrd 50′——设置速度倍率为50%。 15 Mvs P1′——前进到P1点。 16 HClose 1′——1#抓手闭合。 17 Dly 0.5′——暂停0.5s。 18 Ovrd 100′——设置速度倍率为100%。 19 Mvs,-50′——退回到P1点的近点。 20 P10=(Plt 1,M1)′——定义P10点为1号托盘“M1”点,M1为变量。 21 Mov P10,-50′——前进到P10点的近点。 22 Ovrd 50′——设置速度倍率为50%。 23 Mvs P10′——前进到P10点。 24 HOpen 1′——打开抓手1。 25 Dly 0.5′——暂停0.5s。 26 Ovrd 100′——设置速度倍率为100%。 27 Mvs,-50′——退回到P10点的近点。 28 M1=M1+1′——M1做变量运算。 29 If M1<=15 Then*LOOP′——循环指令判断条件。如果M1小于等于15,则继续循环。根据此循环完成对托盘1所有“位置点”的动作。 30 End′——程序结束。
(7)程序样例2
形位(POSE)在±180°附近的状态。
1 If Deg(P2.C)<0 Then GoTo*MINUS′——如果P2点C轴角度小于0就跳转到MINUS行。 2 If Deg(P3.C)<-178 Then P3.C=P3.C+Rad(+360)′——如P3点C轴角度小于-178°就指令点C轴+360°。 3 If Deg(P4.C)<-178 Then P4.C=P4.C+Rad(+360)′——如果点P4点C轴角度小于-178°就指令P4点C轴+360°。 4 If Deg(P5.C)<-178 Then P5.C=P5.C+Rad(+360)′——如果点P5点C轴角度小于-178°就指令P5点C轴+360°。 5 GoToDEFINE′——跳转到*DEFINE行。 6 *MINUS′——程序分支标志。 7 If Deg(P3.C)>+178 Then P3.C=P3.C-Rad(+360)′——如果点P3点C轴角度大于178°就指令P3点C轴减360°。 8 If Deg(P4.C)>+178 Then P4.C=P4.C-Rad(+360)′——如果点P4点C轴角度大于178°就指令P4点C轴减360°。 9 If Deg(P5.C)>+178 Then P5.C=P5.C-Rad(+360)′——如果点P5点C轴角度大于178°就指令P5点C轴减360°。 10 *DEFINE′——程序分支标志 DEFINE。 11 Def Plt 1,P2,P3,P4,P5,3,5,2′——定义1#托盘,3×5格,顺排型。 12 M1=1′——M1为变量。 13 *LOOP′——循环标志 LOOP。 14 Mov P1,-50′——前进到P1点的近点。 15 Ovrd50′——设置速度倍率为50%。 16 Mvs P1′——前进到P1点。 17 HClose1′——1号抓手闭合。 18 Dly0.5′——暂停0.5s。 19 Ovrd100′——设置速度倍率为100%。 20 Mvs,-50′——退回到P1点的近点。 21 P10=(Plt 1□M1)′——定义P10点(为1号托盘中的M1点,M1为变量) 22 Mov P10,-50′——前进到P10点的近点。 23 Ovrd50′——设置速度倍率为50%。 24 Mvs P10′——前进到P10点。 25 HOpen1′——打开抓手1。 26 Dly0.5′——暂停0.5s。 27 Ovrd100′——设置速度倍率为100%。 28 Mvs,-50′——退回到P1点的近点。 29 M1=M1+1′——变量M1运算。 30 If M1<=15 ThenLOOP′——循环判断条件。如果M1小于等于15,则继续循环。执行完15个点的抓取动作。 31 End′——程序结束。