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

ABB机器人维修保养服务商

产品:138    
联系我们
联系方式
  • 联系人:申鑫玉
  • 电话:15581660093
  • 邮件:service@gongboshi.com
  • 手机:15581660093(微信同号)
站内搜索
 
新闻分类
友情链接
首页 > > 如何通过信号编程改变ABB机器人的运动轨迹
如何通过信号编程改变ABB机器人的运动轨迹
发布时间:2020-03-12        浏览次数:171        返回列表
 
1. 机器人希望从下图位置Target_10往Target_20走,在到达Target_20前20mm(位于Target_50位置)时判断信号,若信号di0为1则机器人继续走到Target30,信号di0为0则机器人走到目标点Target_40

如何通过信号编程改变ABB机器人的运动轨迹
 
2. 机器人前进轨迹不希望中断(即不希望机器人准确走到Target_20停止再判断信号),以提高节拍。

3. 若采用如下代码
如何通过信号编程改变ABB机器人的运动轨迹
 
则有可能由于机器人预读机制,机器人在刚执行13行代码时(机器人刚开始从Target_10往Target_20运动),光标已经预读,此时由于信号di0还没有产生,机器人光标判断14行代码无效,光标直接预读至17行

4. 若采用如下代码,则机器人会在13行等待机器人运行完毕再往下执行,机器人动作准确,但机器人会在Target_20点停止。

5. 实际希望机器人在行进时在Target_20前20mm位置处判断信号为1,机器人轨迹如上图黑色轨迹,即机器人会在Target_20处以z10效果圆滑过去,而不会走到Target_20点。
6. 可以利用TriggInt,配合TriggL来实现,即在目标点前几mm处触发中断,中断内机器人判断信号并修改标志位,TriggL下一句判断标志位后继续运动。整个运动过程中,转弯半径不使用fine,以避免机器人停止。

TriggInttrigg1,5,intno1 表示在目标点前5mm触发中断程序
7. 具体代码如下:
VAR intnum intno1;
       VAR triggdata trigg1;
       VAR bool flag1;
       VAR bool flag2;

       PROC Path_30()
              flag1:=FALSE;
              flag2:=FALSE;
              Idelet intno1;
              CONNECT intno1 WITH tr_read;
              TriggInt trigg1,20,intno1;
              !目标点前20mm触发中断,也可使用提早时间等
              MoveL Target_10,v1000,z10,MyTool\WObj:=wobj0;
              TriggL Target_20,v50,trigg1,z10,MyTool\WObj:=wobj0;
                     !目标点前20mm触发中断
              waituntil flag2=TRUE;
              !等待flag2,阻止预读
              IF flag1 THEN
                     MoveL Target_30,v100,z10,MyTool\WObj:=wobj0;
       ELSE
                     MoveL Target_40,v100,z10,MyTool\WObj:=wobj0;
       ENDIF
ENDPROC
TRAP tr_read
              IF di0=1 THEN
                     flag1:=TRUE;
                     !执行中断时判断信号
       ELSE
                     flag1:=FALSE;
       ENDIF
       flag2:=TRUE;
       !完成信号读取并修改标志位flag2
ENDTRAP



了解更多可咨询:ABB机器人配件服务商

分享到: 


 

联系热线:15581660093(微信同号) 联系人:申鑫玉 联系地址:上海市嘉定区南翔镇众仁路399号B座20楼2007-2012室

技术和报价服务:星期一至星期六8:00-22:00 ABB机器人维修保养服务商

返回
顶部