什么是中断?
在快速执行程序的过程中,如果出现需要紧急处理的情况,则需要工业机器人中断当前的执行。程序指针PP立即跳转到一个特殊的程序来处理紧急情况。程序指针PP返回到程序被中断的地方并继续执行程序。为处理紧急情况而设计的程序称为中断程序(陷阱)。
1)从程序上解释:(可能有点晦涩!
机器人在执行主程序(main)时,当需要紧急处理的情况下,我们需要中断当前的程序,立即执行中断程序中的代码,执行后立即返回到刚刚结束的程序段。中断程序中没有运动指令,不会影响前台机器人的运动;
当程序执行到第二行()时,这个中断刚刚触发,程序指针将执行中断程序中的程序段(reg1: = reg1 + 1),程序指针执行后将返回到继续执行的位置;
让我们来看看中断程序的编程。
现在让我们来看看这个项目的整体结构:
整个程序,按下di0按钮,中断程序执行一次。
从实际应用来看:(听起来可能容易理解!)
举个例子:当ABB机器人配件在工作区域时,它手动进入光幕区域,当机器人在工作区域时(会有一个与人互动的区域),它手动进入光幕区域,机器人停止移动。如果你想通过中断来停止机器人的运动,你可以在中断中添加stopmove;
这里我们需要创建两个中断程序
Tr_stop在光栅信号变为0时对机器人进行处理;
Tr_start在光栅信号变为1时启动机器人;
创建方法:例程-新的,类型陷阱,如上所示
插入以下初始化器
插入方法:添加一条指令并选择interrupt
其中:用tr_start连接intstart表示在intstart中断号和tr_start中断程序之间建立连接。
ISignalDI di_0,1,intstart表示信号从0变为1
注意,默认的insert只接受一个参数,这意味着一个中断将被触发**次,并且不会再被触发。若要重复触发,请移除单个。)
将下列中断控制指令插入循环;
ISleep是一个失活中断,在此期间,中断机器人忽略IWatch,继续使用中断,并与ISleep形成一对。
在上面的图中,当没有启用path_1时,启用了path_2。
3)从上位机编程来解释:(可能听起来你不一定懂!
前段时间,一个项目要求机器人定期向上位机发送坐标。下面是它中断的一个例子:
首先介绍两个快速指令:
1、IDelete:删除中断,用于取消或删除中断预约。
2. 用于将一个中断id连接到一个软中断程序。这样,只要找到中断标识号,软中断程序就会自动执行。
单击查看源页面
首先,变量声明:
第二,主程序:
三、软中断程序:
跑步的结果将显示在训练器上。去看看吧。