接通延時定時器(TON):用於單壹間隔的定時
有記憶的接通延時定時器(TONR):用於累計許多時間間隔
斷開延時定時器(TOF): 用於關斷或者故障事件後的延時
定時器對時間間隔計數。定時器的分辨率(時基)決定了每個時間間隔的長短。
定時器號決定了定時器的分辨率(時基)。
SIMATIC定時器有三種分辨率:1ms、10ms和100ms。
S7-200提供了256個可供使用的定時器,即用戶可用的定時器號為T0-T255,壹旦用戶選擇了定時器號,就意味著定時器的分辨率(時基)已經確定了。定時器號的分辨率(時基)及最大計時時間,如下表:
表1. 定時器號和分辨率
定時器類型 分辨率 最大定時值 定時器值
TONR
(可保持) 1 ms 32.767s (0.546min.) T0, T64
10 ms 327.67s (5.46min.) T1-T4, T65-T68
100 ms 3276.7s (54.6min.) T5-T31, T69-T95
TON,TOF
(不保持)
1 ms 32.767s (0.546min.) T32, T96
10 ms 327.67s (5.46min.) T33-T36, T97-T100
100 ms 3276.7s (54.6min.) T37-T63, T101-T255
不同分辨率的定時器按以下規律刷新:
1ms:1ms分辨率的定時器,定時器位和當前值的更新不與掃描周期同步。對於大於1ms的程序掃描周期,在壹個掃描周期內,定時器位和當前值刷新多次。
10ms:10ms分辨率的定時器,定時器位和當前值在每個程序掃描周期的開始刷新。定時器位和當前值在整個掃描周期過程中為常數。在每個掃描周期的開始會將壹個掃描累計的時間間隔加到定時器的當前值上。
100ms:100ms分辨率的定時器,定時器位和當前值在指令執行時刷新。因此為了保證正確的定時值,要確保在壹個程序掃描周期中,只執行壹次100ms定時器指令。
註意:不能將同壹個定時器號同時用作TOF和TON。例如,不能既有TON T32又有TOF T32。也不能重復使用同壹定時器號定時。
不同定時器的功能
接通延時定時器(TON): 當使能輸入接通時,定時器開始計時,在當前值(TXXX)與預置值(PT)相等時,定時器位接通。使能輸入斷開後,定時器當前值清零。在定時器到達預置值後,它會繼續計時直到計到最大值32767才停止。
有記憶接通延時定時器(TONR): 當使能輸入接通時,定時器開始計時;在當前值(TXXX)大於等於預置值時,定時器位接通。當使能輸入斷開時,定時器當前值保留。若要將定時器當前值清零,必須執行復位命令。在定時器到達預置值後,它會繼續計時直到計到最大值32767才停止。
斷開延時定時器(TOF): 在輸入端接通時,定時器位立即接通,當前值置為零;當輸入端由接通轉為斷開時,定時器開始計時,直到預置時間。當定時器到達預置時間時,則定時器位斷開,定時器當前值停止計時。當輸入斷開的時間小於預設值時,定時器位保持接通。下壹次輸入斷開後,定時器從零開始重新計時直到達到預置值。
定時器在子程序中的表現
在條件調用子程序的主程序中,當停止子程序調用時,如果定時器已經激活正在計時,停止調用這個子程序會造成定時器的失控。不管此時定時器前面的激活條件如何變化,定時器(1ms、10ms 時基的)會壹直走到最大值,定時器輸出也會在達到設定值時接通;(100ms 時基的定時器會在上述情況下停止計時,但在邏輯上處於失控狀態)。
如果用 SM0.0 調用子程序;或者在控制邏輯的時序上做到能夠保證定時功能完整執行,定時器會正常運行。使用條件調用含有定時器的子程序時,壹定要註意時序邏輯,以免造成程序運行錯誤。