程序流程指令

程序流程指令

3.2.1 跳轉指令----------------------CJ

3.2.2 子程序調用-------------------CALL

3.2.3 子程序返回-------------------SRET

3.2.4 主程序結束-------------------FEND

3.2.5 循環指令----------------------FOR,NEXT

3.2.1 跳轉指令

CJ---跳轉指令 P1--跳轉指針

指針P可能指定下列編號:

FX1S指針範圍:P0—P33

FX1N,FX2N,FX2NC指針範圍:P0—P127

作為執行序列的一部分的指令,有CJ,CJP指令,可以縮短運算週期及使用雙線圈。在下圖示例中,如果X0接通,則執行跳轉到P8那邊,執行下面的程序。

X0斷開時,不進行跳轉,按順序執行。

程序定時器T192—T199及高速計數器C235—C255如果在驅動後跳轉則繼續工作,輸出接點也動作。

程序流程指令

如上圖所示,當跳轉條件X0接通,則程序立即跳轉到對應的指針P8,執行P8下面的程序,直接跳過了中間那段程序。

若跳轉條件X0斷開,則程序不執行跳轉,程序按順序掃描執行。

3.2.2 子程序調用

程序舉例:

程序流程指令

3.2.3 子程序返回指令SRET

當使用子程序調用指令時,程序跳轉到對應指針的子程序那裡,開始執行調用的子程序。當執行到SRET指令時,表示此子程序調用結束,程序回到剛才調用的主程序那裡,向下執行程序。

3.2.4 主程序結束指令FEND

在FEND指令上面的程序稱主程序,在FEND指令下面的程序稱子程序,當程序按順序掃描時,只執行FEND上面的主程序,而不執行FEND下面的子程序。 執行到FEND指令後,重新回到第一步開始掃描。只有當用到CALL(子程序調用指令)時,子程序才會被調用。

注:當使用子程序調用指令時,一般都會與子程序返回指令SRET及主程序結束指令FEND一起使用。其中少了任何一個,可能都會導致PLC的運行異常。

3.2.5 循環指令[FOR,NEXT]

如下圖所示,

FOR是循環指令的開始,K4是循環次數,NEXT循環指令的結束。

只在FOR-NEXT指令之間的處理執行規定的次數後,才處理NEXT之後的程序。

使用循環指令時要考慮到程序的掃描時間,當循環次數較多,循環程序步數較多時,會影響到系統的正常運作。

程序流程指令


分享到:


相關文章: