- 西門子PLC、變頻器與觸摸屏技術(shù)及綜合應(yīng)用
- 侍壽永 王玲主編
- 2858字
- 2023-08-28 20:00:39
1.3 位邏輯指令
1.3.1 觸點指令
1.常開觸點和常閉觸點
觸點分為常開觸點和常閉觸點,常開觸點在指定的位為“1”狀態(tài)(ON)時閉合,為“0”狀態(tài)(OFF)時斷開;常閉觸點在指定的位為“1”狀態(tài)(ON)時斷開,為“0”狀態(tài)(OFF)時閉合。觸點符號中間的“/”表示常閉,觸點指令中變量的數(shù)據(jù)類型為位(Bool)型,在編程時觸點可以并聯(lián)和串聯(lián)使用,但不能放在梯形圖的最后,觸點和線圈指令的應(yīng)用舉例如圖1-12所示。

圖1-12 觸點和線圈指令的應(yīng)用舉例
注意:在使用絕對尋址方式時,絕對地址前面的“%”符號是編程軟件自動添加的,不需要用戶輸入。
2.NOT(取反)觸點
NOT觸點用來轉(zhuǎn)換能流流入的邏輯狀態(tài)。如果沒有能流流入NOT觸點,則有能流流出。如果有能流流入NOT觸點,則沒有能流流出。在圖1-13中,若I0.0為1,Q0.1為0,則有能流流入NOT觸點,經(jīng)過NOT觸點后,則無能流流向Q0.5;或I0.0為1,Q0.1為1,或I0.0為0,Q0.1為0(或為1)則無能流流入NOT觸點,經(jīng)過NOT觸點后,則有能流流向Q0.5。

圖1-13 NOT(取反)觸點指令應(yīng)用舉例
1.3.2 線圈指令
線圈指令為輸出指令,是將線圈的狀態(tài)寫入到指定的地址。驅(qū)動線圈的觸點電路接通時,線圈流過“能流”指定位對應(yīng)的映像寄存器為1,反之則為0。如果是Q區(qū)地址,CPU將輸出的值傳送給對應(yīng)的過程映像輸出,PLC在RUN(運行)模式時,接通或斷開連接到相應(yīng)輸出點的負載。輸出線圈指令可以放在梯形圖的任意位置,變量類型為Bool型。輸出線圈指令既可以多個串聯(lián)使用,也可以多個并聯(lián)使用。建議初學(xué)時將輸出線圈單獨或并聯(lián)使用,并且放在每個電路的最后,即梯形圖的最右側(cè),如圖1-12所示。
取反線圈中間有“/”符號,如果有能流經(jīng)過圖1-12中M0.3的取反線圈,則M0.3的輸出位為“0”狀態(tài),其常開觸點斷開,反之M0.3的輸出位為1狀態(tài),其常開觸點閉合。
視頻“觸點及線圈指令”可通過掃描二維碼1-4播放。

1-4 觸點與線圈指令
1.3.3 置位/復(fù)位指令
1.單點置位/復(fù)位指令
S(Set,置位或置1)指令將指定的單個地址位置位(變?yōu)椤?”狀態(tài)并保持,一直保持到它被另一個指令復(fù)位為止)。
R(Reset,復(fù)位或置0)指令將指定的單個地址位復(fù)位(變?yōu)椤?”狀態(tài)并保持,一直保持到它被另一個指令置位為止)。
置位和復(fù)位指令最主要的特點是具有記憶和保持功能。在圖1-14中若I0.0=1,M0.0=0時,Q0.0被置位,此時即使I0.0和M0.0不再滿足上述關(guān)系,Q0.0仍然保持為1,直到Q0.0對應(yīng)的復(fù)位條件滿足,即當I0.2=1,Q0.3=0時,Q0.0被復(fù)位為0。

圖1-14 置位/復(fù)位指令應(yīng)用舉例
注意:與S7-200和S7-300/400不同,S7-1200的梯形圖允許在一個程序段內(nèi)輸入多個獨立電路(見圖1-14),建議初學(xué)者在一個程序段中只輸入一個獨立電路。
視頻“置位/復(fù)位指令”可通過掃描二維碼1-5播放。

1-5 置位指令和復(fù)位指令
2.多點置位/復(fù)位指令
SET_BF(Set bit field,多點置位,也稱置位位域)指令將指定的地址開始的連續(xù)若干個(n)位地址置位(變?yōu)椤?”狀態(tài)并保持,一直保持到它被另一個指令復(fù)位為止)。
RESET_BF(Reset bit field,多點復(fù)位,也稱復(fù)位位域)指令將指定的地址開始的連續(xù)若干個(n)位地址復(fù)位(變?yōu)?狀態(tài)并保持,一直保持到它被另一個指令置位為止)。
在圖1-15中,若I0.1=1,則從Q0.3開始的4個連續(xù)的位被置位并保持“1”狀態(tài),即Q0.3~Q0.6一起被置位;當M0.2=1時,則從Q0.3開始的4個連續(xù)的位被復(fù)位并保持“0”狀態(tài),即Q0.3~Q0.6一起被復(fù)位。多點置位和復(fù)位指令線圈下方的n值為1時,其功能等同于置位和復(fù)位指令。

圖1-15 多點置位/復(fù)位指令應(yīng)用舉例
3.觸發(fā)器的置位/復(fù)位指令
觸發(fā)器的置位/復(fù)位指令如圖1-16所示。可以看出觸發(fā)器有置位輸入和復(fù)位輸入兩個輸入端,分別用于根據(jù)輸入端的邏輯運算結(jié)果(RLO)=1,對存儲器位置位和復(fù)位。當I0.0=1,I0.1=0時,Q0.0被復(fù)位,Q0.1被置位;當I0.0=0,I0.1=1時,Q0.0被置位,Q0.1被復(fù)位。若兩個輸入的信號邏輯結(jié)果全為1,則觸發(fā)器的哪一個輸入端在下面哪個就起作用,即觸發(fā)器的置位/復(fù)位指令分為置位優(yōu)先和復(fù)位優(yōu)先兩種。
觸發(fā)器指令上的M0.0和M0.1稱為標志位,R、S輸入端首先對標志位進行復(fù)位和置位,然后再將標志位的狀態(tài)送到輸出端。如果用置位指令把輸出置位,則當CPU暖啟動時輸出被復(fù)位。若在圖1-16中,將M0.0聲明為保持,則當CPU暖啟動時,它就一直保持置位狀態(tài),被啟動復(fù)位的Q0.0再次賦值為“1”(ON)狀態(tài)。
后面介紹的諸多指令通常也帶有標志位,其含義類似。

圖1-16 觸發(fā)器的置位/復(fù)位指令應(yīng)用舉例
1.3.4 邊沿檢測指令
1.邊沿檢測觸點指令
邊沿檢測觸點指令,又稱掃描操作數(shù)的信號邊沿指令,包括P觸點和N觸點指令(見圖1-17),是當觸點地址位的值從“0”到“1”(上升沿或正邊沿,Positive)或從“1”到“0”(下降沿或負邊沿,Negative)變化時,該觸點地址保持1個掃描周期的高電平,即對應(yīng)常開觸點接通1個掃描周期,在其他任何情況下,該觸點均斷開。觸點邊沿指令可以放置在程序段中除分支結(jié)尾外的任何位置。
P觸點下面的M0.0或N觸點下面的M1.0為邊沿存儲位,用來存儲上一次掃描循環(huán)時I0.1或I0.2的狀態(tài)。通過比較I0.1或I0.2的當前狀態(tài)和上一次循環(huán)的狀態(tài),來檢測信號的邊沿。邊沿存儲位的地址只能在程序中使用一次,它的狀態(tài)不能在其他地方被改寫。只能用M、DB或FB的靜態(tài)局部變量(Static)作為邊沿存儲位,不能用塊的臨時局部數(shù)據(jù)或I/O變量作為邊沿存儲位。
在圖1-17中,當I0.0為1,且當I0.1有從“0”到“1”的上升沿時,Q0.6接通1個掃描周期。當I0.2從“1”到“0”時,Q1.0接通1個掃描周期。

圖1-17 邊沿檢測觸點指令應(yīng)用舉例
視頻“邊沿檢測觸點指令”可通過掃描二維碼1-6播放。

1-6 邊沿檢測觸點指令
2.邊沿檢測線圈指令
邊沿檢測線圈指令,又稱信號邊沿置位操作數(shù)指令,包括P線圈和N線圈(見圖1-18),僅在流進該線圈的能流(即RLO)中檢測到上升沿或下降沿變化時,線圈對應(yīng)的位地址接通1個掃描周期,其他情況下該線圈對應(yīng)的位地址為“0”狀態(tài)。
線圈邊沿指令不會影響邏輯運算結(jié)果RLO,它們對能流是暢通無阻的,其輸入端的邏輯運算結(jié)果會被立即送給它的輸出端,它們可以放置在程序段的中間或最右邊,若放在程序段的最前面,則N線圈指令將無法執(zhí)行。
在圖1-18中,當線圈輸入端的信號狀態(tài)從“0”切換到“1”時,Q0.0接通1個掃描周期。當M0.3=0,I0.1=1時,Q0.2被置位,此時M0.2=0,當I0.1從“1”到“0”或M0.3從“0”到“1”時,M0.2接通1個掃描周期,Q0.2仍為1。圖1-18中M0.0或M0.1為P線圈或N線圈輸入端的RLO的邊沿存儲位。

圖1-18 邊沿檢測線圈指令應(yīng)用舉例
3.TRIG邊沿檢測指令
TRIG邊沿檢測指令分為檢測RLO的信號邊沿指令和檢測信號邊沿指令。
檢測RLO的信號邊沿指令包括P_TRIG和N_TRIG指令(見圖1-19),當在該指令的“CLK”輸入端檢測到能流(即RLO)上升沿或下降沿時,輸出端接通1個掃描周期。在圖1-19中,當I0.0和M0.0相與的結(jié)果有一個上升沿時,Q0.3接通1個掃描周期,I0.0和M0.0相與的結(jié)果保存在M1.0中。當I1.2從“1”到“0”時,M2.0接通1個掃描周期,此行中的N_TRIG指令功能同I1.2下邊沿檢測觸點指令。P_TRIG和N_TRIG指令不能放在電路的開始處和結(jié)束處。

圖1-19 信號邊沿檢測指令應(yīng)用舉例
檢測信號邊沿指令,包括R_TRIG和F_TRIG指令(見圖1-20)。它們都是函數(shù)塊,在調(diào)用時應(yīng)為它們指定背景數(shù)據(jù)塊。這兩條指令將輸入CLK當前狀態(tài)與背景數(shù)據(jù)塊中的邊沿存儲位保存的上一個掃描周期的CLK的狀態(tài)進行比較,如果指令檢測到CLK的上升沿或下降沿,將會通過Q端輸出1個掃描周期的脈沖。R_TRIG和F_TRIG指令不能放在電路的開始處和結(jié)束處。

圖1-20 檢測信號邊沿指令應(yīng)用舉例