cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 204|回复: 0

发那科机器人自动碰撞恢复功能

[复制链接]
发表于 2019-9-12 15:25:59 | 显示全部楼层 |阅读模式
1、简介

本章介绍自动碰撞恢复功能Auto Collision Recovery,使阅读者能迅速掌握其要领。

1.1机器人要求

要在配制R-30iB控制柜的机器人中使用此功能,需要安装软件选项包R510 Auto Collision Recovery。

1.2主要功能

自动碰撞恢复用来从SRVO-50碰撞检测错误中自动恢复,当碰撞检测错误发生时,机器人停止,正在运行的程序也会暂停。安装了自动碰撞恢复功能后,它就会自动返回该程序。为了使用自动碰撞恢复功能,必须在机器人上安装碰撞保护。

不恰当的使用自动碰撞恢复功能将会损坏机器人、末关节的工具以及在工作台上的目标,还会使人员受伤。使用SKIP功能,通过安全的恢复过程能够正确的返回程序。

1.3开启与禁用

安装之后,自动碰撞恢复是默认启用的。禁用它,可以设置:
[HTCOLREC]COL_REC = FALSE。

   
图1-1 自动碰撞恢复的开启与禁用

2、自动碰撞恢复模式

自动碰撞恢复有两种模式,在两种模式中FANUC推荐使用高速跳出模式。

2.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,以保证该功能能够使用。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2025-4-4 20:04 , Processed in 0.663433 second(s), 7 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表