流程控制类指令Compact IF、IF指令, FOR指令,WHILE指令
2021-06-01
1.1 Compact IF、IF指令
专注工业机器人培训几十年的老师表示,Compact IF、IF都是条件判断指令,但是在使用上,它们有很大的区别。1. Compact IF-如果满足条件,那么…
Compact IF也被称为“紧凑型”条件判断指令,因为它根据判断只能执行一个指令。指令的使用格式为:
IF <条件表达式><指令>;
使用实例1:
IF count>8 set do1;
说明:如果count>8,则置位do1信号。
使用实例2:
IF flag1=TRUE GOTO LI;
说明:如果flag1=TRUE,则跳转至标签LI;

IF条件判断指令可以进行多重判断,根据不同的满足条件,执行相对应的指令。指令的使用格式为:
IF <条件表达式>THEN
<指令>
ELSEIF<条件表达式>THEN
<指令>
ELSE
<指令>
ENDIF
使用实例1:
IF reg1 > 0 AND reg1<10 THEN
Set do1;
ELSEIF reg1>=10 THEN
Reset do1;
ENDIF
说明:如果reg1大于0小于10,则把do1置1;如果reg1大于等于10则重置do1。
使用实例2:
IF flag1 =TRUE THEN
reg1:=reg1+1;
ENDIF
说明:如果flag1等于true,则reg1加1。

1.2 FOR指令
FOR-重复给定的次数FOR指令也称为循环指令,当一个或多个指令重复多次时使用。其的使用格式如下:FOR <循环计数器数据名称>FROM <起始值> TO<结束值> [STEP <步长值>]DO
<指令>;
ENDFOR
来自智通工业机器人培训专家的一则小贴士:
循环计数器的数据名称不需要提前定义,其为num型数据。
使用实例1:
FOR i FROM 1 TO 10 DO
routine1;
ENDFOR
说明:重复例行程序routine1 10次,其中步长值step默认为1。
使用实例2:
FOR p FROM 2 TO 10 step 2 DO
routine1;
ENDFOR
说明:例行程序routine1重复5次,因为步长值step为2,所以p的值依次为2、4、6、8、10。
使用实例3:
FOR p FROM 10 TO 2 step -2 DO
routine1;
ENDFOR
说明:重复例行程序routine1 5次,因为步长值step为-2,所以p的值依次为10、8、6、4、2。
来自智通工业机器人培训专家的一则小贴士:
如果循环计数器的数值在起始值和结束值的范围之外,则指针跳出POR循环,程序继续执行紧接ENDFOR的指令。


1.3 WHILE指令
WHILE-只要…便重复只要给定条件表达式评估为TRUE值,当循环执行一些指令时,使用WHILE。该指令的使用格式如下:
WHILE <条件表达式> DO
……
ENDWHILE
使用实例1:
WHILE reg1<8 DO
…..
reg1:=reg1+1;
ENDWHILE
说明:只要reg1<8条件成立,则一直执行循环内的语句,否则跳出WHILE循环。
使用实例2:
WHILE TRUE DO
……
ENDWHILE
说明:如果条件一直处于成立状态,则循环内语句无限循环。这种使用实例经常被用于与初始化程序进行隔离。
来自智通工业机器人培训专家的一则小贴士:
如果表达式值在开始时即为FALSE,则不执行WHILE内的语句。如果可以确定重复的次数,也可以使用FOR指令。