吳國偉
(天津交通職業(yè)學(xué)院,天津300110)
S7-200 PLC定時器的實(shí)際應(yīng)用
吳國偉
(天津交通職業(yè)學(xué)院,天津300110)
定時器指令是西門子小型PLC S7-200提供的基本指令之一,主要通過程序?qū)嵗榻B了3種定時器的工作原理、使用特點(diǎn)和在實(shí)際應(yīng)用過程中需要注意的問題。
S7-200;PLC;定時器
S7-200作為西門子的一款小型PLC,廣泛應(yīng)用于檢測、監(jiān)測及控制的自動化,其不僅可以替代傳統(tǒng)繼電器進(jìn)行簡單的邏輯控制,還可以實(shí)現(xiàn)更為復(fù)雜的自動化控制。因此它也成為了眾多院校教學(xué)所采用的型號之一,具有極高的代表性。
定時器(T)是S7-200系列PLC基本指令中一個重要的方面,依靠PLC內(nèi)部的時鐘脈沖,能夠?qū)崿F(xiàn)基于時間的控制,因此熟練掌握定時器的用法對于自動化控制程序編寫是非常必要的。
S7-200指令提供了下述三種類型的定時器。
(1)接通延時定時器——TON:用于單一間隔的定時。
(2)有記憶的接通延時定時器——TONR:用于累計多個時間間隔。
(3)斷開延時定時器——TOF:用于關(guān)斷或者故障事件后的延時。
定時器對時間間隔計數(shù)。定時器的分辨率(時基)決定了每個時間間隔的長短。在S7-200中,定時器號是定時器的分辨率(時基)的依據(jù)。S7-200定時器有三種分辨率:1 ms、10 ms和100 ms[1],具體如表1所示。

表1 定時類型與編號
PLC所提供的定時器作用相當(dāng)于繼電器控制系統(tǒng)中的時間繼電器,用于定(延)時控制。每個定時器可提供無數(shù)對常開和常閉觸點(diǎn)供編程使用,其預(yù)設(shè)時間由程序設(shè)置。
2.1定時器的組成
定時器由1個“線圈”(在梯形圖中以指令盒表示)、2個16位寄存器(用于存放定時器預(yù)設(shè)值和當(dāng)前值)和1個定時器位(標(biāo)示其工作狀態(tài))組成。
定時器預(yù)設(shè)值(PT)寄存器的數(shù)據(jù)可以儲存常數(shù)(1~32767),也可引自某個(字)地址,再用這個地址的數(shù)據(jù)作為預(yù)設(shè)值[2]。
定時器當(dāng)前值寄存器用于存儲定時器累計的分辨率的增量值(1~32767)。
定時器位表示定時器的工作狀態(tài),其值為“0”或“1”.
2.2定時器的工作過程
(1)接通延時定時器——TON
當(dāng)輸入端接通時,定時器開始計時,當(dāng)前值開始增長,在當(dāng)前值與預(yù)設(shè)時相等時,定時器“動作”,定時器位被置“1”,該定時器的“常開觸點(diǎn)”閉合、“常閉觸點(diǎn)”斷開。此后,如果輸入端持續(xù)接通,當(dāng)前值將繼續(xù)增長,直至達(dá)到最大值32 767停止。如果輸入端斷開,則當(dāng)前值清零,定時器位被置“0”,各“觸點(diǎn)”復(fù)位[3]。
(2)有記憶的接通延時定時器——TONR
此定時器與TON的工作原理基本一致,不同的是:當(dāng)輸入端斷開時,定時器當(dāng)前值將保留(不會被清零),直到下一次輸入端接通時,當(dāng)前值繼續(xù)增長,直至32 767停止。要將定時器當(dāng)前值清零,就必須使用復(fù)位(R)指令。
(3)斷開延時定時器——TOF
當(dāng)輸入端接通時,定時器位立即被置“1”,其“常開觸點(diǎn)”閉合、“常閉觸點(diǎn)”斷開,當(dāng)前值被清零。當(dāng)輸入端斷開時,定時器開始計時,當(dāng)前值開始增長,當(dāng)當(dāng)前值達(dá)到或超過預(yù)設(shè)值時,則定時器位被置“0”,各觸點(diǎn)復(fù)位,定時器當(dāng)前值停止增長。
當(dāng)輸入斷開的時長小于預(yù)設(shè)時長時,定時器位保持為“1”;下一次輸入端斷開后,當(dāng)前值將從零開始重新增長直至達(dá)到預(yù)設(shè)值。
2.3定時器的刷新機(jī)制
S7-200是工作方式是循環(huán)掃描的,每一次掃描后,將刷新一次輸出。S7-200的3種定時器的刷新機(jī)制并不相同,這取決于定時器的分辨率。
(1)1 ms分辨率定時器
1 ms分辨率定時器啟動后,定時器對1 ms的時間間隔(即時基信號)進(jìn)行計時。定時器的當(dāng)前值每隔1ms刷新一次,在一個掃描周期中可能要刷新多次,而不和掃描周期同步。
(2)10ms分辨率定時器
10 ms分辨率定時器啟動后,定時器對10 ms的時間間隔進(jìn)行計時。程序執(zhí)行時,在每個掃描周期的開始對定時器位和當(dāng)前值刷新,定時器位和當(dāng)前值在整個掃描周期內(nèi)保持不變。
(2)100ms分辨率定時器
100ms分辨率定時器啟動后,定時器對100 ms的時間間隔進(jìn)行計時。只有在執(zhí)行定時器指令時,定時器的位和當(dāng)前值才被刷新。為使定時器正確的定時,100 ms定時器只能用于每個掃描周期內(nèi)同一定時器指令必須執(zhí)行一次且僅執(zhí)行一次的場合。
以下通過幾個實(shí)例來說明刷新機(jī)制對程序的影響。程序目的:在定時器計時時間到時產(chǎn)生一個寬度為一個掃描周期的脈沖(以Q0.0對外輸出)。
然后我們來分析一下的問題所在:
圖1中,左圖的錯誤原因在于:1ms定時器每隔1ms刷新一次定時器的當(dāng)前值,當(dāng)前值如果正好在處理動斷觸點(diǎn)和動合觸點(diǎn)時被刷新,此時Q0.0可以被接通1個周期,但是這種情況很少,大多數(shù)情況是定時器時間到,定時器刷新,而使得輸出Q0.0輸出,但是由于是每隔1ms刷新,因此Q0.0還沒有來得及置位,就被復(fù)位了。因此需要使用右圖的非自身激勵輸入程序。
圖2中,左圖由于10ms定時器是每個掃描周期前刷新當(dāng)前值,因此,定時時間到時,定時器輸出動作,但是由于動斷觸點(diǎn)的動作,定時器被立即復(fù)位,因此,輸出線圈Q0.0不會被置位。

圖2 10m s分辨率定時器應(yīng)用
圖3中,因為100 ms定時器是執(zhí)行指令時刷新,因此Q0.0在T37到時準(zhǔn)確的接通一個周期。

圖3 100ms分辨率定時器應(yīng)用
本程序為一小便池沖水控制。利用人體紅外感應(yīng)裝置(I0.0)控制WC沖水(Q0.0),實(shí)現(xiàn)如下控制:(1)感應(yīng)到人體后,延時1 s進(jìn)行沖水,時長2 s(短沖);(2)感應(yīng)到人體消失后,立即進(jìn)行沖水,時長5 s(長沖);(3)未進(jìn)行短沖,則長沖不啟動。
程序梯形圖如圖4所示。


圖1 1m s分辨率定時器應(yīng)用
(續(xù)下圖)
(續(xù)上圖)

圖4 沖水控制程序梯形圖
本例中,T37起延時1沖水作用;T38控制短沖時長;T39為控制避免在未進(jìn)行短沖時長沖;T40為長沖延時;M0.0、M0.1和M0.3為中間繼電器,起狀態(tài)標(biāo)記作用。
(1)不能把一個定時器號同時用作TOF和TON,這將引起邏輯沖突。
(2)使用復(fù)位(R)指令對定時器復(fù)位后,定時器位置為“0”,定時器當(dāng)前值也同時置為“0”。
(3)對于TOF,需在輸入端有一個負(fù)跳變(即由接通狀態(tài)變?yōu)閿嚅_狀態(tài))的輸入信號來啟動計時。
(4)需要注意不同分辨率的定時器刷新特性。同時,由于它們當(dāng)前值的刷新周期是不同的,所以還需要注意子程序與中斷程序的使用,具體情況如下:
1)在子程序和中斷程序中最好不要使用100 ms定時器。由于子程序和中斷程序不是每個掃描周期都執(zhí)行的,那么在子程序和中斷程序中的100 ms定時器的當(dāng)前值就不能及時刷新,造成時基脈沖丟失,致使計時失準(zhǔn)。
2)在主程序中,不能重復(fù)使用同一個100ms的定時器號,否則該定時器指令在一個掃描周期中多次被執(zhí)行,定時器的當(dāng)前值在一個掃描周期中多次被刷新。這樣,定時器就會多計了時基脈沖,同樣造成計時失準(zhǔn)。
因此,100 ms定時器只能在每個掃描周期內(nèi)同一定時器指令都執(zhí)行一次,且僅執(zhí)行一次的情況下使用。
定時器在自動化控制中可以起到非常重要的作用,S7-200提供的3種定時器對于基本的自動控制支持已經(jīng)足夠。3種定時器在使用過程存在著一些差異,不僅是工作原理不同,而且不同分辨率的定時器其刷新機(jī)制也不同,使用不當(dāng)會造成計時失準(zhǔn)。這在實(shí)際編寫控制程序中必須加以重視。
[1]西門子公司.S7-200可編程序控制器系統(tǒng)手冊[Z].2008.
[2]廖常初.S7-200 PLC基礎(chǔ)教程[M].第3版.北京:機(jī)械工業(yè)出版社,2014.
[3]工控學(xué)習(xí)園地.S7-200PLC的定時器[EB/OL].http://blog. gkong.com/eebeginner_115681.ashx.2010-05-13/2016-04-20.
Some PracticalCases of S7-200 PLC Timer
WU Guo-wei
(Tianjin Transportation Vocational College,Tianjin 300110,China)
The timer is one of Siemens PLC S7-200's basic instructions.Through some example programs,the paper introduced the timer's working principle,characteristic and some problems which need to be paid attention to in practical application.
S7-200;PLC;timer
TP311.1
B
1672-545X(2016)05-0165-03
2016-02-24
吳國偉(1979-),天津市人,講師,本科,主要從事城市軌道交通車輛技術(shù)專業(yè)方面的教學(xué)及研究。