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之後的程序。
使用循環指令時要考慮到程序的掃描時間,當循環次數較多,循環程序步數較多時,會影響到系統的正常運作。
閱讀更多 Mr丶小白糖 的文章