流程控制類指令Compact IF、IF指令, FOR指令,WHILE指令
1.1 Compact IF、IF指令
專注工業機器人培訓幾十年的老師表示,Compact IF、IF都是條件判斷指令,但是在使用上,它們有很大的區別。
1. Compact IF-如果滿足條件,那么…
Compact IF也被稱為“緊湊型”條件判斷指令,因為它根據判斷只能執行一個指令。指令的使用格式為:
IF <條件表達式><指令>;
使用實例1:
IF count>8 set do1;
說明:如果count>8,則置位do1信號。
使用實例2:
IF flag1=TRUE GOTO LI;
說明:如果flag1=TRUE,則跳轉至標簽LI;
2. IF-如果滿足條件,那么…;否則…
IF條件判斷指令可以進行多重判斷,根據不同的滿足條件,執行相對應的指令。指令的使用格式為:
IF <條件表達式>THEN
<指令>
ELSEIF<條件表達式>THEN
<指令>
ELSE
<指令>
ENDIF
使用實例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。
使用實例2:
IF flag1 =TRUE THEN
reg1:=reg1+1;
ENDIF
說明:如果flag1等于true,則reg1加1。
1.2 FOR指令
FOR-重復給定的次數
FOR指令也稱為循環指令,當一個或多個指令重復多次時使用。其的使用格式如下:FOR <循環計數器數據名稱>FROM <起始值> TO<結束值> [STEP <步長值>]DO
<指令>;
ENDFOR
來自智通工業機器人培訓專家的一則小貼士:
循環計數器的數據名稱不需要提前定義,其為num型數據。
使用實例1:
FOR i FROM 1 TO 10 DO
routine1;
ENDFOR
說明:重復例行程序routine1 10次,其中步長值step默認為1。
使用實例2:
FOR p FROM 2 TO 10 step 2 DO
routine1;
ENDFOR
說明:例行程序routine1重復5次,因為步長值step為2,所以p的值依次為2、4、6、8、10。
使用實例3:
FOR p FROM 10 TO 2 step -2 DO
routine1;
ENDFOR
說明:重復例行程序routine1 5次,因為步長值step為-2,所以p的值依次為10、8、6、4、2。
來自智通工業機器人培訓專家的一則小貼士:
如果循環計數器的數值在起始值和結束值的范圍之外,則指針跳出POR循環,程序繼續執行緊接ENDFOR的指令。

1.3 WHILE指令
WHILE-只要…便重復
只要給定條件表達式評估為TRUE值,當循環執行一些指令時,使用WHILE。該指令的使用格式如下:
WHILE <條件表達式> DO
……
ENDWHILE
使用實例1:
WHILE reg1<8 DO
…..
reg1:=reg1+1;
ENDWHILE
說明:只要reg1<8條件成立,則一直執行循環內的語句,否則跳出WHILE循環。
使用實例2:
WHILE TRUE DO
……
ENDWHILE
說明:如果條件一直處于成立狀態,則循環內語句無限循環。這種使用實例經常被用于與初始化程序進行隔離。
來自智通工業機器人培訓專家的一則小貼士:
如果表達式值在開始時即為FALSE,則不執行WHILE內的語句。如果可以確定重復的次數,也可以使用FOR指令。