您好!欢迎光临工博士商城

库卡KUKA机器人专营

产品:7    
联系我们
新闻分类
  • 暂无分类
站内搜索
 
友情链接
  • 暂无链接
首页 > 新闻中心 > 库卡机器人预读机制
新闻中心
库卡机器人预读机制
发布时间:2022-05-10        浏览次数:436        返回列表

工博士机器人技术有限公司是一家集研发、生产、销售、技术服务于一体的专注于自动化、智能化设备生产和机器人系统集成应用的科技型企业,与ABB、库卡KUKA、发那科FANUC、安川YASKAWA欧地希OTC川崎Kawasaki遨博AUBO现代HYUNDAI电装DENSO欧姆龙OMRON爱普生EPSON等机器人公司签订了战略合作关系。

公司业务范围:

◆机器人本体及配套产品销售、机器人应用技术培训服务;

◆机器人在焊接、切割、搬运、激光技术、机床上下料、钣金折弯、锻造等领域的系统集成应用;

◆机器人变位机、导轨、防护工作房、焊接工装夹具等系统周边设备的设计和生产。

 地址:上海市嘉定区南翔镇众仁路399B202007(王工:18616566200)

----------------------------------------------------------------------------------------------------------

  由于之前看过好友LT写的文章关于库卡机器人的预读机制,觉得上面的案例较好,基于其文章之上,出一篇自认为较完善的文章来说明这机制。如各位看官,有兴趣可以浏览LT主页(www.davidrobot.com),里面文章蛮不错,值得学习(注:其网站近期改版中)。

  一. 关于Main Run

  库卡机器人解释器中有一种预进机制,程序执行时,解释器会根据系统变量$advance数值,将对应的运动指令语句进行预读,在运动语句之间的其他指令就会被执行,该机制被称预读(Advance Run),机器人控制系统在程序运行时提前计算及计划的数量的运动语句,实际数量取决于计算机的利用率。同时,解释器会有一个主指针指向当前正在执行的语句,这个叫作main run,左图红色圈实为Main Run Pointer图标。

  

  关于主指针几种形式:

  

  二.关于Advance Run

  基于Main Run Pointer,同样存在AdvanceRun Pointer,只是ARP不像MRP那么直观显示出来。APR的位置其实取决于$Advance的值,以下面为例子:

  

  如上图,MRP当前位置是运动P12,$Advance=3,机器人控制器提前处理3个运动指令块。那么ARP的位置是不是在P15?

  其实是的,当机器人运行完P12的运动后,MRP跳至P13运动行,ARP跳至P16运动行,当机器人准备执行P13,预读的逻辑$OUT[10]触发中断,此时机器人实际停在P12位置;

  三.Advance Run与Main Run关系

  1.如下图,机器人是在何处触发了中断?

  

  程序中$OUT[10]前有CONTINUE,不会触发Advance Run stop,当中断触发说明$OUT[10]条件已经预读,此时预读指针应该位于P16运动指令。而$Advance=3,往前推算3运动指令,那么在中断触发前MRP应该在P13,并且机器人实际是停在P12位置;通过系统变量检测:

  

  I-Executed:False,P_Name: XP13, P_Arrived:1 表示机器人目前运行XP13,且未至位置;

  2.如下图,机器人是在何处触发了中断?

  

  分析:

  (1).当预读ARP指针在P16出,则MRP在P13处,由于无$CONTINUE,$OUT[10]触发预读停止,即从P13以后的运动无预读机制,且无法逼近;

  (2).那么从P13开始程序会随着MRP逐行执行,即MRP至$OUT[10]=TRUE处开始触发中断,此时机器人在P15位置。

  如下图:

  

  库卡机器人解释器需要预先读取运动指令以便进行轨迹规划,这个工作是在运动指令被执行之前。如果要实现点位之间的轨迹平滑过渡至少需要预读一个运动语句。

  四.与main run相关的变量($OUT_C)

  在库卡机器人系统里存在一些以_C后缀的系统变量,这些表示只在main run中运行,下面以$OUT_C为例:

  1.无Continue情况:库卡机器人维修

  库卡机器人

  直到运行$OUT_C[10]=TRUE才执行:

  

  I-Executed:False,P_Name: XP16, P_Arrived:1 表示机器人接下来目标点XP16,则目前机器人在P15位置;

  2.有Continue情况:

  库卡机械手

  直到运行$OUT_C[10]=TRUE才执行,说明CONTINUE不起作用(只针对预读指令):

  

  -Executed:False,P_Name: XP16, P_Arrived:1 表示机器人接下来目标点XP16,则机器人目前在P15位置;

  3,与预读指令一起:

  

  监控:

  scription-url="https://mmbiz.qlogo.cn/mmbiz_png/jic5cibyOn4hyoibNCt4dBjeibJRy3PvYXOYsfhhHa2w1DLL6M2r7GcJNIlCk75GibLjMEKbHYH4JUuWhzicd7e11yBw/0?wx_fmt=png" data-backh="195" data-backw="544" src="https://mmbiz.qpic.cn/mmbiz_png/jic5cibyOn4hyoibNCt4dBjeibJRy3PvYXOYsfhhHa2w1DLL6M2r7GcJNIlCk75GibLjMEKbHYH4JUuWhzicd7e11yBw/640?wx_fmt=png"/>

  I-Executed:False,P_Name: XP14, P_Arrived:1表示机器人即将运行的目标点位XP14,及机器人停留在XP13位置,而I=0则表示只有中断程序IP_Test触发,而中断程序IP_Count未触发

  五.触发预读停止的指令/变量/系统函数

  

  

  六.后小结:

  结论:

  1.当Advance Run被打断时,程序会随着Main Run Pointer逐块执行;

  2. KUKA的机器人解释器需要预先读取运动指令以便进行轨迹规划,此工作是在运动指 令被执行之前,而且这基于MRP。

  3.对于会打断预读的指令,在其前一行加上CONTINUE就可避免;

  4.$OUT_C[]此类运行在Main Run的指令,不会打断预读,只会随着MRP的位置才执行;

  防止预进停止的方法:

  1.对于联机表单指令,选择CONT模式;

  2.对于信号指令,可用相应变量在SPS里与其关联;

  3.语句前加上CONTINUE指令(如果下面的行中有 ON_ERROR_PROCEED,则 CONTINUE首先指的是其后的行。

  文章来源:http://mp.weixin.qq.com/s?src=11×tamp=1652163876&ver=3789&signature=Tk3RNlWNHqtKUxo3L8rRgAsm5kKn0SlrE1Ad02IMupmCKP-7K-8qFgxqucOwn6tbeKKG8jfr76knWS0VMbOscmLriRtseArRGuh6oz-BCVhPE2xk8zIqjuS9uscO2jyx&new=1

 

  更多咨询:库卡机器人

库卡机器人库卡机器人


 




 

联系热线:18616260662 联系人:王青慧 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 库卡KUKA机器人专营

返回
顶部