對于通常的應用來說,一般不使用順序控制指令編程。順控指令一般用在需要控制的動作具有明確的步驟順序,并且周而復始地循環的場合。
順控指令程序可以作功能塊(子程序)包含在整個程序中,與其他非順控控制程序共存。
普通的PLC程序是從頭到尾不斷掃描執行的。SCR指令的關鍵是“步”和“轉換”,當轉換的條件不滿足時會一直保持在當前的步中。“轉換”就是從一個步,進入另一個步。在一個步的狀態中,程序也不是按普通程序運行的模式進行局部的“循環掃描”。
SCR指令
SCR指令的每一個步的結構,總是以LSCR指令開始,以SCRE結束,SCRT(步轉換指令)及其發生的條件在這兩者之間。
下面是一個例子(STL語句)如下:
Network 1
LD SM0.1
S S0.1, 1 //程序運行開始時,進入步
Network 2
LSCR S0.1 //裝載SCR指令,SCR結構開始
Network 3
LD SM0.0
S Q0.0, 1 //置位Q0.0
Network 4
LD I1.0 //I1.0為“1"時,
SCRT S0.2 //轉換到下一步
Network 5
SCRE //步結束
Network 6
LSCR S0.2
Network 7
LD SM0.0
R Q0.0, 1
Network 8
LD I1.1
SCRT S0.3
Network 9
SCRE
Network 10
LSCR S0.3
Network 11
LD SM0.0
S Q0.0, 1
Network 12
LD I1.2
SCRT S0.4
Network 13
SCRE
Network 14
LSCR S0.4
Network 15
LD SM0.0
R Q0.0, 1
Network 16
LD I1.3
SCRT S0.1 //回到步
Network 17
SCRE
對應的梯形圖如下,使用SCR、SCRT、SCRE:
常問問題
是否可以在不同的步中使用同一個開關量輸出點?為何出現不合邏輯的現象?
可以在不同的步中對同一個輸出點進行操作。這些邏輯運算不應使用普通編程時的實時狀態計算規則,應使用S(置位)和R(復位)指令對輸出點操作;或者使用中間狀態繼電器過渡,后再綜合邏輯,一起輸出。
順控程序停止調用后,整個步進邏輯如何變化,恢復調用后如何表現?