程序控制指令中的『循環指令』

循環指令有什麼特點?

循環指令,為解決重複執行相同功能的程序段提供了極大的方便,並且優化了程序結構。

接下來,舉個例子來看一下循環指令怎麼應用……

梯形圖:

程序控制指令中的‘循環指令’

程序釋義:

當I1.0接通時,外層循環1執行50次;

在執行外層循環1的過程中,每當I1.1接通時,內層循環2執行5次。

使用注意事項:

在循環指令中FOR和NEXT指令必須成對使用,FOR和NEXT可以如上圖所示那樣嵌套,但是嵌套最多為8層,而且各個嵌套之間不可有交叉現象,循環指令執行完畢後在下一次啟用時指令將自動復位各參數,如果在循環塊中對INDX計數值進行復值將會影響循環體執行的次數,如果循環指令的初值大於終值時,循環體不被執行。

很多人可能會問,那循環指令每個輸入的端口代表什麼意思呢?

下面我們來詳細分析一下循環指令:

程序控制指令中的‘循環指令’

循環指令有兩條:循環開始指令和循環結束指令,其梯形圖和語句表如上圖所示。

FOR和NEXT為標識符,

EN為循環允許信號輸入端(數據類型為BOOL型)

ENO為功能框允許輸出端(數據類型為BOOL型)

INDX為當前值輸入端(數據類型為INT型)

INIT為循環初值輸入端(數據類型為INT型)

FINAL為保留循環終值輸入端(數據類型為INT型)。

INDX的尋址範圍為vW、IW、QW、MW、SW、SMW、LW、T、C、AC、*VD、*LD和*AC。INIT、FINAL的尋址範圍為VW、IW、QW、MW、SW、SMW、T、C、AC、LW、AIW、常數、*VD、*LD和*AC。

在循環指令中,循環開始指令(FOR)用來標記循環體的開始,循環結束指令(NEXT)用來標記循環體的結束,FOR和NEXT之間的程序段稱為循環體。當程序運行到循環指令時,如果循環允許信號EN端為1時,PLC就會自動的把循環初值輸入端INIT的值複製給當前計數輸入端INDX,用INDX計數值與循環終值輸入端FINAL的值進行比較,如果不大於終值,就執行循環體,每執行一次循環體,INDX計數值增1,並且將其結果同循環終值作比較,如果大於終值,則終止循環。

程序控制指令中的‘循環指令’


分享到:


相關文章: