本章介绍自动碰撞恢复功能Auto Collision Recovery,使阅读者能迅速掌握其要领。
1.1机器人要求
1.2主要功能
自动碰撞恢复用于从srvu -50碰撞检测错误中自动恢复。当碰撞检测错误发生时,机器人停止,运行的程序也挂起。当自动碰撞恢复安装,它将自动返回到程序。为了使用自动碰撞恢复,必须在机器人上安装碰撞保护。
自动碰撞恢复的不当使用会损坏机器人、端节工具和工作台上的目标,并使人受伤。使用SKIP函数,程序可以通过安全恢复过程正确返回。
1.3开启与禁用
安装之后,自动碰撞恢复是默认启用的。禁用它,可以设置:
[HTCOLREC]COL_REC = FALSE。
图1-1 自动碰撞恢复的开启与禁用
2、自动碰撞恢复模式
自动碰撞恢复有两种模式,在两种模式中FANUC推荐使用高速跳出模式。
2.1、第1种模式
第1种模式是自动碰撞恢复的默认模式。
下面是一个检测到碰撞错误的程序实例。程序中,设置了一个SKIP条件,当“SRVO-50 Quick Stop”或“SRVO-53 Disturbance Excess”发生时此条件触发。第6行中如果Skip被触发,记录当前位置至PR[3],并执行下一行;如果Skip没有被触发,跳转到LBL[100]。
在类似于紧急停止的停止错误下,程序的执行将在下一行暂停。自动碰撞恢复,运行在后台,可以检测停止错误,并尝试返回到程序。当程序执行返回时,用户必须执行适当的恢复程序,例如将机器人从当前位置缓慢移动到安全位置。
如果用户不使用高速跳转命令,自动崩溃恢复将回到机器人停止的程序。这很可能会引发更多的碰撞错误。在SKIP函数中,非常重要的是要认真对待碰撞错误。
注意:在用户冲突恢复过程中,如果再次发生冲突,将再次尝试冲突恢复。限制损坏机器人、工具和夹具的事故次数。
机器人正在进行碰撞恢复时,可以设置一个DO为ON或者一个数字寄存器为1。为了设置DO或数字寄存器,需要设置以下变量数据,这些变量在名为HTCOLREC.PC的程序中被定义:
首先,在SELECT菜单中选择HTCOLREC.PC:
其次,在DATA菜单中,选择KAREL Vars,翻阅直到“Col_recov”变量,将会看到类似以下的菜单:
(1)在REG_INDEX中设置预定的寄存器号,该寄存器的值在碰撞恢复中会设成1。确保该值在数字寄存器变量的范围内;
(2)在DO_INDEX中设置预定的DO值,该DO在碰撞恢复中会置ON。确保该值在有效的DO范围内;
(3)在ERR_DO_INDEX中设置一个DO的值,该DO在自动碰撞恢复的未知错误中将被打开。
设置完这些变量后当碰撞发生时,寄存器将被设置成1,DO会被打开。用户程序的错误处理逻辑必须重设寄存器和(或)DO;HandlingTool软件不会重设这些寄存器或DO。
用户可以在程序中使用寄存器值或DO状态,来判断机器人是否遭遇碰撞,以及适当的选择其他动作。可以想象用户将重设寄存器为零和设置DO为OFF。
用户需要调节两个延迟变量的值:ERR_DELAY和RESET_DELAY(毫秒单位),取决于周期时间和安全要求。
ERR_DELAY是等待的时间,在错误发生之后及进行RESET之前。在自动错误恢复重置后,触发碰撞检测程序返回之前,有进一步的5秒钟的延迟。随后的延迟必须等待伺服系统重启。
注意:不能设置RESET_DELAY值过低,否则伺服恢复前当程序尝试返回时会出错。
2.2第二种模式
在一些应用中,当碰撞检测错误发生时,尽量终止所有程序,再运行一个错误恢复程序,并重新开始初始程序。原始程序可以被写入分支,该分支可取决于被DO_INDEX定义的DO状态或被REG_INDEX定义的数字寄存器的值。当相同的程序在恢复模式中运行时,它将会在程序中做适当的分支去顺利的恢复。
为了强制使自动碰撞恢复采用第二种模式,按以下步骤:
设置RECOVERY_TASK为希望运行的程序名,该程序中碰撞检测错误会发生。仅仅输入程序名,不要输出“.TP”或“.pc”等扩展名。同时设置USE_REC_TASK为TRUE。
比如,设置RECOVERY_TASK为已命名为ERR_REC的程序,在这种模式下所有在运行中的程序都会终止。然后运行ERR_REC,当它完成后主程序才会再次运行。
用户可能需要调节变量[HTCOLREC]ABORT_DELAY的值。ABORT_DELAY是在做出ABORT ALL和发出RUN命令来运行原始程序后的机器人等待的时间。虽然原始程序终止并在内部运行,用户必须意识到控制器需要少量的时间去终止所有任务,默认值是16ms。如果延迟减少到0,碰撞发生时进入暂停状态的原始程序,将不会终止但会要求重启,这将导致错误。
3、限制 下列限制应用于自动碰撞恢复:
1. 自动碰撞恢复功能需要机器人安装了碰撞保护。适当的设置碰撞保护的灵敏度;
2. 当用户计划使用自动碰撞恢复且预计有碰撞时,慢速移动机器人;
3. 碰撞检测错误终止机器人并暂停导致该错误的程序。在自动错误恢复期间,将返回所有挂起的任务。如果一个用户程序(KAREL或TP)在碰撞检测错误的事件中被暂停,这些任务也会被返回。用户应该意识到这一限制,并保护由于自动碰撞恢复而返回的程序。当发生冲突时,可以设置寄存器值1或DO值ON。建议在程序返回值中检查这些值。如果应用程序也中断了由于错误而挂起的程序,它们应该被修复,因为自动错误恢复返回所有挂起的任务;
4. 不合理的使用这个功能将会对机器人、末关节工具、工作台上的目标以及人员造成伤害。应使用SKIP功能并正确通过安全恢复流程处理程序的返回;
5. 机器人在碰撞恢复中如果发生一个碰撞,机器人会再次尝试碰撞恢复。不要重复的让这种事情发生,否则会损坏机器人、工具和夹具;
6. 如果碰撞检测引起的程序由于内部安全原因被用户或控制器终止了,碰撞恢复将不会发生。对于要执行的碰撞恢复,程序必须在碰撞检测后处于暂停的状态;
7. 当从KCL(KAREL命令语言)中运行一个程序时,自动碰撞恢复可能会尝试返回一个不同的程序,而不是所希望的程序。为了确保自动碰撞 恢复返回正确的任务,必须从SELECT菜单中选择程序或者设置系统变量 $TP_DEFPROG给从KCL中运行的程序;
8. 当通过使用SHIFT+FWD和有效的TP来运行程序时,自动碰撞恢复不会起作用,也不被支持。TP使能键必须为OFF,以保证该功能能够使用。
来源:网络
更多资讯:发那科机器人