工业机器人连载系列丨NO.22 流程指令(While、For、IF)

本文首发于“江苏远恒教育”公号,订阅“江苏远恒教育”公号,更多精彩等你来发现~

导语

大家好,今天我们介绍一下abb机器人流程指令,也就是程序的控制指令,什么是程序控制指令呢?

站在编程原理的角度,程序的控制流程有5个方面:

① 调用另一程序(无返回值程序)并执行该程序后,按指令继续执行;

② 基于是否满足给定条件,执行不同指令;

③ 重复执行指令或例行程序多次,直到满足给定条件;

④ 移至同一程序中的某一标签处;

⑤ 终止程序执行过程。

一、While指令

1、定义

--只要...便重复

--只要给定条件表达式评估为TRUE值,当重复一些指令时,使用WHILE。

WHILE 循环条件 DO

条件调用循环子程序

调用指令

...

执行等待指令

ENDWHILE

2、指令执行流程

系统执行WHILE指令时,如循环条件满足,则可执行WHILE至ENDWHILE之间的循环指令或程序。

循环指令执行完成后,系统将再次检查循环条件如满足,则继续执行循环指令。

如此循环如不满足,系统可跳过WHILE至ENDWHILE的循环指令,执行ENDWHILE后的其他指令。

WIIILE指令的循环条件可判别、比较式,如“reg1<5”等,也可直接定义为辑状态“TRUE(满足)”或“FALSE(不满足)”。

如果循环条件直接定义为“TRUE”,则WHILE至ENDWHILE的循环指令将进入无限重复,如定义“FALSE”则WHILE至ENDWHILE的指令将永远无法执行。

二、FOR指令

1、定义

--对子程序或指令重复调用,可通过FOR实现。

FOR 循环计数器 FROM计数器起始值 TO 计数器结束值 DO

...

ENDFOR

执行原理:

① 评估起始值,结束值范围;

② 向循环计数器分配起始值;

③ 检查循环计数器的数值,以查看其数值是否介于起始值和结束值之间,或者是否等于起始值或结束值。如果循环计数器的数值在此范围之外,则FOR循环停止,且程序继续执行ENDFOR的指令。如果循环计数器的数值在此范围内,则执行FOR循环中的指令;

④ 按照步进值,使循环计数器增量 (或减量);

⑤ 重复FOR循环。

2、案例

默认省略STEP选项,如计数增量值默认为1,即每执行一次FOR与ENDFOR之间的重复指令,计数器值 i将自动加1;

案例1:

执行FOR指令,计数器 i的初始值为起始值,子程序rountine1可连续调用5次,执行完后,reg2自加1。计数器i的计数值为5,跳过子程序Rountine1,执行,reg2自加1。

案例2:

执行FOR指令,计数器i的初始值为1,子程序Rountine1可连续调用3次reg2值等于3。

三、IF条件判断指令

1、定义

--根据是否满足条件,执行不同的指令/程序时,使用IF。

--如果满足条件,那么…;否则...

--IF 指令可采用"IF...THEN...ENDIF","IF...THEN…ELSE...ENDIF","IF.…THEN…ELSEIF…ELSE…ENDIF"等多种形式编程。

2、IF...THEN.··ENDIF程序调用

① 使用IF…THEN…ENDIF,调用子程序或者指令时,可编写在程序行IF...THEN与ENDIF之间。

② 使用IF...THEN...ELSE...ENDIF,调用子程序或者指令时,可根据需要,将程序或者指令编写在程序IF...THEN与ELSE之间或者ELSE与ENDIF之间。

如果IF条件满足,IF...THEN与ELSE之间的程序指令可被执行,而ELSE与ENDIF之间的程序或者指令被跳过;

否则,IF...THEN与ELSE间的子程序被跳过、ELSE与ENDIF间的子程序或者指令被调用。

③ 使用IF…THEN…ELSEIF…ELSE…ENDIF,可设定多重执行条件,子程序调用指令或程序可编写在所需的位置。

结语

今天我们了解了While、For、IF流程指令的定义与应用,下一章我们会介绍另外两个流程指令TEST、GOTO。

欢迎大家关注我们,和我们共同学习、进步。

原文链接:,转发请注明来源!