【ABB】ABB机器人\RAPID中FOR重复执行判断指令

1、FOR指令结构定义

(1)FOR指令结构

FOR <ID> FROM <EXP> TO <EXP> STEP <EXP> DO

<SMT>

ENDFOR

<ID>:循环判断变量

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

第二个<EXP>:变量终止值,或者叫*末尾值;

第三个<EXP>:变量的步长,每运行一次FOR里面语句变量值自加这个步长值,在默认情况下,step <EXP>是隐藏的,是可选变元项。

(2)FOR指令执行过程

FOR重复执行判断指令一般用于重复执行特定次数的程序内容。程序指针执行到FOR指令时候,**次运行时,变量<ID>的值等于**个<EXP>的值,然后执行FOR和ENDFOR指令的指令片段,执行完以后变量<ID>的值自动加上步长第三个<EXP>的值;然后程序指针跳去FOR指令,开始第二次判断变量<ID>的值是否在**个<EXP>起始值和第二个<EXP>末端值之间,如果判断结果成立,则程序指针继续第二次执行FOR和ENDFOR指令的指令片段,同样执行完后变量<ID>的值继续自动加上步长第三个<EXP>的值;然后程序指针又跳去FOR指令,开始第三次判断变量是否在起始值和末端值之间,如果条件成立则又重复执行FOR里面指令,变量又自动加上步长值;直到当判断出变量<ID>的值不在起始值和末端值时候,程序指针才跳到ENDFOR后面继续往下执行。

2、for举例说明

X := 0;

FOR i FROM 6 TO 10 STEP 2 DO

X := X + i;

ENDFOR

执行说明:

初始化X := 0,然后程序进入FOR重复判断执行指令;

**次执行时候i的值等于6,然后程序执行for里面语句,即X := X + i指令,**次执行后X的值等于6;执行完for里面指令后变量i的值自动加上步长2,即i=i+2=6+2=8;

然后程序指针又跳到FOR指令,进行第二次判断i的值是否属于起始值6和末端值10之间,因为8是大于6和小于10,故判断条件结果成立,程序指针继续第二次执行FOR和ENDFOR之间指令片段,即X := X + i指令第二次执行,X=6+8=14;执行完for里面指令后变量i的值自动加上步长2,即i=i+2=8+2=10;

然后程序指针又跳到FOR指令,进行第三次判断,因为i=10,属于6到10的范围,故判断条件结果成立,程序指针又进入FOR指令,执行X := X + i语句,即X= X + i=14+10=24;执行完for里面指令后变量i的值自动加上步长2,即i=i+2=10+2=12;

然后程序指针跳到FOR指令,第四次判断条件,因为i=12不属于6到10的范围,所以判断条件结果不成立,此时程序指针才跳到ENDFOR指令后面继续往下运行,结束FOR指令执行。

总结:上面举例的FOR指令总共执行了3次,第四次判断以后条件不成立,结束FOR指令执行。

3、FOR指令要点

(1)FOR指令结构要认识(同上);

(2)FOR指令定义执行过程:FOR指令是重复判断执行,条件会自动加上步长,条件里面变量的范围可以自己指定,具体执行过程(同上);

(3)FOR指令里面的变量i特点:

**个特点:**次执行for指令,i的值等于起始值;

第二个特点:i的值在默认情况下,每次循环执行完for里面指令以后,i的值加1,即步长默认情况下为1;

第三个特点:i的值每次循环执行完for里面指令以后,自动加上步长step <EXP>指定的<EXP>的值;

第四个特点:i变量在for指令当中是特殊的变量存在:

在for指令结构中可以直接使用而不用预先定义,而且i在for当中的值,就等于for指定的起始值,每次运行完一次for里面指令,自动加上步长值,i在for中的值就是和在for外面的值互不影响;

当i在for指令结构外面,则必须遵循先定义后使用,遵循变量、可变量和常量规则等;

即i在for中的值可以和i在for外面的值互不影响,i在for结构中遵循for变量特点,i在for外面则遵循正常编程规则;

4、for指令变量i的举例说明

(1)程序

PROC  exampleFOR3()

 X := 0;

 i := 100;

 FOR i FROM 1 TO 3 DO

 X := X + i;

ENDFOR

i := i + 1;

WaitTime 3;

ENDPROC

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值