FOR-NEXT循環(huán)指令
1、FOR-NEXT 指令用于重復(fù)執(zhí)行程序段,F(xiàn)OR 指令和 NEXT 指令之間的指令為循環(huán)體。FOR指令標記循環(huán)的開始,NEXT指令為循環(huán)體的結(jié)束指令。
2、每條 FOR 指令需要有一條 NEXT 指令與之成對出現(xiàn)。
3、可以嵌套,嵌套深度為 8 層。
其中:
INIT,FINAL分別定義起始值和結(jié)束值。
使能輸入EN有效,循環(huán)體開始執(zhí)行,執(zhí)行到NEXT指令時返回,每執(zhí)行一次循環(huán)體,當(dāng)前值計數(shù)器INDX增1,達到終止值FINAL時,循環(huán)結(jié)束。
使能輸入無效時,循環(huán)體程序不執(zhí)行。每次使能輸入有效,指令自動將各參數(shù)復(fù)位。
注意:使用 FOR 和 NEXT 指令可在重復(fù)執(zhí)行分配計數(shù)的循環(huán)中執(zhí)行程序段。
每條 FOR 指令需要一條 NEXT 指令。
應(yīng)用例程
For Next 簡單循環(huán)編程實例
圖5.For Next 循環(huán)循環(huán)程序圖
使用狀態(tài)表監(jiān)控程序的運行如下圖所示
圖6.狀態(tài)監(jiān)視圖
如上表所示,VW100值為4, INDEX大于終止值,循環(huán)終止。
5個變量進行求和后取平均值實例
通過 FOR-NEXT 指令,對 5 個變量:VW100、VW102、VW104、VW106、VW108 進行求和,求和結(jié)果放到 VW200 中,計算的平均值存放在 VD210 中 。
常問問題
FOR-NEXT指令的循環(huán)次數(shù)如何計算?
答:FOR-NEXT工作過程:啟用FOR-NEXT指令,首先將 INIT( 初始值) 復(fù)制到 INDX(當(dāng)前循環(huán)次數(shù));每執(zhí)行一次,INDX (當(dāng)前循環(huán)次數(shù)) 加1;如 果 INDX 大于 FINAL (終止循環(huán)次數(shù)),終止循環(huán)。
比如:INIT=1 FINAL=10,則循環(huán)體被執(zhí)行10次,然后退出循環(huán), 退出循環(huán)后INDX=11
INIT=0,FINAL=10, 則循環(huán)體被執(zhí)行11次,然后退出循環(huán),退出循環(huán)后INDX=11
FOR-NEXT指令執(zhí)行時,主程序是否執(zhí)行,對掃描周期的影響?
答:程序自上而下循環(huán)掃描,當(dāng)FOR-NEXT指令啟用后,則循環(huán)體被循環(huán)執(zhí)行,直至循環(huán)次數(shù)到達,循環(huán)結(jié)束,程序繼續(xù)向下執(zhí)行。即在一個掃描周期內(nèi)執(zhí)行循環(huán)完畢后才會向下執(zhí)行,循環(huán)次數(shù)越多,會導(dǎo)致掃描周期時間延長越多。如果循環(huán)次數(shù)過多或者出現(xiàn)死循環(huán),會導(dǎo)致掃描周期時間超過看門狗時間,報出看門狗超時的致命錯誤,CPU停機并且SF/DIAG燈紅燈常亮。
如何在FOR-NEXT執(zhí)行循環(huán)過程中,退出循環(huán)?
答:您可以在FOR/NEXT 指令處于循環(huán)過程中時,在循環(huán)體中修改FINAL (終止循環(huán)次數(shù))數(shù)值。
審核編輯:湯梓紅
-
SMART
+關(guān)注
關(guān)注
3文章
223瀏覽量
44642 -
指令
+關(guān)注
關(guān)注
1文章
606瀏覽量
35617 -
S7-200
+關(guān)注
關(guān)注
13文章
407瀏覽量
50280
原文標題:S7-200 SMART FOR-NEXT循環(huán)指令
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論