Bootstrap

KUKA机器人程序的中断-interrupt 更多知识

这篇是实战篇,基础的看以下链接

https://blog.csdn.net/xm10282010/article/details/107554209

 

中断程序:

当满足声明中断时的条件后中断程序便会被启动,机器人将立即停止当前的工作,执行中断程序。

 

中断程序能写什么不能写什么呢?

 

中断程序:

  • 不能使用联机表单

  • 不允许修改$ADVANCE

  • 允许使用BRAKE(stop2)、BRAKE F(stop1)

  • 允许使用RESUME

  • 允许处理信号

 

 

和中断相关的变量:

 

 

下面来个实际应用:

 

大家都知道机器人是顺序执行程序的,就是说一个信号如果条件满足后将不再检查其状态。因此有些需要一直检查的信号将无法执行

比如夹爪,抓到产品后有料信号满足后将不再检查,但是如果在过程中掉件机器人便不知道

因此我们可以利用中断来对其进行检查

 

 

 

以下为付费内容

 

DEF GROP( )decl INTERRUPT 10 when $IN[130]==fasle do stop_robot( )INTERRUPT OFF 10; set outputsdo_OpenGrp=FALSEdo_CloseGrp=TRUE

; failcode input 129

WAIT FOR NOT $IN[129] and $IN[130] OR $TIMER_FLAG[1]  IF $TIMER_FLAG[1]==TRUE THEN     do_FailNo=1     ERROR(GROP)  ENDIF

INTERRUPT ON 10END

 

再来一个实例:

有些时候机器人抓取的物料并不在确定的位置,那么这就需要机器人对位置进行探索,直到传感器有信号就认为探索到了产品,如果一定距离后没有信号表示没找到。

 

 

以下还是付费内容

DEF SEARCH ( )
INTERRUPT DECL 10 WHEN WithPart==TRUE DO SEARCH_STOP()SEARCH_RUN(100)INTERRUPT OFF 10END-------------------------------------------------------DEF SEARCH_RUN (DIST)INTERRUPT ON 10
ENDSEARCH=$POS_ACTENDSEARCH.Z=ENDSEARCH.Z-DISTLIN ENDSEARCHINTERRUPT OFF 10ERROR(With OUT)END -------------------------------------------------------GLOBAL DEF SEARCH_STOP()INTERRUPT OFF 10BRAKE FSTART_POS=$POS_INTRESUMEEND

码字不容易,希望这文章对大家有用!!!

长按二维码关注我,机器人小农。。。大家可以用微信关注这个公众号

 

 

 

 

;