- 西門子S7-300/400PLC項目化教程
- 朱清智 王娜主編
- 2662字
- 2021-10-27 14:20:07
3.1 定時器指令和CPU時鐘存儲器
定時器是一種按時間動作的繼電器,相當于繼電器控制系統(tǒng)中的時間繼電器。一個定時器有很多的常開觸點和常閉觸點。
根據(jù)工作方式不同,定時器可分為五種,如圖3-2所示。分別是S5脈沖定時器(S_PULSE)、S5擴展脈沖定時器(S_PEXT)、S5接通延時定時器(S_ODT)、S5保持接通延時定時器(S_ODTS)、S5斷開延時定時器(S_OFFDT),圖3-2的后五種是前五種的線圈表示形式。

圖3-2 各種定時器指令
西門子S7-300 PLC的定時器數(shù)量為128~2048個,西門子S7-400 PLC的定時器數(shù)量為2048個。越是高級型號的CPU,定時器的數(shù)量越多。
3.1.1 定時器指令的基本功能
1.S5脈沖定時器(S_PULSE)
S5脈沖定時器(S_PULSE)的使用方法是:如果在啟動(S)輸入端有一個上升沿,S_PULSE將啟動指定的定時器。信號變化始終是啟用定時器的必要條件。定時器在輸入端S的信號狀態(tài)為“1”時運行,但最長周期是由輸入端TV指定的時間值。只要定時器運行,輸出端Q的信號狀態(tài)就為“1”。如果在時間間隔結(jié)束前,S輸入端從“1”變?yōu)椤?”,則定時器將停止。這種情況下,輸出端Q的信號狀態(tài)為“0”。
如果在定時器運行期間定時器復位(R)輸入從“0”變?yōu)椤?”,則定時器將被復位。當前時間和時間基準也被設(shè)置為零。如果定時器不是正在運行,則定時器R輸入端的邏輯“1”沒有任何作用。
當前時間值可從輸出BI和BCD掃描得到。時間值在BI端是二進制編碼,在BCD端是BCD編碼。當前時間值為初始TV值減去定時器啟動后經(jīng)過的時間。定時器參數(shù)如表3-1所示。
表3-1 定時器參數(shù)

2.S5擴展脈沖定時器(S_PEXT)
S5擴展脈沖定時器(S_PEXT)的使用方法是:如果在啟動(S)輸入端有一個上升沿,S_PEXT將啟動指定的定時器。信號變化始終是啟用定時器的必要條件。定時器在輸入端TV指定的預(yù)設(shè)時間間隔運行,也就是在時間間隔結(jié)束前,S輸入端的信號狀態(tài)變?yōu)椤?”。只要定時器運行,輸出端Q的信號狀態(tài)就為“1”。如果在定時器運行期間輸入端S的信號狀態(tài)從“0”變?yōu)椤?”,則將使用預(yù)設(shè)的時間值重新啟動定時器。
如果在定時器運行期間復位(R)輸入從“0”變?yōu)椤?”,則定時器復位。當前時間和時間基準被設(shè)置為零。
當前時間值可從輸出BI和BCD掃描得到。時間值在BI處為二進制編碼,在BCD處為BCD編碼。當前時間值為初始TV值減去定時器啟動后經(jīng)過的時間。
3.S5接通延時定時器(S_ODT)
接通延時定時器(S_ODT)的使用方法是:如果在啟動(S)輸入端有一個上升沿,S_ODT(接通延時S5定時器)將啟動指定的定時器。信號變化始終是啟用定時器的必要條件。只要輸入端S的信號狀態(tài)為正,定時器就以在輸入端TV指定的時間間隔運行。定時器達到指定時間而沒有出錯,并且S輸入端的信號狀態(tài)仍為“1”時,輸出端Q的信號狀態(tài)為“1”。如果定時器運行期間輸入端S的信號狀態(tài)從“1”變?yōu)椤?”,定時器將停止。這種情況下,輸出端Q的信號狀態(tài)為“0”。
如果在定時器運行期間復位(R)輸入從“0”變?yōu)椤?”,則定時器復位。當前時間和時間基準被設(shè)置為零。然后,輸出端Q的信號狀態(tài)變?yōu)椤?”。如果在定時器沒有運行時R輸入端有一個邏輯“1”,并且輸入端S的RL0為“1”,則定時期也復位。
當前時間值可從輸出BI和BCD掃描得到。時間值在BI處為二進制編碼,在BCD處為BCD編碼。當前時間值為初始TV值減去定時器啟動后經(jīng)過的時間。
4.S5保持接通延時定時器(S_ODTS)
保持接通延時定時器(S_ODTS)的使用方法是:如果在啟動(S)輸入端有一個上升沿,S_ODTS將啟動指定的定時器。信號變化始終是啟用定時器的必要條件。定時器以在輸入端TV指定的時間間隔運行,即在時間間隔結(jié)束前,使輸入端S的信號狀態(tài)變?yōu)椤?”。定時器預(yù)定時間結(jié)束時,輸出端Q的信號狀態(tài)為“1”,而無論輸入端S的信號狀態(tài)如何。如果在定時器運行時輸入端S的信號狀態(tài)從“0”變?yōu)椤?”,則定時器將以指定的時間重新啟動(重新觸發(fā))。
如果復位(R)輸入從“0”變?yōu)椤?”,則無論S輸入端的RLO如何,定時器都將復位。然后,輸出端Q的信號狀態(tài)變?yōu)椤?”。
當前時間值可從輸出BI和BCD掃描得到。時間值在BI端是二進制編碼,在BCD端是BCD編碼。當前時間值為初始TV值減去定時器啟動后經(jīng)過的時間。
5.S5斷開延時定時器(S_OFFDT)
斷開延時定時器(S_OFFDT)的使用方法是:如果在啟動(S)輸入端有一個下降沿,S_OFFDT(斷開延時S5定時器)將啟動指定的定時器。信號變化始終是啟用定時器的必要條件。如果S輸入端的信號狀態(tài)為“1”,或定時器正在運行,則輸出端Q的信號狀態(tài)為“1”。如果在定時器運行期間輸入端S的信號狀態(tài)從“0”變?yōu)椤?”時,定時器將復位。輸入端S的信號狀態(tài)再次從“1”變?yōu)椤?”后,定時器才能重新啟動。
如果在定時器運行期間復位(R)輸入從“0”變?yōu)椤?”時,定時器將復位。
當前時間值可從輸出BI和BCD掃描得到。時間值在BI端是二進制編碼,在BCD端是BCD編碼。當前時間值為初始TV值減去定時器啟動后經(jīng)過的時間。
定時時間的表示方法如表3-2所示。
表3-2 定時時間的表示方法

3.1.2 定時器指令的應(yīng)用
1.S5脈沖定時器應(yīng)用實例
按下啟動按鈕SB1,指示燈HL1點亮,10s后指示燈熄滅。松開啟動按鈕SB1,重新按下啟動按鈕SB1,指示燈重新點亮。指示燈點亮期間,將開關(guān)打至OFF檔,指示燈立即熄滅。程序如圖3-3所示。

圖3-3 脈沖定時器應(yīng)用實例程序

脈沖定時器指令
2.S5擴展脈沖定時器應(yīng)用實例
按下啟動按鈕SB1,指示燈HL1點亮,10s后指示燈熄滅。期間按下停止按鈕SB2,指示燈HL1立即熄滅。程序如圖3-4所示。

圖3-4 擴展脈沖定時器應(yīng)用實例程序

擴展脈沖定時器指令
3.S5接通延時定時器應(yīng)用實例
按下啟動按鈕SB1,延時10s后指示燈HL1點亮,按下停止按鈕SB2,指示燈HL1立即熄滅。程序如圖3-5~圖3-7所示。
4.S5保持接通延時定時器應(yīng)用實例
按下啟動按鈕SB1,延時10s后指示燈HL1點亮,按下停止按鈕SB3,指示燈HL1立即熄滅。需要按下復位按鈕SB2,然后按下啟動按鈕SB1,指示燈HL1重新點亮,否則按下啟動按鈕SB1無效。程序如圖3-8~圖3-10所示。

圖3-5 啟動與停止程序

圖3-6 接通延時定時器程序

接通延時定時器指令

圖3-7 指示燈HL1程序

圖3-8 啟動與復位程序

圖3-9 保持接通延時定時器程序

保持接通延時定時器指令

圖3-10 指示燈HL1程序
5.S5斷開延時定時器應(yīng)用實例
按下啟動按鈕SB1,指示燈HL1點亮,按下停止按鈕SB2,延時10s后指示燈HL1熄滅。程序如圖3-11~圖3-13所示。

圖3-11 啟動與復位程序

圖3-12 斷開延時定時器程序

斷開延時定時器指令

圖3-13 指示燈HL1程序
3.1.3 CPU時鐘存儲器
在編寫S7-300/400 PLC定時程序時,除了使用定時器指令外,還可以使用時鐘存儲器來實現(xiàn)定時功能。如果使用該功能,需要在CPU屬性中,啟用“時鐘存儲器”功能,如圖3-14所示。時鐘存儲器的文本框中的“0”為MB地址。
時鐘存儲器是一種占空比為50%的脈沖信號,其頻率固定,具體見表3-3。

圖3-14 設(shè)置時鐘存儲器

CPU時鐘存儲器
表3-3 時鐘存儲器各位的周期及頻率
