欢迎来到天天文库
浏览记录
ID:52837994
大小:622.60 KB
页数:25页
时间:2020-03-22
《工业机器人现场编程(KUKA)+陈小艳+PPT课件C-08-O-K-机器人程序的流程控制编程-课件.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、机器人程序的流程控制编程主要内容If分支编程Switch-case分支编程循环编程1)无限循环编程2)计数循环编程3)当型循环编程4)直到型循环编程5)等待函数编程If分支编程If分支是用于将程序分为多个路径,给程序多个选择,判断后执行其后面的指令。使用if分支后,便可以只在特定的条件下执行程序段。带选择语句分支没有选择的分支语句使用if分支的示例左图为没有可选的if分支。先声明一个整数类型的变量,并开始初始化,再进行if指令的条件判断,如果出现错误等于5的时候,则执行then后的指令,让机器人移动至P21点,否则执行endif。左图为有可选分支的if
2、分支。如果变量不等于5,则要执行else后的指令,让机器人移动到P22点。使用if分支的示例左图为有复杂执行条件的if分支语句当执行条件复杂,有不止一个的时候,if指令会分别进行判断,然后选择执行的指令。左图为有布尔表达式的分支。如果声明一个布尔变量,有布尔表达式的if分支,也是同样的执行方式,分支中表达式IFno_error==TRUETHEN可以简化为IFno_errorTHEN,省略始终表示为真。Switch-case分支编程Switch-case分支是一个分支或多重分支,并且用于不同情况,用switch-case指令则能达到区分多种情况并为每种
3、情况执行不同操作的目的。Switch-case分支可以和INT数据类型、CHAR数据类型和枚举诗句类型结合使用。INT整数的使用CHAR单个字符的使用枚举数据类型的使用左图是无替代路径的情况仅含定义的switch-case分支,当编号不等于1或2或3时,则直接跳到endswitch,不执行指令。左图是有一种替代路径的情况仅含定义的switch-case分支和一种替代情况,当编号不等于1或2或3时,则直接跳入default,以执行其指令。左图是case具有多种情况当编号不等于3或4或5时,则直接跳入下一个case,以执行其指令。Switch-case分支
4、举例无替代情况的switch-case分支首先声明变量error_nr,当等于1或2或3或4时,执行其后的指令,否则跳至endswitch,不执行指令。有替代选择的分支示例在error_nr不等于1或2或3或4时,执行default后的指令,将机器人驶至起始位置。Switch-case分支举例枚举示例定义颜色的枚举变量和常量,进行声明和初始化后,执行switch指令,当颜色符合定义的case,则执行指令,否则跳至endswitch,不执行指令。循环编程循环是用来控制结构的流程,它可以不断重复执行程序的指令,直到出现让其中断的条件才会结束循环,并且不允许
5、从外部跳入循环结构中。循环可以相互嵌套,有不同的循环类型,如下:1)无限循环2)计数循环3)条件循环其中条件循环又分为当型循环和直到型循环。无限循环编程无限循环即是每次运行完之后都会重新运行的循环,具体句法如下:左图是无限循环的程序流程图在运行过程中,只有通过外部控制来终止,可直接用EXIT退出,如果是两个无限循环相互嵌套,则需要两个EXIT指令来退出两个循环。使用无限循环编程的示例左图为无中断的无限循环。程序中有一个无限循环,并且没有编辑退出语句,所以从编程的技术上来讲,机器人永远不会移动到P5,移至循环移动点P1、P2、P3、P4。左图为带中断的无
6、限循环。在无限循环中编辑中断的条件,在无限循环中插入if指令,如果满足条件则会中断循环,没有满足则会无限循环下去。计数循环编程计数循环是一种可以通过规定重复次数执行一个或多个指令的控制结构。在进行计数循环前,先声明一个整型变量的循环计数器counter。执行计数循环时从值start开始并最迟在last时结束,循环可借助EXIT立即退出,并可以按照指定的步幅计数。步幅时可以通过关键词STEP指定为某个整数,如下图为带步幅的计数循环句法。如果没有借助STEP指定步幅时,会自动使用步幅+1,如下图所示。计数循环又分为递减计数和递增计数,递减计数是起始值大于等
7、于终值,指定了负向的步数,逐步递减。递增计数则是相反。计数循环流程图如下所示。循环运行的原理(以递增计数为例):首先循环计数器被用起始值进行初始化:counter=某个整数。然后,循环计数器在endfor时会以步幅step递增计数,循环又从for行开始,能够接着进行循环的条件是计数变量必须小于等于指定的终值,否则会结束循环。根据检查结果的不同,循环计数器会再次递增计数或结束循环,结束循环后程序在endfor行后继续运行。计数循环编程实例左图为未指定步幅的单层计数循环。步幅自动定为+1,也就是说counter从等于1开始,每次+1,直到等于51时,停止循
8、环,这是递增计数循环。左图为指定步幅的单层计数循环。该循环只会运行两次。一次以起始数值coun
此文档下载收益归作者所有