簡介
計算機控制器中,記錄數據通路執行操作時的特殊情況所使用的特徵觸發器稱為順序控制繼電器。根據它在機器中的使用可分通用順序控制繼電器和專用順序控制繼電器。
程式控制類指令使程式結構靈活,合理使用可以最佳化程式結構,增強程式的功能。這類指令主要包括順序控制繼電器、結束、看門狗、跳轉、子程式和循環指令。順序控制指令主要用於順序過程和步進過程的控制程式設計。順序控制程式設計包括定義順序控制段和實現各種順序控制結構。
順序繼電器指令
利用順序繼電器指令編寫的順序控制程式中包含了若干個順序控制繼電器段(SCR段),一個SCR段有時也可稱為一個工步。工步指的是一個相對穩定的狀態,它必須包含3方面的內容:段開始、段結束和段轉移。所對應的指令分別為LSCR、SCRE和SCRT。
(1)段開始。
LSCR,段開始指令。定義一個順序控制繼電器段的開始。運算元為順序控制繼電器位Sx.y,Sx.Y作為本段的段標誌位。當Sx.Y位為1時,允許該SCR段工作。
(2)段結束。
SCRE,段結束指令。一個SCR段必須用該指令來結束。
(3)段轉移。
SCRT,段轉移指令。該指令用來實現本段與下一個段之間的切換。運算元為順序控制繼電器位Sx.Y,Sx.Y是下一個SCR段的標誌位。當使能輸入有效時,一方面對Sx.Y置位,以便讓下一個SCR段開始工作,另一方面同時對本SCR段的標誌位復位,以便本段停止工作。
順序控制繼電器區
PLC(可程式邏輯控制器)執行程式過程中,可能會用到順序控制。順序控制繼電器就是根據順序控制的特點和要求設計的。順序控制繼電器區是S7—200CPU為順序控制繼電器的數據而建立的一個存儲區,用S表示,在順序控制過程中,用於組織步進過程的控制。順序控制繼電器區的數據可以是位,也可以是位元組(8bit)、字(16bit)或者雙字(32bit)。其表示形式如下。
●用位節表示S0.0、S0.1…S31.0、S31.1、…、S31.7共有256點。
順序控制繼電器區中每個位地址的表示,應該包括存儲器標識符、位元組地址及位號三部分。存儲器標識符為“S”,位元組地址為整數部分,位號為小數部分。比如S0.1表明位存儲器區第0個位元組的第1位。
●用位元組表示SB0、SBl、…、SB31共有32個位元組。
順序控制繼電器區中每個位元組地址的表示,應該包括存儲器位元組標識符、位元組地址兩部分。位元組標識符為“SB”,位元組地址為整數部分。比如SB1表明位存儲器第1個位元組,共8位,其中第0位是最低位,第7位是最高位。
●用字表示SW0、SW2、…、SW30共有16個字。
順序控制繼電器區中每個字地址的表示,應該包括存儲器字標識符、字地址兩部分。字標識符為“SW”,字地址為整數部分。一個字含兩個位元組,一個字中的兩個位元組的地址必須連續,且低位位元組在一個字中應該是高8位,高位位元組在一個字中應該是低8位。比如,SW0中的SB0應該是高8位,SB1應該是低8位。
●用雙字表示 SD0、SD4、…、SD28共有8個雙字。
順序控制繼電器區中每個雙字地址的表示,應該包括存儲器雙字標識符、雙字地址兩部分。雙字標識符為“SD”,雙字地址為整數部分。一個雙字含四個位元組,四個位元組的地址必須連續。最低位位元組在一個雙字中應該是最高8位。比如,SD0中的SB0應該是最高8位,SB1應該是高8位,SB2應該是低8位,SB3應該是最低8位。
順序繼電器指令套用
分支控制
在許多實例中,一個順序控制狀態流可以分成兩個或多個不同分支控制狀態流。當一個控制狀態流分離成多個分支時,所有的分支控制狀態流必須同時激活,如1(a)圖所示。使用多條由相同轉移條件激活的SCRT(轉移指令)指令,可以在一段SCR程式(順序控制繼電器段程式)中實現控制流的分支,編程舉例如圖1(b)所示。
條件轉移控制
在有些情況下,一個控制流可能轉入多個可能的控制流中的某一個。到底進入哪一個,取決於控制流前面的轉移條件,哪一個首先為真,如圖1(c)所示。
合併控制
與分支控制的情況類似,兩個或者多個分支狀態流可以合併為一個狀態流。當控制流合併時,所有的控制流必須都完成,才能執行下一個狀態。圖1(d)給出了兩個控制流合併的示意圖。