![工业机器人实战应用及调试](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=1739505746-xPyAkQcVczqiuC0KgpQ6V0LY1WcMjOdW-0-5c3f9fcef740b10c23f420e6e276e2f8)
图4-14 If Then语句流程图
2)指令例句:
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_02.jpg?sign=1739505746-7TRrc9gwkv5pk8kAa5Izpugk7PGn0wLQ-0-045d98d51c21a535efcca44a8d8eb607)
(3)指令格式2 如果判断-跳转指令的处理内容较多,无法在一行程序里表示,则使用以下指令格式:If<判断条件式>
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_03.jpg?sign=1739505746-NdY8LxYyKxahuSj9H6zEA6VT2Nwm3Oaj-0-f32c6fa9738564e8b4f18a9c54e9308a)
1)说明:如果条件成立则执行Then后面一直到Else的程序行;如果条件不成立则执行Else后面到EndIf的程序行。EndIf用于表示流程2的程序结束。
2)指令例句1:
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_04.jpg?sign=1739505746-yDui84HV6Tolh13GDAyKfDjjakhtvMBQ-0-31f04ac5b19b4d894b8112e23ff88240)
3)指令例句2:多级If…Then…Else…EndIf嵌套。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_05.jpg?sign=1739505746-vJaQIB3fAMxqgTs9J1lxFWmdUidb0K12-0-89071f20ce9415d29478934d0f53a69a)
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_01.jpg?sign=1739505746-GNyh1NTMtv6ip5UQqAg4QtEKksZjxmAi-0-ff8b69f619db6103fedf485c05f1e8fc)
4)指令例句3:在对Then及Else的流程处理中,以Break指令跳转到EndIf的下一行(不要使用GOTO指令跳转),如图4-15所示。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_02.jpg?sign=1739505746-PYmUN5SlUQTQRebJzvn2dkPUyMzHiSjy-0-65d690befc01c6074a4dc1a8319518a9)
(4)说明
1)多行型指令:If…Then…Else…En-dIf,必须书写EndIf,不得省略,否则无法确定流程2的结束位置。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_03.jpg?sign=1739505746-l4iNABWUESmhd9ihQMrAdkEMODpHK2SK-0-a252241a69b933085ac6e22ddc37c49f)
图4-15 If…Then语句中Break指令的流程
2)不要使用GOTO指令跳转到本指令之外。
3)嵌套多级指令最大为八级。
4)在对Then及Else的流程处理中,以Break指令跳转到EndIf的下一行。