您好!欢迎光临工博士智能制造网!平台热线:021-80392549
工博士机器人网
ABB机械手专营店
产品:66  浏览:310352
18616260662
工博士自营   您好,欢迎光临工博士,我们将竭诚为您服务 点击这里给我发消息
您当前的位置:首页 » ABB资料资讯 » ABB机器人 FOR如何重复执行判断指令?——ABB机器人中国代理
产品分类
ABB资料资讯
ABB机器人 FOR如何重复执行判断指令?——ABB机器人中国代理
发布时间:2019-05-14        浏览次数:9666        返回列表

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 rFOR3()

X := 0;

i := 100;

FOR i FROM 1 TO 3 DO

X := X + i;

ENDFOR

i := i + 1;

WaitTime 3;

ENDPROC

(2)执行图片

程序运行画面:


程序数据画面:

**次运行程序数据画面:


第二次运行程序数据画面:


第三次运行程序数据画面:


第四次运行画面和程序数据画面:


运行程序画面程序数据画面


了解更多ABB机器人信息:http://www.abbjxs.gbsrobot.com

 

联系热线:18616260662(微信同号) 联系人:王青慧 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 ABB机械手专营店