发那科机器人 |先执行指令功能/后执行指令功能介绍与使用方法
在机器人应用过程中,往往需要在机器人的动作指令执行结束之前或之后指定的时间点,调用I/O信号交互子程序,或者进行信号的输出。FANUC机器人自身提供了这样的功能,这个功能被称为先执行/后执行指令功能。通过此功能,可以在机器人动作的同时输出信号,从而缩短机器人与外围设备进行信号交互的等待时间,增强程序的执行效率。
指令格式
先执行/后执行指令是一种附加功能指令,它是在机器人动作指令程序之后添加的一种附加功能,使用先执行/后执行指令功能可以在动作指令执行过程中同时执行子程序调用、信号输出或点逻辑三种附加功能中的一种。功能指令格式如下图所示。
执行开始时间说明
根据所指定的执行开始时间(单位:sec),先执行/后执行功能指令分为TIME BRFORE与TIME AFIER两种。
TIME BRFORE(先执行)指令是在机器人动作指令程序执行结束的“n”sec之前执行附加功能指令,时序图如下所示。
TIME AFIER(后执行)指令是在机器人动作指令程序执行结束的“n”sec之后执行附加功能指令,时序图如下所示。
当出现使用TIMEBEFORE功能指令所指定的执行开始时间超过机器人动作程序执行时间的情况时,将在机器人动作开始的同时执行附加功能指令。
可以在程序中设定开始执行信号输出或调用子程序的时间范围为:TIME BEFORE指令的时间范围是0sec~30sec;TIME AFTER指令的时间范围是0sec~0.5sec。
使用先执行功能注意事项
在因倍率的调整而引起机器人动作时间变更的情况下,附加功能指令的执行开始时间将由初始执行开始时间来确定。因此,附加功能指令的执行开始时间会因倍率的变化而发生变化。
单步执行程序时,经过带有先执行/后执行的附加功能指令程序时,机器人动作按照附加功能类型在动作执行结束之前或之后指定的时间位置处暂停,再次启动程序将首先执行附加功能中调用的子程序,子程序执行完成后返回主程序继续向下执行。
设置了停电处理有效时,机器人在执行附加功能调用的子程序时出现掉电的情况下,接通电源在启动后,机器人将从停止位置处继续执行子程序中剩余的指令程序。
附加功能指令中使用CALL调用子程序时,子程序中不能包含机器人运动指令,即子程序的组掩码必须设置为。
使用先执行/后执行功能指令时由于主程序与被调用的子程序同时执行,因此,在某些情况下,主程序指令的执行会先于子程序指令的执行。如果在被调用的子程序执行结束之前,不希望先执行主程序,那么可以通过修改系统参数$TIMEBF_VER为2(标准值为3)来实现。
先执行/后执行功能指令中调用的子程序中,能够进行示教的指令的行数没有限制。
TIME BEFORE、TIME AFTER附加功能指令可以与其它动作附加指令同时使用。(SPOT[]等的应用程序指令和跳过指令除外。)
机器人动作指令的定位类型设定为CNT时,机器人动作程序运行结束的时机会根据CNT值的大小而变化,相应的执行附加功能指令的时机也会随之发生变化。
有些情况下,即使通过TIME BEFORE指令将执行时间指定为0sec,子程序的执行也会过快。这种情况下,请使用TIME AFTER指令。
先执行/后执行功能指令中直接添加信号输出时,只支持DO、RO、GO、AO四种类型的信号输出。
当机器人运行过程中动态变更倍率时,通常情况下将不会在正常的时机执行附加功能指令。
若在前面行中有尚未触发的先执行/后执行功能指令时,在前面行的先执行/后执行功能指令触发之前,即使当前行满足触发条件,也不会触发。
程序编写与测试
首先,将光标移动到动作附加指令示教区域(动作指令程序后的空白处),然后在右侧的动作修改指令窗口中切换显示出“之前时间”附加功能。
选中“之前时间”附加功能后,TIMEBEFORE指令被添加到动作指令附加功能区。同时,右侧的动作修改窗口中显示时间设定标志。
选中“时间指定”之后,在弹出的数字输入对话框中,输入先执行的时间,如2s,即在机器人运行到当前示教点之前2s时执行附加条件。
时间设定完成后,在右侧的时间指令窗口中选择“调用程序”,当然,这里也可以选择信号输出或点逻辑指令,如DO[]、RO[]、GO[]、POINT_LOGIC、AO[]。
选择要调用的子程序,如这里选择子程序D。
参考上述步骤,在后续的运行程序中添加相应的先执行功能,指令全部添加完成后,程序代码如下图所示。
子程序D、子程序E中的程序内容如下图所示,这里要注意的是,子程序中如果要执行信号输入或输出指令时,那么它的组掩码一定要全部设置为“*”,否则会出现不可预知的错误。
对编写的程序进行测试,可以看到机器人在运行到P[3]点之前2s时,DO[1]被置位;机器人在运行完P[4]点之后0.5s时,DO[1]被复位。
更多资讯:发那科机器人
- 下一篇:发那科机器人|参考位置功能介绍与设定方法
- 上一篇:发那科机器人|测试机器人伺服电机