如果需要在中断中执行运动指令,由于机器人不可能同时执行两个运动指令,要解决这个问题,就需要学习如何在中断中使用运动指令,
例如客户有如下需求,机器人从P1点开始进行搜索,到P2点结束,P1和P2之间走直线。机器人上装有传感器,当传感器检测到工件时通过$in[90]的信号进行反馈(检测到工件时$in[90]为true)。检测到工件后机器人通过$out[10]向外输出true信号并且立即暂停搜索运动,将工件抓起,到P3点进行加工,加工完毕后,$out[10]信号变为false,机器人回到原来暂停搜索的地方,继续未完成的搜索。
一、要实现上述功能,首先我们要先知道brake指令。
brake:在中断中用于立即停止机器人。
二、其次知道部分与中断相关的系统变量,如下图:
紫色箭头处,$pos_ret和$axis_ret是机器人在运动过程中发生中断,并且中断子程序中使用了brake指令让机器人停下的位置。因为机器人有惯性不能立刻停下,需要向前滑行一段,所以当机器人停下时,系统会自动记录机器人停下的坐标。其中$pos_ret以XYZ坐标的形式表,$axis_ret则以轴角度来表示。
三、中断子程序对运动指令的限制。
在系统版本是8.3或8.3之前的版本中,以下指令不能在中断子程序中使用
包括联机表单的运动指令,KRL形式带S的运动指令
在系统版本是8.5的版本中,以下指令不能在中断子程序中使用
包括联机表单和KRL形式带S的运动指令
四、实现开头例子的功能(以系统版本8.5为例)
其中;xxxxxx处表示的是机器人抓起工件
;……处表示工件在P3点进行加工
KUKA机器人报错的代码和原因类型——库卡机器人
由校准调整引起的紧急停机 校准软键按下\退出校正菜单,按取消键两次 |
前进轨道的侧面不能连接外部轴 在较高速移动侧面中外部轴的联接 |
执行一次至目标点的点对点运动。目标点的坐标是**的。
LIN 执行至目标点的直线运动。目标点的坐标是**的。
CIRC 执行一个圆周运动。为了控制系统能够计算圆周运动,必须指定一个辅助点和一个目标点。
辅助点及目标点的坐标是**的。