FOR-NEXT循環指令
1、FOR-NEXT 指令用於(yu) 重複執行程序段,FOR 指令和 NEXT 指令之間的指令為(wei) 循環體(ti) 。FOR指令標記循環的開始,NEXT指令為(wei) 循環體(ti) 的結束指令。
2、每條 FOR 指令需要有一條 NEXT 指令與(yu) 之成對出現。
3、可以嵌套,嵌套深度為(wei) 8 層。
其中:
- INIT,FINAL分別定義起始值和結束值。
- 使能輸入EN有效,循環體開始執行,執行到NEXT指令時返回,每執行一次循環體,當前值計數器INDX增1,達到終止值FINAL時,循環結束。
- 使能輸入無效時,循環體程序不執行。每次使能輸入有效,指令自動將各參數複位。
注意:使用 FOR 和 NEXT 指令可在重複執行分配計數的循環中執行程序段。每條 FOR 指令需要一條 NEXT 指令。
應用例程
For Next 簡單循環編程實例
圖5.For Next 循環循環程序圖
使用狀態表監控程序的運行如下圖所示
圖6.狀態監視圖
如上表所示,VW100值為(wei) 4, INDEX大於(yu) 終止值,循環終止。
5個變量進行求和後取平均值實例
通過 FOR-NEXT 指令,對 5 個(ge) 變量:VW100、VW102、VW104、VW106、VW108 進行求和,求和結果放到 VW200 中,計算的平均值存放在 VD210 中 。
FOR-NEXT_求和及求平均數 FOR-NEXT.smart
以上為(wei) 關(guan) 於(yu) 指令使用的例程,僅(jin) 供參考,使用前請先自行測試!此示例程序在STEP 7-MicroWIN SMART V2.0版本下生成
常問問題
FOR-NEXT指令的循環次數如何計算?
答:FOR-NEXT工作過程:啟用FOR-NEXT指令,首先將 INIT( 初始值) 複製到 INDX(當前循環次數);每執行一次,INDX (當前循環次數) 加1; 如 果 INDX 大於(yu) FINAL (終止循環次數),終止循環。
比如: INIT=1 FINAL=10,則循環體(ti) 被執行10次,然後退出循環, 退出循環後INDX=11
INIT=0,FINAL=10, 則循環體(ti) 被執行11次,然後退出循環,退出循環後INDX=11
FOR-NEXT指令執行時,主程序是否執行,對掃描周期的影響?
答:程序自上而下循環掃描,當FOR-NEXT指令啟用後,則循環體(ti) 被循環執行,直至循環次數到達,循環結束,程序繼續向下執行。即在一個(ge) 掃描周期內(nei) 執行循環完畢後才會(hui) 向下執行,循環次數越多,會(hui) 導致掃描周期時間延長越多。如果循環次數過多或者出現死循環,會(hui) 導致掃描周期時間超過看門狗時間,報出看門狗超時的致命錯誤,CPU停機並且SF/DIAG燈紅燈常亮。
如何在FOR-NEXT執行循環過程中,退出循環?