流程控制類指令Compact IF、IF指令, FOR指令,WHILE指令
1.1 Compact IF、IF指令
專注工業(yè)機(jī)器人培訓(xùn)幾十年的老師表示,Compact IF、IF都是條件判斷指令,但是在使用上,它們有很大的區(qū)別。
1. Compact IF-如果滿足條件,那么…
Compact IF也被稱為“緊湊型”條件判斷指令,因?yàn)樗鶕?jù)判斷只能執(zhí)行一個(gè)指令。指令的使用格式為:
IF <條件表達(dá)式><指令>;
使用實(shí)例1:
IF count>8 set do1;
說明:如果count>8,則置位do1信號(hào)。
使用實(shí)例2:
IF flag1=TRUE GOTO LI;
說明:如果flag1=TRUE,則跳轉(zhuǎn)至標(biāo)簽LI;
2. IF-如果滿足條件,那么…;否則…
IF條件判斷指令可以進(jìn)行多重判斷,根據(jù)不同的滿足條件,執(zhí)行相對(duì)應(yīng)的指令。指令的使用格式為:
IF <條件表達(dá)式>THEN
<指令>
ELSEIF<條件表達(dá)式>THEN
<指令>
ELSE
<指令>
ENDIF
使用實(shí)例1:
IF reg1 > 0 AND reg1<10 THEN
Set do1;
ELSEIF reg1>=10 THEN
Reset do1;
ENDIF
說明:如果reg1大于0小于10,則把do1置1;如果reg1大于等于10則重置do1。
使用實(shí)例2:
IF flag1 =TRUE THEN
reg1:=reg1+1;
ENDIF
說明:如果flag1等于true,則reg1加1。
1.2 FOR指令
FOR-重復(fù)給定的次數(shù)
FOR指令也稱為循環(huán)指令,當(dāng)一個(gè)或多個(gè)指令重復(fù)多次時(shí)使用。其的使用格式如下:FOR <循環(huán)計(jì)數(shù)器數(shù)據(jù)名稱>FROM <起始值> TO<結(jié)束值> [STEP <步長值>]DO
<指令>;
ENDFOR
來自智通工業(yè)機(jī)器人培訓(xùn)專家的一則小貼士:
循環(huán)計(jì)數(shù)器的數(shù)據(jù)名稱不需要提前定義,其為num型數(shù)據(jù)。
使用實(shí)例1:
FOR i FROM 1 TO 10 DO
routine1;
ENDFOR
說明:重復(fù)例行程序routine1 10次,其中步長值step默認(rèn)為1。
使用實(shí)例2:
FOR p FROM 2 TO 10 step 2 DO
routine1;
ENDFOR
說明:例行程序routine1重復(fù)5次,因?yàn)椴介L值step為2,所以p的值依次為2、4、6、8、10。
使用實(shí)例3:
FOR p FROM 10 TO 2 step -2 DO
routine1;
ENDFOR
說明:重復(fù)例行程序routine1 5次,因?yàn)椴介L值step為-2,所以p的值依次為10、8、6、4、2。
來自智通工業(yè)機(jī)器人培訓(xùn)專家的一則小貼士:
如果循環(huán)計(jì)數(shù)器的數(shù)值在起始值和結(jié)束值的范圍之外,則指針跳出POR循環(huán),程序繼續(xù)執(zhí)行緊接ENDFOR的指令。
1.3 WHILE指令
WHILE-只要…便重復(fù)
只要給定條件表達(dá)式評(píng)估為TRUE值,當(dāng)循環(huán)執(zhí)行一些指令時(shí),使用WHILE。該指令的使用格式如下:
WHILE <條件表達(dá)式> DO
……
ENDWHILE
使用實(shí)例1:
WHILE reg1<8 DO
…..
reg1:=reg1+1;
ENDWHILE
說明:只要reg1<8條件成立,則一直執(zhí)行循環(huán)內(nèi)的語句,否則跳出WHILE循環(huán)。
使用實(shí)例2:
WHILE TRUE DO
……
ENDWHILE
說明:如果條件一直處于成立狀態(tài),則循環(huán)內(nèi)語句無限循環(huán)。這種使用實(shí)例經(jīng)常被用于與初始化程序進(jìn)行隔離。
來自智通工業(yè)機(jī)器人培訓(xùn)專家的一則小貼士:
如果表達(dá)式值在開始時(shí)即為FALSE,則不執(zhí)行WHILE內(nèi)的語句。如果可以確定重復(fù)的次數(shù),也可以使用FOR指令。