工业机器人应用案例集锦
上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′——设定P3A轴角度=P2A轴角度。
    2  P3.B=P2.B′——设定P3B轴角度=P2B轴角度。
    3  P3.C=P2.C′——设定P3C轴角度=P2C轴角度。
    4  P4.A=P2.A′——设定P4A轴角度=P2A轴角度。
    5  P4.B=P2.B′——设定P4B轴角度=P2B轴角度。
    6  P4.C=P2.C′——设定P4C轴角度=P2C轴角度。
    7  P5.A=P2.A′——设定P5A轴角度=P2A轴角度。
    8  P5.B=P2.B′——设定P5B轴角度=P2B轴角度。
    9  P5.C=P2.C′——设定P5C轴角度=P2C轴角度。
    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′——如果P2C轴角度小于0就跳转到MINUS行。
    2  If Deg(P3.C)<-178 Then P3.C=P3.C+Rad(+360)′——如P3C轴角度小于-178°就指令点C轴+360°。
    3  If Deg(P4.C)<-178 Then P4.C=P4.C+Rad(+360)′——如果点P4C轴角度小于-178°就指令P4C轴+360°。
    4  If Deg(P5.C)<-178 Then P5.C=P5.C+Rad(+360)′——如果点P5C轴角度小于-178°就指令P5C轴+360°。
    5  GoToDEFINE′——跳转到*DEFINE行。
    6  *MINUS′——程序分支标志。
    7  If Deg(P3.C)>+178 Then P3.C=P3.C-Rad(+360)′——如果点P3C轴角度大于178°就指令P3C轴减360°。
    8  If Deg(P4.C)>+178 Then P4.C=P4.C-Rad(+360)′——如果点P4C轴角度大于178°就指令P4C轴减360°。
    9  If Deg(P5.C)>+178 Then P5.C=P5.C-Rad(+360)′——如果点P5C轴角度大于178°就指令P5C轴减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′——程序结束。