ABB机器人添加外部轴(变位机或导轨)

1.ABB机器人添加外部轴(变位机或导轨)

以下内容是:转载+原创

1.系统key要有外部轴选项,并且用该key做好系统,如下(下图示例可以添加3个外部轴)打开系统信息System Info

2.打开RobotStudio找到如下界面

3.找到路径 ...\ABB.RobotWare-6.08.0134\RobotPackages\RobotWare_RPK_6.08.0134\utility\AdditionalAxis\Track

4.打开任意一个DM1(驱动柜),复制M7L1B1T_DM1.cfg文件到U盘

4.1.把刚才复制的文件粘贴到系统的HOME文件夹里面,我的是在:

..\irb2400-1\Solution4\Virtual Controllers\IRB2400_10_150\HOME

5.示教器控制面板Control Panel-配置Configuration,选择加载参数Load Parameters,点击确定

6.找到之前复制的那个文件,确定 然后重启

7. 打开手动操纵,可以看到状态栏增加了一个外部轴图标

7.1.设置运动配置

8. 切换到外轴,然后点击启动,即可用运动外轴

9. 在控制面板-配置,主题选择motion里,arm下可以修改外轴上下限,导轨的单位是米

10. Mechanical Unit里可以修改外轴名字

11. 在控制面板-配置,主题选择motion里,找到motor,可以修改选择的motor-type

12. 在控制面板-配置,主题选择motion里,找到transmission,可以修改减速比

2.实例

2.1.大概流程

2.2.添加IO信号

3.主程序

MODULE Module1
   CONST robtarget p10:=[[928.61,0.00,1412.50],[0.5,-4.21658E-9,0.866025,-2.43445E-9],[0,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
   CONST robtarget p20:=[[1121.52,-482.29,1412.50],[0.5,1.05526E-8,0.866025,9.58614E-8],[-1,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
   CONST robtarget p30:=[[992.10,-118.96,655.14],[0.233562,0.0589606,0.970513,-0.00877652],[-1,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
   CONST robtarget p40:=[[997.30,-61.68,655.14],[0.233718,0.0310037,0.971808,-0.00205069],[-1,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
   CONST robtarget p50:=[[1146.83,-71.06,560.31],[0.233718,0.0310037,0.971808,-0.00205069],[-1,0,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
   CONST robtarget p1:=[[744.75,-657.03,906.15],[0.504158,0.128506,0.850594,-0.0761711],[-1,1,-2,0],[0,0,9E+9,9E+9,9E+9,9E+9]];
   CONST robtarget p2:=[[917.94,-590.46,906.15],[0.504158,0.128507,0.850593,-0.0761708],[-1,1,-2,0],[0,0,9E+9,9E+9,9E+9,9E+9]];
   CONST robtarget p3:=[[744.75,-590.46,906.15],[0.504158,0.128507,0.850593,-0.076171],[-1,1,-2,0],[0,0,9E+9,9E+9,9E+9,9E+9]];
   CONST robtarget p4:=[[744.75,-438.20,906.15],[0.504158,0.128507,0.850593,-0.076171],[-1,1,-2,0],[0,0,9E+9,9E+9,9E+9,9E+9]];
   CONST robtarget p100:=[[928.61,0.00,1412.50],[0.5,-4.21658E-9,0.866025,-2.43445E-9],[0,0,-1,0],[0,300.152,9E+9,9E+9,9E+9,9E+9]];
   CONST robtarget p110:=[[928.61,0.00,1412.50],[0.5,-4.21658E-9,0.866025,-2.43445E-9],[0,0,-1,0],[0,0,9E+9,9E+9,9E+9,9E+9]];
   VAR num regint1:=0;
   VAR num product1:=0;
   VAR num product2:=0;
   VAR num product3:=0;
   VAR num time1:=1;
   PROC main()
        MoveAbsJ [[0,0,0,0,30,-5.57934E-7],[0,0,9E+9,9E+9,9E+9,9E+9]]\NoEOffs, v1000, z50, tool0;
        product1:=1;
        
        
        WHILE TRUE DO
           IF IN10=1 AND product1=1 THEN
              ActUnit M8DM1;
              MoveL p100,v2000,fine,tool0; 
              MoveL p110,v2000,fine,tool0;
              InvertDO DO10;
              WaitTime 1;
              Reset OUT10;
              DeactUnit M8DM1;
              product1:=0;
              product2:=1;
           ELSEIF IN10=1 AND product2=1 THEN
              ActUnit M8DM1;
              MoveL p100,v2000,fine,tool0; 
              MoveL p110,v2000,fine,tool0;
              InvertDO DO10;
              WaitTime 1;
              Reset OUT10;
              DeactUnit M8DM1;
              product2:=0;
              product3:=1;
           ELSEIF IN10=1 AND product3=1 THEN
              ActUnit M8DM1;
              MoveL p100,v2000,fine,tool0; 
              MoveL p110,v2000,fine,tool0;
              InvertDO DO10;
              WaitTime 2;
              Reset OUT10;
              DeactUnit M8DM1;
              product3:=0;
              regint1:=1;
           ELSEIF IN20=1 AND regint1=1 THEN
              WaitTime time1;
              MoveL p10, v2000, fine, tool0;
              MoveL p20,v2000,fine,tool0;
              MoveL p30,v2000,fine,tool0;
              MoveL p40,v2000,fine,tool0;
              MoveL p50,v2000,fine,tool0;
              MoveL p10,v2000,fine,tool0;
              regint1:=0;
           ELSEIF IN10=1 AND regint1=0 THEN
              WaitTime time1;
              ActUnit M8DM1;
              MoveL p100,v2000,fine,tool0; 
              MoveL p110,v2000,fine,tool0;
              InvertDO DO10;
              WaitTime 1;
              Reset OUT10;
              DeactUnit M8DM1; 
              regint1:=1;
           ENDIF
       ENDWHILE
   ENDPROC
ENDMODULE

  • 9
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sam-zy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值