![工业机器人实战应用及调试](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=1739667161-rO2Lxf69fuXfYEExpf9zVSOfYg4YuvWo-0-80a081677788627a5f066da792e6e5bb)
图4-14 If Then语句流程图
2)指令例句:
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_02.jpg?sign=1739667161-JmjwuczLsoAl4zDQusCniUG6EHU9VH5a-0-7d8370cfdbe168f10e034bd4aa47d0d1)
(3)指令格式2 如果判断-跳转指令的处理内容较多,无法在一行程序里表示,则使用以下指令格式:If<判断条件式>
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_03.jpg?sign=1739667161-9vurNRH2DrxYkojK36bjNgZxZLWxfQta-0-caa4c28c305a8bf846daff1cb08d5903)
1)说明:如果条件成立则执行Then后面一直到Else的程序行;如果条件不成立则执行Else后面到EndIf的程序行。EndIf用于表示流程2的程序结束。
2)指令例句1:
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_04.jpg?sign=1739667161-oyygNO2vsCoVABAKd2B32XMKSP15JUcW-0-75a48c8c0d42b937ec21437bb988f9f1)
3)指令例句2:多级If…Then…Else…EndIf嵌套。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/60_05.jpg?sign=1739667161-Q152gCL3uLvJ7p1ylA4g5pbg76I2XgYE-0-c43ea07005737c3f52882d5f040cde9d)
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_01.jpg?sign=1739667161-q77VDXz1ZrORa7JrvsOHVHGThsmF6pq5-0-5f9cb3ef79e86d723614c32f2dbeab66)
4)指令例句3:在对Then及Else的流程处理中,以Break指令跳转到EndIf的下一行(不要使用GOTO指令跳转),如图4-15所示。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_02.jpg?sign=1739667161-uceiBqUh4M9fCKgskrJS5QA6qVuiJIFL-0-be5b1d3a71596371fb23d5cf2740e8ad)
(4)说明
1)多行型指令:If…Then…Else…En-dIf,必须书写EndIf,不得省略,否则无法确定流程2的结束位置。
![](https://epubservercos.yuewen.com/F85A97/23083822101913406/epubprivate/OEBPS/Images/61_03.jpg?sign=1739667161-Ni2ZTBp0mPfsbjR71aeVq7cuEG7RFzg8-0-274dec96d0bb87fc97a522bd71a5b7fb)
图4-15 If…Then语句中Break指令的流程
2)不要使用GOTO指令跳转到本指令之外。
3)嵌套多级指令最大为八级。
4)在对Then及Else的流程处理中,以Break指令跳转到EndIf的下一行。