目录:
一、WHILE指令
1、WHILE指令结构定义
2、WHILE举例说明
3、WHILE无限循环
二、FOR指令
1、FOR指令结构定义
2、FOR举例说明
3、FOR指令要点
4、FOR指令变量i的举例说明
一、WHILE条件判断循环指令
1、WHILE指令结构定义
(1)While指令的结构:
WHILE <EXP> DO 这里<EXP>是条件部分
<SMT> 这里<SMT>是指令输入地方
ENDWHILE
<SMT>是指令输入地方,一般光标选中<SMT>,然后添加指令。<EXP>是条件,光标选中以后单击进去输入表达式;一般条件<EXP>部分可以是表达是,也可以是多个表达是之间的与或异或求余等关系,条件的结果只有对错,如下所示:
对=1=true=ON
错=0=false=OFF
(2)执行过程
WHILE条件判断循环指令一般用于根据特定条件而重复执行相关内容,即只要WHILE后面条件<EXP>成立则一直执行WHILE和ENDWHILE之间的指令片段,直到WHILE后面条件<EXP>不成立时程序指针才跳出到ENDWHILE的下一条指令继续往下运行,而且一般WHILE后面的条件变化要放在WHILE和ENDWHILE指令之间。
2、while举例说明
举例一:
reg1 := 1;
WHILE reg1 <= 10 DO
reg1 := reg1 + 1;
ENDWHILE
执行说明:初始化reg1=1,执行while指令时候,先判断reg1<=10的条件是否成立,如果条件成立则执行循环语句内的内容,while中每次执行一次reg1:=reg1+1,即reg1自加一;执行完一轮以后程序指针又跳到while指令去第二次判断reg1<=10条件是否成立,条件成立则又继续执行循环语句内的内容reg1:=reg1+1,即reg1又自加一一次;这样重复判断条件重复执行while中指令,直到条件reg1<=10不成立,即reg1=11时候,程序执行指针才会跳转到endwhile指令后面,结束while指令,往下继续运行。
举例二:累加计算
PROC rWHILE2()
a := 0;
i := 1;
WHILE i <= 100 DO
a := a + i;
i := i + 1;
ENDWHILE
WaitTime 3;
ENDPROC
程序图片:
程序数据图片:
3、WHILE无限循环
WHILE TRUE DO
<SMT>
ENDWHILE
执行说明:while指令的条件是true,即条件一直成立,所以程序指针执行到while指令以后,程序就会一直永远地执行while指令,程序指针不会跳出到endwhile指令后面继续往下运行,所以这里的while就是一个死循环,即无限循环。一般可以用在编写程序正常自动运行部分,让机器人正常工作时候处于永远执行。
二、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 rFOR3()
X := 0;
i := 100;
FOR i FROM 1 TO 3 DO
X := X + i;
ENDFOR
i := i + 1;
WaitTime 3;
ENDPROC
(2).嘿嘿,没有2,但是你想了解更多的ABB机器人的话请点击一下链接