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