除了纯运动指令和通讯指令(切换和等待功能)之外,在机器人程序中还有大量用于控制程序流程的程序。其中包括:
循环 | 循环是控制结构。它不断重复执行指令块指令,直*出现终止条件。
-
无限循环
-
计数循环
-
当型和直到型循环
分支 | 使用分支后,便可以只在特定的条件下执行程序段。
-
条件分支
-
多分支结构
无限循环 :在无限循环中无止境地重复指令段。然而,却可通过一个提前出现的中断(含 EXIT 功能)退出循环语句。
程序流程图:无限循环
LOOP 指令举例:
-
无 EXIT:***执行对 P1 和 P2 的运动指令
-
带 EXIT:一直执行对 P1 和 P2 的运动指令,直到输入端 30 切换到 TRUE。
计数循环 :用计数循环 (FOR 循环语句)可使指令重复定义的次数。循环的次数借助于一个计数变量控制。
程序流程图:FOR 循环语句
一个 FOR 循环语句举例:将输出端 1 * 5 依次切换到 TRUE。用整数(Integer) 变量 “i” 来对一个循环语句内的循环进行计数。
当型循环: WHILE 循环是一种当型或者先判断型循环,这种循环会在执行循环的指令部分前先判断终止条件是否成立。
WHILE 程序流程图
WHILE 循环示例:输出端 17 被切换为 TRUE,而输出端 18 被切换为FALSE,并且机器人移入 Home 位置,但仅当循环开始时就已满足条件 (输入端 22 为 TRUE)时才成立。
直到型循环: REPEAT 循环是一种直到型或者检验循环,这种循环会在*一次执行完循环指令部分后才会检测终止条件。
程序流程图 REPEAT
REPEAT 循环示例:输出端 17 被切换为 TRUE,而输出端 18 被切换为FALSE,并且机器人移入 Home 位置。这时才会检测条件。
条件性分支 :条件性分支 (IF 语句)由一个条件和两个指令部分组成。如果满足条件,则可处理*一个指令。如果未满足条件,则执行*二个指令。
但是,对 IF 语句也有替代方案:
-
*二个指令部分可以省去:无 ELSE 的 IF 语句。由此,当不满足条件时紧跟在分支后便继续执行程序。
-
多个 IF 语句可相互嵌套 (多重分支):问询被依次处理,直到有一个条件得到满足。
程序流程图:IF 分支
IF 语句举例:如果满足条件 (输入端 30 必须为 TRUE),则机器人运动到点P3,否则到点 P4。
分配器: 一个 SWITCH 分支语句是一个分配器或多路分支。此处*先分析一个表达式。然后,该表达式的值与一个案例段 (CASE) 的值进行比较。值一致时执行相应案例的指令。
程序流程图:分配模块 SWITCH - CASE
对带有名称 “ 状态 ” 的整数变量 (Integer),*先要检查其值。如果变量的值为1,则执行案例 1 (CASE 1):机器人运动到点 P5。如果变量的值为 2,则执行案例 2 (CASE 2):机器人运动到点 P6。如果变量的值未在任何案例中列出(在该例中为 1 和 2 以外的值),则将执行默认分支:故障信息。
更多资讯请点击:KUKA库卡机器人