ABB机器人数组码垛精解

大家好!今天工博士给大家整理一篇关于ABB机器人数组码垛的内容,希望对大家有所帮助!

数组讲解

做码垛,怎么能少了数组!

数组做码垛,懂的人一看就懂,程序稳定且简单明了,后期维护方便快捷!

数组这个词很多人比较陌生,但是在做码垛这个工艺时,学会数组,你的编程肯定看起来

高、大、尚!

一般我们做轨迹,要么就是单点程序顺着做,高级一点的就是采用偏移,但偏移的数值还一个一个轨迹慢慢做的,要是有一个通式,只需要一个例行程序就能解决岂不快哉!

接下来我们看看大神们怎么做程序!!!

在这里插入图片描述

数组的创建:

  1. 选择左上角“ABB”——“程序数据”——“num”量(我们在此需要记录坐标偏移数据是数字量,所以选择num量)——“新建”——修改“名称”以及选择“维数”(维数根据我们最终需要来修改)。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

对比一下我们现场的数组数据和相对应的程序用法

数组数据解读

在这里插入图片描述

程序用法解读:

在这里插入图片描述

难点解读:对于数组定义和用法很多人容易弄混,大家注意啦,大家注意啦,大家注意啦!!!重要的事情说三遍!!!

在这里插入图片描述

在这里插入图片描述

具体参考程序如下

Eg:

MODULE Module1

CONST robtarget p10:=[[1764.38,185.31,270.61],[1.438E-8,0.707107,0.707107,1.7755E-8],[0,0,1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];

CONST robtarget p20:=[[98.25,1591.47,210.48],[4.89656E-10,5.96046E-8,1,7.93153E-9],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];

CONST jointtarget jHome:=[[43.7058,-13.3301,21.4904,-10.961,71.1324,46.2859],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];

CONST num RelTool_NUM{4,3}:=[[0,0,0],[660,0,0],[0,530,0],[660,530,0]];

PERS num Count:=5;

!***********************************************************

!中科罗伯特机器人学院

!

! Description:

!机器人码垛采用数组方式,结合离线仿真采用通式方法编写程序,方便修改、程序简洁、码垛准确!

!

! Author: 轴哥

!

! Version: 1.0

!

!***********************************************************

!***********************************************************

!

! Procedure main

!

!   This is the entry point of your program

!

!***********************************************************

PROC main()

    !Add your code here

    InitAll;

    Set DO_Start;

    Set DO_Check_liushuixian;

    WHILE TRUE DO

    IF Count >= 5 Stop;

    WaitDI DI_Check_LIUSHUIXIAN_OK, 1;

    Reset DO_Start;

    IF DI_Check_LIUSHUIXIAN_OK = 1 THEN

    RPick;

    RPlace;

    rHome;

    ENDIF

    ENDWHILE

ENDPROC

PROC RPick()

rHome;

MoveJ RelTool(p10,0,0,-600), v1000, fine, tGripper;

Reset DO_Check_liushuixian;

Reset DO_CHECK_Gripper;

Reset DO_Gripper;

MoveL p10, v300, fine, tGripper;

Set DO_CHECK_Gripper;

WaitDI di_check_GripperOK, 1;

Set DO_Gripper;

WaitTime 1;

MoveJ RelTool(p10,0,0,-600), v1000, fine, tGripper;

Set DO_Start;

Set DO_Check_liushuixian;

rHome;

ENDPROC

PROC RPlace()

MoveL RelTool(p20,RelTool_NUM{Count,1},RelTool_NUM{Count,2},RelTool_NUM{Count,3} - 600), v300, fine, tGripper;

Reset DO_CHECK_Gripper;

MoveL RelTool(p20,RelTool_NUM{Count,1},RelTool_NUM{Count,2},RelTool_NUM{Count,3}), v300, fine, tGripper;

Reset DO_Gripper;

WaitTime 1;

MoveL RelTool(p20,RelTool_NUM{Count,1},RelTool_NUM{Count,2},RelTool_NUM{Count,3} - 600), v300, fine, tGripper;

Incr Count;

ENDPROC

PROC rHome()

MoveAbsJ jHome\NoEOffs, v1000, z50, tGripper;

ENDPROC

PROC InitAll()

Set DO_Check_liushuixian;

Set DO_CHECK_Gripper;

WaitTime 0.1;

Reset DO_Check_liushuixian;

Reset DO_CHECK_Gripper;

Reset DO_Gripper;

Reset DO_Start;

rHome;

ENDPROC

ENDMODULE

**详情转载 ABB机器人

  • 11
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值