本文仅介绍自动回“待命位”的思路,以及过程中用到的指令。
1.建议将点位记录到“姿势文件”内,这样可以反复调用,如下
USE 1 '调用1#姿势文件
MOVEX A=1,AC=0,SM=0,M1X,P,P1,R= 100,H=1,MS '运行1#姿势文件内的P1点
2.应当具备PLC等外部逻辑判断设备,“自动回待命位”程序应当仅在自动模式下才可运行,即如果PLC检测到机器人出现过自动转到手动的状态,出现此情况后不可运行“自动回待命位”程序,因为此时机器人可能被人为手动移动到某一干涉区,一旦运行“自动回待命位”程序可能出现撞机。
3.设置“作业原位置”点位及分配信号:常数设定→领域→作业原位置→可选择”程序参考“即将点位记录到程序内,并通过选择”程序号码“和”步骤号码“指定到这个点位;”手动记录“,点击屏幕上的”记录现在的位置“将当前位置记录到本界面内。
4.方法:获取当前坐标和各轴角度,根据这两组数据判断是否可以在无干涉的情况下直接运行到某一个已示教的点位,如果存在干涉,那么先让机器人往X、Y或者Z方向移动,直至避开干涉,再运行到已示教的点位,既然机器人回到了一个已示教的点位,那接着运行若干已示教的点位必然能回到待命位。
5.通常程序结构:
'调用1#姿势文件
USE 1
'作业原位置信号=1,即当前机器人已在待命位
IF o172=1
END
ENDIF
'获取当前TCP坐标,保存到V1!~V6!
GETP V1!
'获取当前各轴角度,保存到V11!~V16!
GETANGLE V11!
'当前状态下,抬高到Z=500
'同样以此方法可在姿态不变的情况下在X、Y或者Z方向移动,以避开干涉
LETVF V3!,500
MOVEX A=1,AC=0,SM=0,M1X,L,(V1!,V2!,V3!,V4!,V5!,V6!),R= 100,H=1,MS
'当Z=500后,避开机构干涉,我们可以检查姿势文件内有没有对应的过渡点,可回到待命位
'过渡点P10
MOVEX A=1,AC=0,SM=0,M1X,L,P10,R= 100,H=1,MS
'待命位P1
MOVEX A=1,AC=0,SM=0,M1X,L,P1,R= 100,H=1,MS