德国KUKA机器人编程知识之程序结构
机器人程序的结构和组成
程序流程控制,除了纯运动指令和通讯指令(切换和等待功能)之外,在机器人程序中还有大量用于控制程序流程的程序.其中 包括:
1.循环|循环是控制结构.它不断重复执行指令块指令,直至出现终止条件.
无限循环
计数循环
当型和直到型循环
2.分支|使用分支后,便可以只在特定的条件下执行程序段.
条件分支
多分支结构
无限循环:在无限循环中无止境地重复指令段.然而,却可通过一个提前出现的中断(含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语句也有替代方案:
1.在诶二个指令部分可以省去:无ELSE的IF语句.由此,当不满足条件时紧跟在分支后便继续执行程序.
2.多个IF语句可相互嵌套(多重分支):问询被依次处理,知道有一个条件得到满足.
程序流程图:IF分支
IF语句举例:如果满足条件(输入端30必须为True),则机器人运动到点P3,否则到点P4
多分支结构:一个Switch分支语句是一个分配器或多路分支.此处首先分析一个表达式.然后,该表达式的值与一个案例段(CASE)的值进行比较.值一致时执行相应案例的指令.
程序流程图:Switch结构
对带有名称”状态”的整数变量(Integer),首先要检查其值.如果变量的值为1,则执行案例1(CASE1):机器人运动到点5.如果变量的值为2.则执行案例2(CASE2):德国KUKA机器人运动到点P6.如果变量的值未在任何案例中列出(在该例中为1和2以外的值),则将执行默认分支:故障信息.