S7-300/400進階筆記8:深入淺出的認識一下S7的定時器

【本文要點】

  • 定時器的存儲格式
  • “S5T#”的取值範圍

一、定時器的存儲及格式

S7-300/400 CPU為定時器保留了一片存儲區域。每個定時器有一個16位的字和一個二進制位。定時器的字用來存放其當前的定時時間值;定時器的觸點狀態由它的位的狀態決定。

用戶使用的定時器由3位BCD碼時間值(0-999),和時間基準組成,如圖1所示。

S7-300/400進階筆記8:深入淺出的認識一下S7的定時器

圖1 定時器"字"

1、時基

如圖1所示,定時器"字"的第12、13位用於指定時基,其代碼與對應的時基如下表所示。

實際的定時時間等於時間值乘以時基。例如,定時器"字"的值為W#16#2099時,時基為1s,則定時時間為99*1s=99s。

時基反映了定時器的分辨率,時基越小分辨率越高,可定時時間越短;時基越大分辨率越低,可定時時間越長。比如圖1中BCD碼錶示的時間值同為999時,在時基"10ms"下,其定時時長僅為9990ms,即9.99s;而在時基"10s"下,其定時時長可達9990s。

2、時間預置值

(1)在LAD中,定時器的預置值通過"S5T#"的形式寫入。"S5T#"的完整格式為:

S5T#aH_bM_cS_dMS,其中H表示小時,M為分鐘,S為秒,MS為毫秒,a、b、c、d為用戶設定的時間預置值。

由於定時器的最大定時時長為9990s(時基為"10s"),轉換為"時、分、秒"的形式為:2小時46分鐘30秒,因此,"S5T#"的最大時間值為S5T#2H_46M_30S,在編程中,下劃線可以省略,因此,其可寫成S5T#2H46M30S,如圖2所示。

編程中,輸入時間預置值後,系統會自動選擇合適的時基,選擇的原則是在滿足定時範圍的條件下,選擇最小的時基。如定時要求為90s,則時基"100ms"、"1s"和"10s"都能滿足定時範圍要求,此時,系統會自動選擇"100ms"的時基。

S7-300/400進階筆記8:深入淺出的認識一下S7的定時器

圖2 "S5T#"時間預置值

(2)如果用STL編程,除了可用"S5T#"將時間預置值裝入累加器外,還可以用16進制數,其格式為:

W#16#wxyz,其中w為時基,xyz是BCD碼格式的時間值。

STL語句格式如下:

S7-300/400進階筆記8:深入淺出的認識一下S7的定時器

圖3 STL下,設置時間值


二、CPU中定時器的數量

不同的CPU支持定時器數量不同的,有兩種方法可確定某一CPU的定時器個數:

  1. 查看該CPU對應的硬件手冊;
  2. "硬件組態"界面下,在線查看當前CPU的性能數據,如圖4所示。注意,由於這裡我們用的是仿真器,因此,在線查看的信息與實際的硬件(CPU315)信息不符,實際上CPU315僅有256個定時器。
S7-300/400進階筆記8:深入淺出的認識一下S7的定時器

圖4 在線查看CPU的"性能數據"

定時器在程序中的表示方式:T+定時器號。定時器使用時,不能超過CPU的所支持的個數。比如,CPU315有T0-T255共256個定時器,如果你使用T600,下載程序塊的時候會提示你 不能複製塊,即下載不了。


三、S7中定時器的類別

S7-300/400進階筆記8:深入淺出的認識一下S7的定時器

圖5 S7-300/400定時器彙總

如圖5所示,彙總了S7-300/400的5種定時器,分別為脈衝定時器(SP)、擴展脈衝定時器(SE)、接通延時定時器(SD)、保持型接通延時定時器(SS)及斷開延時定時器(SF)。編程中,要根據實際需求,靈活選擇合適的定時器。具體用法,請待下回分解。


分享到:


相關文章: