• 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67

    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机器人

  • 相关阅读:
    CDH大数据平台 21Cloudera Manager Console之azkaban与freeIPA、Kerberos等组合配置(markdown新版二)
    QFramework引入Event
    java 找不到或无法加载主类
    华为云云耀云服务器L实例评测|华为云云耀云服务器docker部署srs,可使用HLS协议
    三、CSS中级
    PyTorch深度学习框架
    别再盯着40系,这些才是目前性价比最高的显卡
    MySQL高级SQL语句
    面试题:有了 for 循环 为什么还要 forEach ?
    一个被清华大学辞退的50岁副教授
  • 原文地址:https://blog.csdn.net/weixin_46688234/article/details/126462067