![工业机器人实战应用及调试](https://wfqqreader-1252317822.image.myqcloud.com/cover/838/43806838/b_43806838.jpg)
上QQ阅读APP看书,第一时间看更新
4.2.3 程序结构指令概述
1.无条件跳转指令
1)GoTo:无条件跳转。
2)On GoTo:对应于指定的数值跳转到相应的程序行(1,2,3,4…)。
2.根据条件执行程序分支跳转的指令
(1)功能 本指令是根据条件执行程序分支跳转的指令,是改变程序流程的基本指令,如图4-14所示。
(2)指令格式1 If<判断条件式>Then<流程1>[Else<流程2>]。
1)说明:这种指令格式是在程序行里书写的判断-执行语句。如果条件成立则执行Then后面的程序指令;如果条件不成立则执行Else后面的程序指令,如图4-14所示。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_01.jpg?sign=1739240973-qcEPaGfAesaXXr1nyplB2LVl3vL81CQI-0-4973e0506bd14ecb53f8e4697a75bbfb)
图4-14 If Then语句流程图
2)指令例句:
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_02.jpg?sign=1739240973-COwpuFj1KNhUVNGulKZqeZpnWSNumsId-0-afbe005ab61dfe461fba0eaa47ccb222)
(3)指令格式2 如果判断-跳转指令的处理内容较多,无法在一行程序里表示,则使用以下指令格式:If<判断条件式>
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_03.jpg?sign=1739240973-ZtJBZqMMiIrAjOUUGXqlIstenZDJdgCg-0-1fc5f36d9a6cd01407aeba6b5104d7ad)
1)说明:如果条件成立则执行Then后面一直到Else的程序行;如果条件不成立则执行Else后面到EndIf的程序行。EndIf用于表示流程2的程序结束。
2)指令例句1:
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_04.jpg?sign=1739240973-EGZO88UouhW1JKb59JFHhOrgVfQhSoQD-0-6e2358c5841dda756d0dd7ecd1d7a9f6)
3)指令例句2:多级If…Then…Else…EndIf嵌套。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_05.jpg?sign=1739240973-MBaIF24kbVCgplxDqUu58pLdMZivFX0T-0-a68d7cfb859795bdcc04d0c20a69659e)
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_01.jpg?sign=1739240973-Xvb810yU81VDcn2WNZReH8w37bxAo8OM-0-6c1653dd40d8cb4767ec604ccb38f97b)
4)指令例句3:在对Then及Else的流程处理中,以Break指令跳转到EndIf的下一行(不要使用GOTO指令跳转),如图4-15所示。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_02.jpg?sign=1739240973-IxrrtFUs3qboSXxxBfYwRfVHq5wf4Rfg-0-09e97d9917d2e61f7ba7b6f0717629f9)
(4)说明
1)多行型指令:If…Then…Else…En-dIf,必须书写EndIf,不得省略,否则无法确定流程2的结束位置。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_03.jpg?sign=1739240973-fZdc5sScRFCkyVSehIJvMQvvVHwFTzb0-0-f27aa389e561f112a122677e657327d5)
图4-15 If…Then语句中Break指令的流程
2)不要使用GOTO指令跳转到本指令之外。
3)嵌套多级指令最大为八级。
4)在对Then及Else的流程处理中,以Break指令跳转到EndIf的下一行。