什么是中断?
在RAPID程序执行过程中,如果发生需要紧急处理的情况,这就要求工业机器人中断当前的执行,程序指针PP马上跳转到专门的程序中对紧急的情况进行相应的处理,结束后程序指针PP返回原来被中断的地方,继续往下执行程序。专门用来处理紧急情况的程序就叫作中断程序(TRAP)。
1)从程序上来说明一下:(可能有些晦涩难懂啊!)
机器人在执行主程序(main)中,发生需要紧急处理的情况时,我们需要中断当前的程序,立刻执行中断程序中的代码,执行完之后立刻又返回到刚刚未执行完的程序段。中断程序内无运动指令,前台机器人运动不影响;
当程序执行到第二行(②),此时中断刚好触发,那程序指针将执行中断程序中的程序段(reg1 := reg1 + 1),执行完后程序指针将返回到②的位置继续往下执行;
接下来我们看看中断程序的编程吧。
接下了我们看整个程序结构:
整个程序,按一下di0按钮,中断程序执行一次。
2)从实际应用上来说明一下:(可能听起来容易理解!)
此处举例机器人在工作区域一时,人工进入光幕区域,机器人不停机器人在工作区域二时(会有与人交互区域),人工进入光幕区域,机器人停止运动;如果想通过中断让机器人暂停运动,可以在中断里加入stopmove;
此处我们需要建立2个中断程序(如下图):
tr_stop处理光栅信号变0时的机器人停止;
tr_start处理光栅信号变1时的机器人启动;
创建方法:例行程序-新建,类型选择trap,如上图
插入如下初始化程序
插入方法:添加指令,选择interrupt分类
其中:CONNECT intstart WITH tr_start表示建立intstart中断号和tr_start中断程序的连接,
ISignalDI di_0,1,intstart表示信号0变1时触发
(注意,默认插入是会带有single参数,即只会**次发生中断触发,之后不会再触发。要反复触发,去除single参数)
在循环里插入如下中断控制指令;
ISleep即为停用中断,在此期间产生的中断机器人忽略IWatch为恢复使用中断,和ISleep构成一对。
上图即是在path_1时,不启用中断,path_2启用中断;
3)从上位机编程上来说明一下:(可能听起来你就不一定懂了!)
前段时间一个项目需要机器人将自己的坐标定时发送给上位机,它的中断样例分享一下给大家:
首先介绍两个RAPID指令:
1、IDelete:删除中断,用于取消或者删除中断预定。
2、CONNECT、、、WITH、、、。用于将中断识别号与软中断程序相连。这样只要发现中断识别号,就会自动执行软中断程序。
点击查看源网页
**、变量的申明:
第二、主程序:
第三、软中断程序:
运行结果就会显示在示教器上了,快去看一看吧。
好了,以上就是ABB机器人 三种完整的中断应用了,希望对你有帮助!
- 下一篇:ABB工业机器人保养准则
- 上一篇:ABB电路板维修方法--ABB备件服务中心