![工业机器人实战应用及调试](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=1739309734-UgEjyGqY7lD1ufk21VB7HySTDv5OVZlP-0-f8f90a51a0fd67dba1aff472a3fedad8)
图4-14 If Then语句流程图
2)指令例句:
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_02.jpg?sign=1739309734-2q7Rd0LcdLM3xf7mYlW7GjWs7vNiriGm-0-a2c5cd7366597770b6521c4f53c9151d)
(3)指令格式2 如果判断-跳转指令的处理内容较多,无法在一行程序里表示,则使用以下指令格式:If<判断条件式>
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_03.jpg?sign=1739309734-wup0YWHpzazZ9BfrhhKfcgylTNZIb9af-0-7a0dc25ab4b0f31c427f94bbc7fbb441)
1)说明:如果条件成立则执行Then后面一直到Else的程序行;如果条件不成立则执行Else后面到EndIf的程序行。EndIf用于表示流程2的程序结束。
2)指令例句1:
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_04.jpg?sign=1739309734-yggYQdhfuJpR0HAXDy0NS8lowRjhUPK5-0-6024b0a326262a712c49608093a96c5c)
3)指令例句2:多级If…Then…Else…EndIf嵌套。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_05.jpg?sign=1739309734-ljyniQcb2JPMIbIqu3DKuOGPYwM92bMV-0-0110ce11269d319257954c095b30c289)
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_01.jpg?sign=1739309734-n06cmG59yKfxBNADzCcEdqi0e5sXpZ6o-0-f461c5a49695be1287b139aa63fa5a39)
4)指令例句3:在对Then及Else的流程处理中,以Break指令跳转到EndIf的下一行(不要使用GOTO指令跳转),如图4-15所示。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_02.jpg?sign=1739309734-q4aLeP9ihurpeLN7ErsHjE6U32edFeR0-0-e1962ba628ae6b2ee3b583494a1718ec)
(4)说明
1)多行型指令:If…Then…Else…En-dIf,必须书写EndIf,不得省略,否则无法确定流程2的结束位置。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_03.jpg?sign=1739309734-P1b8gwgB6bTlNohBfnPuw9eBZjbQFn6D-0-d3944cc635cb73824853fa67b8a9c2bf)
图4-15 If…Then语句中Break指令的流程
2)不要使用GOTO指令跳转到本指令之外。
3)嵌套多级指令最大为八级。
4)在对Then及Else的流程处理中,以Break指令跳转到EndIf的下一行。