【本文要點】定時器的存儲格式“S5T#”的取值範圍一、定時器的存儲及格式 S7-300/400 CPU為定時器保留了一片存儲區域。每個定時器有一個16位的字和一個二進制位。定時器的字用來存放其當前的定時時間值;定時器的觸點狀态由它的位的狀态決定。
用戶使用的定時器由3位BCD碼時間值(0-999),和時間基準組成,如圖1所示。
圖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"的時基。
圖2 "S5T#"時間預置值
(2)如果用STL編程,除了可用"S5T#"将時間預置值裝入累加器外,還可以用16進制數,其格式為:
W#16#wxyz,其中w為時基,xyz是BCD碼格式的時間值。
STL語句格式如下:
圖3 STL下,設置時間值
二、CPU中定時器的數量 不同的CPU支持定時器數量不同的,有兩種方法可确定某一CPU的定時器個數:
查看該CPU對應的硬件手冊;"硬件組态"界面下,在線查看當前CPU的性能數據,如圖4所示。注意,由于這裡我們用的是仿真器,因此,在線查看的信息與實際的硬件(CPU315)信息不符,實際上CPU315僅有256個定時器。
圖4 在線查看CPU的"性能數據"
定時器在程序中的表示方式:T 定時器号。定時器使用時,不能超過CPU的所支持的個數。比如,CPU315有T0-T255共256個定時器,如果你使用T600,下載程序塊的時候會提示你 不能複制塊,即下載不了。
三、S7中定時器的類别
圖5 S7-300/400定時器彙總
如圖5所示,彙總了S7-300/400的5種定時器,分别為脈沖定時器(SP)、擴展脈沖定時器(SE)、接通延時定時器(SD)、保持型接通延時定時器(SS)及斷開延時定時器(SF)。編程中,要根據實際需求,靈活選擇合适的定時器。具體用法,請待下回分解。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!