順序控制(SCR)指令
順序控制指令的功能是是按照控制工藝將一個復雜的步驟分割成幾個簡單的步驟(即順控段),并根據(jù)工藝步驟順序執(zhí)行這些順控段。
普通的PLC程序是從頭到尾不斷掃描執(zhí)行的。SCR指令的關鍵是“步”和“轉換”,當轉換的條件不滿足時會一直保持在當前的步中。“轉換”就是從一個步,進入另一個步。
注意:
請用戶不要用調用子程序的原理去理解順控的的執(zhí)行方式,不被激活的順控段并不是被直接跳過,而是從最左側切斷該順控段的指令能流。
指令描述
LAD | 描述 |
裝載 SCR 指令 (LSCR) 將 S 位的值裝載到 SCR 和邏輯堆棧中。 | |
SCRT 指令標識要啟用的 SCR 位(要設置的下一個 S_bit)。能流進入線圈或 FBD 功能框時,CPU 會開啟引用的 S_bit,并會關閉 LSCR 指令(啟用此 SCR 段的指令)的 S_bit。 | |
梯形圖編程中,直接連接SCRE指令到能流線上,表示該順控段的結束。 |
控制流
常見的有順序控制流和分散控制流兩種:
順序控制流 | 分散控制流 |
常問問題
1. 為什么順控指令段對應的S標志位已經(jīng)被復位了,但是順控段中的程序似乎還能影響程序邏輯?
我們首先看如圖4.47順控程序舉例 所示的程序例子:
圖1.順控程序舉例
從上圖可以看出,主程序的程序段1中使用SM0.0置位了輸出Q0.0。從程序段2到5的順控段對應的S0.1為OFF狀態(tài),但是在程序段3中輸出Q0.0被復位了,在圖片右側所示的狀態(tài)表中也顯示了Q0.0的狀態(tài)為'0'。這種結果的原因在于當一個順控段對應的S標志位被復位時,程序并不是從指令SCR直接跳轉到SCRE,而是將SCR和SCRE指令之間的程序段左側的能流切斷。 可以在不同的步中對同一個輸出點進行操作。這些邏輯運算不應使用普通編程時的實時狀態(tài)計算規(guī)則,應使用S(置位)和R(復位)指令對輸出點操作;或者使用中間狀態(tài)繼電器過渡,最后再綜合邏輯,一起輸出。