為當(dāng)型循環(huán)編程
當(dāng)型循環(huán)。一直重復(fù)指令塊直到滿足了特定條件的循環(huán)。如果不滿足條件,則用 ENDWHILE 后的下一個(gè)指令繼續(xù)程序。在每次循環(huán)執(zhí)行之前檢查條件。如果從一開始就不滿足條件,則不執(zhí)行指令塊。循環(huán)可嵌套。在循環(huán)已嵌套時(shí),則首先完整地執(zhí)行外部循環(huán)。然后完整地執(zhí)行內(nèi)部循環(huán)。
-
WHILE 循環(huán)也被稱為前測(cè)試型循環(huán)。
-
WHILE 循環(huán)是一種當(dāng)型或者先判斷型循環(huán),這種循環(huán)會(huì)在執(zhí)行循環(huán)的指令部分前先判斷終止條件是否成立。
-
只要某一執(zhí)行條件 (conition ) 得到滿足,這種循環(huán)會(huì)一直將過程重復(fù)下去。
-
執(zhí)行條件不滿足時(shí)會(huì)導(dǎo)致立即結(jié)束循環(huán),并執(zhí)行 ENDWHILE 后的指令
-
句法
WHILE condition
; 指令
ENDWHILE
當(dāng)型循環(huán)可通過 EXIT 指令立即退出。
具有簡單執(zhí)行條件的當(dāng)型循環(huán)
WHILE IN $41]==TRUE ; 部件備好在庫中
PICK_PART( )
ENDWILE
表達(dá)式 WHILE $IN[41]==TRUE 也可簡化為 WHILE $IN[41] 。省略始終表示比較為真 (TRUE)。
具有簡單否定型執(zhí)行條件的當(dāng)型循環(huán)
WHILE NOT $IN[42]==TRUE ; 輸入端 42:庫為空
PICK_PART( )
ENDWILE...
或者:
WHILE $IN[42]==FALSE ; 輸入端 42:庫為空
PICK_PART( )
ENDWILE...
具有復(fù)合執(zhí)行條件的當(dāng)型循環(huán)
WHILE (($IN[40]==TRUE) AND ($IN[41]==FALSE) OR (counter>20))
PALLET( )
ENDWILE
執(zhí)行循環(huán) 99 次。最后一次執(zhí)行后 W 的值為 100。
W=1
WHILE W<100
W=W+1
ENDWHILE
執(zhí)行循環(huán),直到 $IN[1] 為 TRUE。
WHILE $IN[1]==TRUE
W=W+1
ENDWHILE
當(dāng)循環(huán)-例子:
EXIT:離開循環(huán),無條件退出循環(huán)。
從循環(huán)中跳出。然后,在該循環(huán)后繼續(xù)程序。在每個(gè)循環(huán)中都允許使用EXIT。
EXIT
如果 $IN[1] 變?yōu)?TRUE,則離開循環(huán)。然后,在 ENDLOOP 后繼續(xù)程序。
DEF EXIT_PROG()
PTP HOME
LOOP
PTP POS_1
PTP POS_2
IF $IN[1] == TRUE THEN
EXIT
ENDIF
CIRC HELP_1, POS_3
PTP POS_4
ENDLOOP
PTP HOME
END
EXIT出現(xiàn)在語句塊循環(huán)中。它可以在任何循環(huán)中使用。
EXIT能被用于退出當(dāng)前的循環(huán)。程序在ENDLOOP 語句后繼續(xù)。.
從無窮的循環(huán)中退出。
LOOP
A=(A+1)*0.5/B
IF A>=13.5 THEN
EXIT
ENDIF
ENDLOOP
審核編輯 :李倩
-
指令
+關(guān)注
關(guān)注
1文章
607瀏覽量
35710 -
編程
+關(guān)注
關(guān)注
88文章
3615瀏覽量
93732 -
程序
+關(guān)注
關(guān)注
117文章
3787瀏覽量
81038
原文標(biāo)題:WHILE ...ENDWHILE:編程設(shè)定當(dāng)型循環(huán) .EXIT:離開循環(huán),無條件退出循環(huán).
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論