一.干涉的定义
机器人在作业过程中,或者在运行过程中,两个或两个以上的机器人同时占有同一区间位置而发生冲突叫干涉。因为干涉可能引起的后果有:
机器人的部件损坏
任何因干涉而造成的不良后果,都将为客户带来不
可估计的损失!
机器人程序混乱
加工中的工件损坏
周边其他设备设施的损坏
二.干涉区间
同一工位的机器人,在工作过程中,需要进入到同一个区域,但在进入的先后次序无严格的限定,一台机器人(Master)具有绝对优先的权利,即该机器人首先进入干涉区,作业完成之后另一台机器人(Slave)才可以进入该干涉区工作。任意一台机器人先进入(Master),在工艺上都允许(除了影响运行时间外),允许使用干涉区信号对控制机器人运行,防止机器人之间碰撞。对于有严格的工艺时序的干涉,采用互锁信号来控制。这种干涉区信号设置方法如图所示。 ⑴如图中,Rob2机器人为Master,Rob1机器人为Slave. Rob1和Rob2机器人在进入干涉区之前首先分别对彼此进行初始化(开启干涉区监控并释放干涉区)。 ⑵机器人进入干涉区三种情形:
1
Rob1机器人进入干涉区前,发送从机欲进入干涉区的请求信号,并检测Rob2作为主机是否发送欲进入干涉区的请求信号。如果主机Rob2进入干涉区的请求信号被激活,无论此时Rob2进入或则即将进入干涉区,此时Rob1都将停止运动并等待Rob2完成运动退出干涉区。
2
如果Rob1和Rob2同时发出欲进入干涉区的请求信号,Rob2机器人优先进入,此时Rob1都将停止运动并等待Rob2完成运动退出干涉区。
3
如果Rob1作为从机已进入干涉区时,Rob2若想进入干涉区,Rob2必须停止运动并等待Rob1完成运动退出干涉区。
⑶待进入干涉区的机器人必须等待已进入干涉区的机器人完成运动退出干涉区后方可进入。
三.干涉区间互锁编程思路:
创建名为Interlock的程序主要适用于存在有关联的机器人组之间互锁,该程序包含源代码SRC文件和数据文件DAT两个文件:
1.Interlock.dat数据文件说明:
①枚举类型互锁指令E_LOCKTYPE:
GLOBAL ENUM E_LOCKTYPE ENTER_LOCK_M,ENTER_LOCK_S,LEAVE_LOCK,CYC_CONTROL,RESET_LOCK
互锁命令
说明
ENTER_LOCK_M
作为主机器人进入干涉区
ENTER_LOCK_S
作为从机器人进入干涉区
LEAVE_LOCK
机器人退出干涉区
CYC_CONTROL
激活干涉区监控中断
RESET_LOCK
初始化并释放干涉区
②结构体型互锁信号S_LOCKSIG:
GLOBAL STRUC S_LOCKSIG INT ROB_IN,INT ROB_OUT
互锁信号
说明
ROB_IN
其他机器人许可当前机器人进入干涉区的输入信号:TRUE表示许可
ROB_OUT
当前机器人进入干涉区请求的输出信号:FALSE表示请求
③用于诊断的当前机器人激活干涉区号zLockNumber:
GLOBAL INT zLockNumber=3
④干涉区监控的中断及循环旗帜的定义:
GLOBAL CONST INT czCollInterrupt=1 ;定义干涉区监控的中断等级GLO