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