詳解S7-300/400系列PLC的定時器指令及應用


定時器相當於繼電器-接觸器控制系統中的時間繼電器,用於產生時間序列,這些時間序列可用於等待、監控、測量時間間隔或產生脈衝等。不同的CPU模塊,可用定時器個數不相同。S7-300系列PLC有128~2048個定時器;S7 400系列PLC的CPU有2048個定時器,定時器的地址編號為T0~T2048。必須注意,在使用定時器時,定時器的地址編號(T0~T2048)必須在有效範圍之內,否則程序無法執行。S7-300/400系列PLC有5種定時器可供選擇:脈衝定時器(SP)、擴展脈衝定時器(SE)、接通延時定時器(SD)、保持型接通延時定時器(SS)、斷開延時定時器(SF)。

1.設定定時時間——定時器字

在S7-300/400系列CPU的存儲器中為定時器保留了一片存儲區,該存儲區為每個定時器提供了一個16位定時器字和一個二進制狀態位的存儲空間。其中,定時器的字用於存放其剩餘時間值,二進制位決定定時器觸點的狀態(二進制位為1時其常開觸點閉合),稱為狀態位。

S7-300/400系列PLC的定時器定時時間等於時基和定時值的乘積。時基是時間基準的簡稱。在定時器開始工作後,定時值逐漸減小,減小到0表示時間到,定時器的狀態為會發生變化,同時觸點產生相應動作。圖1所示為定時器字的格式,其中12~13位是定時器的時基,它有四種代碼,分別是:00代表10ms,01代表100ms,10代表1s,11代表10s。0~11位存放BCD碼時間值,其範圍為0~999。把時基和時間值進行組合,可以得到不同的定時分辨率和定時時間,其範圍是:0~9990s。

顯然可見:時基越小,定時分辨率越高,但定時時間範圍窄;時基越大,定時分辨率越低,但定時時間越寬。

2.定時器預置值的格式

定時時間設定通常有2種格式:十六進制數和S5時間格式。

(1)十六進制數

格式為“W#16#wxyz”,其中w是時基,取值為0,1,2,3,分別表示時基為10 ms,100 ms,1s和10s;xyz為BCD碼格式時間值,取值範圍為1~999。比如:W#16#2600表示時基為1s,定時時間為600×1S的定時時間值,即10 min。

(2)S5時間格式

格式為“S5T#aH_bM_cS_dms”,其中a表示小時,b表示分鐘,c表示秒,d表示毫秒,輸入時可以不加下劃線。比如,S5T#1H15M3S表示時間為1 h 15 min 3 s。也可以以秒為單位直接輸入時間,比如輸入S5T#100S後按回車鍵,則直接將時間轉換為S5T#1M40S。這裡時基是CPU根據在滿足定時範圍的條件下選擇最小時基的原則自動選擇的。

詳解S7-300/400系列PLC的定時器指令及應用

S7-300/400系列PLC中與定時器有關的梯形圖指令及STL指令格式參見表1。其中梯形圖指令又分為指令盒指令和線圈指令兩種形式。

詳解S7-300/400系列PLC的定時器指令及應用

脈衝定時器(SP)

1.LAD中的脈衝定時器

(1)脈衝定時器的指令盒形式

圖2是指令盒形式的脈衝定時器,其中各符號的含義如下,其餘定時器的指令盒形式中各個符號的含義與之相同,後面不再贅述。

詳解S7-300/400系列PLC的定時器指令及應用

1)Tno:定時器的編號,範圍與CPU的型號有關。

2)S:定時器啟動信號輸入端。

3)TV:定時時間預置值,必須採用“S5T#”的時間格式,最大設定時間9990s,即2H_46M_30S。

4)R:復位信號輸入端。R端為1時,定時器復位,剩餘時間值清0,狀態位變0。

5)Q:定時器位輸出端,該端可以連接位變量,如Q2.0等,也可以懸空。

6)BI:十六進制形式剩餘時間顯示,如16#0123。

7)BCD:BCD碼格式剩餘時間顯示,採用“S5T#”的時間格式。如S5T# 2H10M5S。


在實際編程中可以不給BI和BCD輸出端指定地址。

圖3是脈衝定時器的示例和工作時序圖。從圖中可以看出,從輸入信號I1.0的上升沿開始,定時器啟動,輸出端產生一個脈衝信號,只要輸入信號的寬度足夠寬(大於預置時間值),脈衝定時器就可以輸出一個固定寬度(等於預置時間值)的脈衝信號。但如果輸入信號I1.0的寬度小於定時器的預置時間值,在I1.0的下降沿,則定時器停止並復位(剩餘時間值清0,狀態位變為0),即此時輸出脈衝的寬度等於I1.0的信號寬度。當I1.0再次出現上升沿時,定時器重新從預置時間值開始定時。

從圖中還可以看到,復位信號I1.1總是優先的,復位信號一旦出現,不管其他信號狀態如何,脈衝定時器T10馬上覆位:剩餘時間值清0,狀態位變為0,且在復位信號有效期間(I1.1=1)其他信號都失效。

詳解S7-300/400系列PLC的定時器指令及應用

(2)脈衝定時器的線圈形式

定時器的線圈指令將定時器相關的參數條件分開使用,可以在不同的程序段中對定時器參數進行復制和讀取。圖3對應的線圈指令如圖4所示。其功能與圖3示的指令盒形式完全相同。

詳解S7-300/400系列PLC的定時器指令及應用

STL中的脈衝定時器

在STL中用裝入指令(L)將不帶時間基準的十六進制整數格式的剩餘時間值傳送到累加器1的低字,用LC指令將BCD碼格式剩餘時間值傳送到累加器1的低字,R指令用於將定時器復位。圖3對應的STL指令如下:

詳解S7-300/400系列PLC的定時器指令及應用

擴展脈衝定時器S_PEXT

圖5是擴展脈衝定時器SE示例及工作時序,從圖中可以看出,與脈衝定時器不同,擴展脈衝定時器定時功能與啟動信號的寬度無關。只要輸入信號I1.2出現上升沿,定時器就一直計時,即便是在定時過程中輸入信號I1.2從1變為0,SE仍然繼續定時,從而可以輸出一個與預置時間值相等的固定寬度的脈衝。當I1.2再出現上升沿時,則定時器重新啟動,從預置時間值重新開始定時。

無論何時,只要復位I1.3信號變為1,擴展脈衝定時器T11就立即復位:剩餘時間值清0,狀態位變為0,其對應的常開觸點斷開。

詳解S7-300/400系列PLC的定時器指令及應用

接通延時定時器S_ODT

接通延時定時器是使用頻率最高的定時器,其示例及工作波形如圖6所示。當輸入信號I1.4出現上升沿時接通延時定時器開始定時,經過預置時間後,狀態位從0變為1,Q2.2線圈得電;當輸入信號I1.4變為0時,狀態位也變為0,Q2.1線圈失電。當I1.4重新變為1時,定時器又從預置時間開始定時,如果輸入信號I1.4接通的時間小於預置時間值,則狀態位不會從0變為1,其常開觸點不會閉合,Q2.2線圈也不會得電。這種定時器的特點是定時時間到,輸出才接通。無論何時,只要復位信號I1.5為1,接通延時定時器馬上覆位:剩餘時間值清0,狀態位變為0,其對應的常開觸點斷開。

詳解S7-300/400系列PLC的定時器指令及應用

保持型接通延時定時器S_ODTS

圖7是保持型接通延時定時器示例及工作時序,從圖中可以看出,當輸入信號I1.6出現上升沿時,定時器開始定時。即便此時I1.6又變為0,定時器仍保持運行,達到設定時間後,定時器的狀態位變為1,其常開觸點閉合並保持,Q2.3線圈得電。

可見,與接通延時定時器不同,保持型接通延時定時器即使在輸入脈衝寬度小於預置時間值時,也能使定時器運行至定時時間結束。同時從時序波形圖可以發現,在定時過程中,若輸入信號斷開後又接通,則定時器會重新啟動,又從預置時間開始定時,狀態位在此期間始終為0,常開觸點始終斷開,直至定時時間到,才變為1,常開觸點才閉合。但一旦定時時間到,狀態位變為1並保持(常開觸點也閉合並保持)。

需要注意的是,只有復位指令才能使保持型接通延時定時器復位(即當前值清0,狀態位變為0),以便下次能夠再定時,這一點在編程中必須注意。

詳解S7-300/400系列PLC的定時器指令及應用

斷電延時定時器S_OFFDT

圖8是斷電延時定時器示例及工作時序,從圖中可以看出,當輸入信號I2.0出現上升沿時,斷電延時定時器T15的狀態位變為1,其常開觸點閉合,Q2.6的線圈得電。當輸入信號I2.0出現下降沿時,斷電延時定時器T15開始定時,定時時間到,其狀態位變為0,常開觸點斷開,Q2.6的線圈失電。如果在定時過程中,輸入信號I2.0又從0變為1,則T15停止定時,當I2.0再次出現下降沿時,T15又從預置時間開始定時復位信號。復位信號I2.1為1,斷電延時定時器T15馬上覆位:剩餘時間值清0,狀態位變為0,其常開觸點斷開。注意:與其他定時器工作方式不同,斷電延時定時器是在啟動信號的下降沿開始定時。

詳解S7-300/400系列PLC的定時器指令及應用

定時器應用

【例】用定時器設計一個週期振盪電路,振盪週期為5s,佔空比為2:5。

方法一:用脈衝定時器實現,如圖9a所示。

說明:用I1.0控制振盪電路的啟停,脈衝定時器T3和T4分別定時2S和3S,由於使用脈衝定時器,定時器工作時其常開觸點閉合,因此可用各自的常閉觸點加入對方串聯支路形成互鎖,使任何時刻只有一個定時器在工作,T3定時過程中,T4停止定時,待T3定時完成其常閉觸點閉合,T4開始定時,由於輸出Q0.0接T3的常開觸點,Q0.0為1的時間也就是T3的定時時間(2S),Q0.0為0的時間也就是T4的定時時間(3S),這樣可以滿足要求。如此循環,在Q0.0端形成振盪週期為5s,佔空比為2:5的脈衝。


方法二:用接通延時定時器實現,如圖9b所示。

說明:與方法一相同,也用I1.0控制振盪電路的啟停。與脈衝定時器的不同,接通延時定時器T1定時時間到,其常開觸點才接通,T2開始定時,同時Q0.0得電;T2定時到,其常閉觸點斷開,使T1、T2均復位,同時Q0.0失電,然後T2的常閉觸點閉合,T1重新開始定時,如此循環。可見,輸出Q0.0為“1”的時間就是T2的定時時間,Q0.0為“0”的時間就是T1的定時時間,而T2和T1的定時時間分別為2S和3S,因此可以在Q0.0端形成振盪週期為5S,佔空比為2:5的脈衝。

詳解S7-300/400系列PLC的定時器指令及應用

END


分享到:


相關文章: