法兰克机器人循环编程_FANUC机器人示教编程:距离先执行指令功能介绍与使用方法...

概述

距离先执行指令是这样一种功能,它在机器人的TCP相对动作指令的目标位置到达所指定的距离以内时,与机器人的动作并行地调用程序,或者进行信号输出。本指令可作为动作指令的附加指令来使用,不能作为单独指令进行示教。

J P[1] 100% FINE

L P[2] 1000mm/sec FINE DB 100mm,CALL A

距离先执行指令功能相关要素、参数、使用限制说明如下表所示。

使用本指令前,应设定系统变量:$SCR_GRP[1].$M_POS_ENB=TRUE。

指令说明

先执行距离指令,以如下图所示格式进行示教。

距离指定值:先执行距离指令在TCP进入以目标点为中心的球体区域内时,执行执行指令。这个指定的球体的半径大小,就是距离指定值(单位:mm)。距离指定范围值在0~999.9mm之间,该球体范围被称为触发区域。

L P[1] 2000mm/sec FINE

L P[2] 2000mm/sec FINE DB 100.0mm DO[1]=ON

添加距离先执行指令后,在机器人控制系统内部周期性地检测机器人当前位置,并判断TCP是否已进入触发区域。当检测位置进入触发区域时,执行执行指令。

根据程序中的指令,以距离来指定调用子程序的时机。由于是使用机器人运行周期间隔来计算目标点和当前位置的距离,并进行条件的判断,所以指定距离和指令执行的真实位置会出现误差。(在2000mm/sec下,误差大致为16mm左右。)

触发区域半径:触发区域的半径,按如下方式确定。

半径=(距离指定值或$DB_MINDIST)+$DB_TOLERENCE

当距离指定值小于$DB_MINDIST时,系统默认将$DB_MINDIST视为距离指定值。

例如假设在$DB_MINDIST=5.0下进行如下示教。

L P[1] 2000mm/sec FINE DB 0.0mm DO[1]=ON

这种情况下,机器人控制系统默认将其距离指定值设置为DB 5.0mm。然后,再加上$DB_TOLERENCE的值,由此来确定触发区域的半径,此时触发区域的半径为5.05mm。

执行指令:通过距离先执行指令能够执行的内容包括:程序调用、信号输出、点逻辑。

更改条件:只要机器人控制系统识别TCP已到达触发区域内,就执行执行指令。但是,诸如如下的“离开”、“通过”、“动作结束”,则不会被判定为TCP已进入触发区域。

离开:当运动指令指定CNT定位类型的转角时,机器人不会通过触发区域,这种情形被称为离开。

通过:当触发区域特别小时,机器人计算位置不进入触发区域而直接通过,这种情形被称为通过。

动作结束:区域触发、离开、通过的条件尚未成立的情况下,机器人运动指令结束而机器人停止时,强制执行执行指令。此时产生报警,但是,若是运动指令定位形式设定为FINE时将不会发生报警。如果希望使用该触发条件时,可以将$DB_MOTNEND设定为FALSE。(默认值:TRUE)。

条件未成立时的报警:本功能在条件未成立的情况下,机器人会发生报警。发生的报警取决于系统变量$DB_CONDTRIG。

单步运行:机器人单步运行经过本指令所示教的动作指令时,动作在调用子程序的时暂停。此后,在单步运行被调用的子程序时,执行剩余的动作。

执行指令为信号输出的情况下,与没有先执行指令的动作指令一样地单步执行。

暂停和再启动:带有本指令的动作指令在暂停后再启动时,触发区域的大小将会发生变化。暂停后再启动时,触发区域的半径成为最小半径($DB_MINDIST+$DB_TORELENCE)的值。因此,在触发条件成立前暂停时,触发的时机将会发生变化。

该处理的目的在于,等待TCP到达目标点后进行执行指令的处理。由此可以预防因暂停后的再启动而引起的过早触发。

不进行该区域半径的更改时,可将系统变量$DISTBF_TTS设定为0。此时,即使暂停也会像通常情况一样在指定距离位置处触发执行指令。

手动运行后的再启动:在程序暂停中手动运行之后再启动程序的执行时,根据再启动的位置,执行指令的执行时机会发生变化。此外,由于是暂停后的再启动,执行时机还会因系统变量$DISTBF_TTS的值而发生变化。

当系统变量$DISTBF_TTS=1时,中断程序后再启动后,触发区域的半径成为最小半径。当系统变量$DISTBF_TTS=0时,即使在程序中断后再启动时,触发区域的半径也不会发生变化。

停电处理:当设定停电处理有效时,程序执行过程中发生掉电的情况下,通过通电后的再启动可从子程序的剩余指令开始执行。

使用注意事项

与基于时间指定的先执行指令和后执行指令(TIME BEFORD/TIME AFTER)不可同时使用。

无法同时执行10个以上附带先执行/先执行距离指令的动作指令。

先执行距离指令周期性地检测当前位置和目标点之间的距离,判断触发条件是否已经满足。因此,指定距离和指令执行位置会产生误差。根据机器人的运行速度,系统会在更加靠近指定距离的位置进行执行指令的执行。机器人移动越慢,执行指令的执行时机就越精确。

在定位类型为CNT的动作指令运行结束时,条件成立前掉电的情况下,先执行指令不会因停电恢复而恢复。

先执行指令不能与增量指令、跳转指令、高速跳转指令同时使用。

该指令也可以在多群组的程序中使用,这种情况下,在编号小的组掩码检测与目标点的距离并执行执行指令。

该指令不能在不具备直角坐标的机器人上使用,不支持行列格式的位置数据,不支持内嵌附加轴。

不能在FANUC Robot F-200i上使用,不支持机器人路径跟踪。

机器人处于减速停止时,某些情况下不会触发“离开”。这种情况下,在再启动程序后触发执行指令。

急停后的惯性运动中不会触发指令。惯性运动中通过目标点时,在再启动程序后触发执行指令。

在动作快要结束时急停或再启动程序时,某些情况下会在再启动程序时立即触发执行指令。

当距离指定值较小的情况下,机器人在单步运行模式时程序有时会在动作快要结束时暂停。这种情况下,在执行下一行时触发执行指令。

在程序暂停后触发条件成立的情况下,在该行不会触发执行指令,执行下一行时触发执行指令。

在程序前面行中有尚未触发的先执行指令、先执行距离指令时,前面行的先执行指令、先执行距离指令触发之前,即使满足触发条件也不会触发执行指令。

程序编写与测试

首先,将光标移动到动作附加指令示教区域(动作指令程序后的空白处),然后在右侧的动作修改指令窗口中切换显示出“之前距离”附加功能。

选中“之前距离”附加功能后,距离先执行指令被添加到动作指令附加功能区。同时,右侧的动作修改窗口中显示指定距离设定标志。

点击“指定距离设定”标志之后,在弹出的数字输入对话框中,输入先执行的距离,如5mm,即在机器人运行到当前示教点5mm触发距离范围时执行附加条件。

指定距离设定完成后,在右侧的时间指令窗口中选择“DO[]=…”,当然,这里也可以选择调用程序或点逻辑指令。

设定要使用的数字量输出信号地址,如这里设定为5,也就是DO[5]。

最后在右侧的I/O指令窗口中设置数字量输出信号的输出值,如这里选择“ON”,即将DO[5]置位。

参考上述步骤,在后续的运行程序中添加相应的先执行功能,指令全部添加完成后,程序代码如下图所示。

对编写的程序进行测试,可以看到机器人TCP在运行到P[2]点附近5mm的触发区域后,DO[5]被置位;机器人TCP在运行到P[4]点附近2mm的触发区域时,DO[5]被复位。

The End

上一篇:IndRobSim:FANUC机器人示教编程:宏指令功能介绍与使用方法​zhuanlan.zhihu.com751cf115617e4f3eab9db6906a8079ab.png

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值