ABB机器人FOR循环指令

前言


我们在写代码时,一个相同的动作执行重复几次,可以使用FOR循环指令
FOR 循环指令:重复给定的次数。当一个或多个指令重复多次时,使用FOR。

FOR语法结构


FOR <ID> FROM <EXP> TO <EXP> DO 
    <SMT>
ENDFOR

<ID>:循环判断变量

第一个<EXP>:变量起始值,第一次运行变量等于这个值

第二个<EXP>:变量结束值

<SMT>:待执行指令

格式FOR Loop counter FROM Start value TO End value [STEP Step value] DO ... ENDFOR
参数Loop counter 循环计数器名称,将自动声明该数据
Start value Num型循环计数器起始值
End value Num型循环计数器结束值
Step value Num型循环增量(或减量)值,若未指定该值,则起始值小于结束值时设置为 1(或者如果起始值大于结束值, 则设置为-1)
... 待执行指令

示例


有关于如何使用指令FOR的更多例子阐述如下。

MODULE MainModule
    
    CONST num bian := 50; !偏移量常量50
    CONST robtarget p10:=[[355.53,-499.89,643.48],[1.77401E-7,3.39455E-8,1,-5.27226E-8],[-1,0,-1,0],        [9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];!抓取点
    CONST robtarget p20:=[[355.53,50.11,643.48],[4.32223E-9,-3.8027E-8,-1,1.91626E-8],[0,-1,0,0], [9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];!放取点
    CONST jointtarget jpos10:=[[0,0,0,0,90,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!安全点
    
    PROC main()
        Reset Vacuum;!初始化吸嘴
        MoveAbsJ jpos10\NoEOffs, v1000, z50, tool0;!安全点
        !for嵌套
        FOR x FROM 0 TO 2 DO 
            FOR y FROM 0 TO 2 DO    
                !试想一下,人抓东西和放东西
                MoveJ Offs(p10,x*bian,y*bian,200),v1000,fine,tool0\WObj:=wobj0;!离抓取点的上方z轴200
                MoveL Offs(p10,x*bian,y*bian,0),v1000,fine,tool0\WObj:=wobj0;  !到达抓取点
                Set Vacuum; !吸取物块
                WaitTime 1; !等待1秒
                MoveL Offs(p10,x*bian,y*bian,200),v1000,fine,tool0\WObj:=wobj0;!离抓取点的上方z轴200
                MoveJ Offs(p20,y*bian,x*bian,200),v1000,fine,tool0\WObj:=wobj0;!离放取点的上方z轴200
                MoveL Offs(p20,y*bian,x*bian,0),v1000,fine,tool0\WObj:=wobj0;  !到达放取点
                Reset Vacuum;!放物块
                WaitTime 1; !等待1秒
                MoveL Offs(p20,y*bian,x*bian,200),v1000,fine,tool0\WObj:=wobj0;!离放取点的上方z轴200
            ENDFOR
        ENDFOR
       
       MoveAbsJ jpos10\NoEOffs, v1000, z50, tool0;!安全点
                
    ENDPROC
   
ENDMODULE
MODULE MainModule
    
    PROC main()
        FOR i FROM 10 TO 2 STEP -2 DO

            a{i} := a{i-1}; !将数组中的数值向上调整,以便a{10}:=a{9}、 a{8}:=a{7}等等。

        ENDFOR         
    ENDPROC
   
ENDMODULE

总结


  • FOR可以嵌套

  • 确认重复次数用FOR,不知道重复次数用WHILE

以上方法仅供大家参考,希望对你们有所帮助,如有不足之处,欢迎大家留言探讨,如果有需要搬运工作站的朋友,可以关注 龙猫YOU 公众号,回复搬运即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值