W sterownikach PLC Siemens S7-1200 oraz S7‑1500 istotną rolę odgrywają tzw. timery. Pozwalają one na precyzyjne odmierzanie czasów w programach wykonawczych, dzięki czemu można je wykorzystać do filtracji zakłóceń, tworzenia impulsów czy opóźniania oraz podtrzymywania sygnałów. W artykule opisano cztery podstawowe rodzaje timerów stosowanych w TIA Portal: TON (Timer On Delay), TOF (Timer Off Delay), TP (Pulse Timer) oraz TONR (Retentive On Delay). Wszystkie przykłady dotyczą sterowników S7‑1200 i S7‑1500, jednak logika działania timerów pozostaje taka sama w obu rodzinach.
Ogólna budowa i parametry timerów
Timery w TIA Portal są zrealizowane jako struktury typu IEC_TIMER, które umieszczane są w blokach danych (DB). Do każdego timera tworzony jest osobny DB, dzięki czemu mogą działać niezależnie od siebie.

Instrukcje TP, TON, TOF i TONR posiadają podobny zestaw parametrów:
- IN – sygnał wejściowy (Bool). W zależności od typu timera, jego stan 1 (TRUE) lub 0 (FALSE) powoduje rozpoczęcie lub zatrzymanie odmierzania.
- W timerach TP, TON i TONR stan 1 uruchamia odmierzanie, a 0 je zatrzymuje.
- W timerze TOF działanie jest odwrotne.
- R – wejście resetujące (Bool), dostępne jedynie w timerze TONR. Stan 1 na tym wejściu zeruje nagromadzony czas oraz ustawia wyjście Q na 0.
- PT – zadany czas (Preset Time, typ TIME). Określa, jaki czas ma upłynąć, zanim wyjście Q zmieni stan. Wartość podaje się w formacie T#<czas> (np. T#5s), a wewnętrznie przechowywana jest jako liczba milisekund w 32-bitowej zmiennej typu DInt.
Zmiana wartości PT w trakcie odmierzania nie wpływa na działanie timerów TP, TON i TOF. W przypadku TONR nowy preset jest brany pod uwagę dopiero przy kolejnym uruchomieniu timera. - Q – wyjście logiczne (Bool). Informuje, czy timer osiągnął zadany czas. Może być wykorzystywane w dalszej logice programu lub do celów wizualizacji.
- ET – czas odmierzony (Elapsed Time, typ TIME). Pozwala odczytać aktualny upływający czas w milisekundach.

Podczas programowania należy pamiętać, iż jedna struktura IEC_TIMER powinna być przypisana tylko do jednego timera, aby uniknąć nieoczekiwanych interakcji.
Instrukcje timerów w języku LAD powinny znajdować się na końcu sieci, a do sterowania logiką zaleca się korzystanie z tagów wyjściowych (Q, ET) zamiast bezpośredniego dostępu do zmiennych w DB.
Jak działa timer TON – On-Delay Timer (opóźnione załączanie)
Zasada działania
TON to najczęściej stosowany timer w programowaniu PLC. Odliczanie rozpoczyna się w momencie, gdy sygnał na wejściu IN przejdzie ze stanu 0 na 1.
Jeżeli w trakcie odmierzania wejście IN zmieni się na 0, timer zostaje zresetowany – zarówno czas nagromadzony, jak i wyjście Q wracają do wartości początkowych (ET = 0, Q = 0).
Gdy czas odmierzony ET osiągnie zadany czas PT, wyjście Q przechodzi w stan 1. Od tego momentu, dopóki sygnał IN pozostaje w stanie wysokim, wyjście Q również utrzymuje stan 1. Po powrocie IN do 0, timer zostaje wyzerowany.

Typowe zastosowania
Opóźnione włączanie sygnału jest przydatne m.in. do:
- filtrowania krótkich impulsów,
- łagodnego uruchamiania urządzeń,
- opóźniania rozruchu silnika po podaniu sygnału startu,
- ignorowania krótkich zakłóceń (np. sygnał z przycisku musi trwać dłużej niż T#200ms, aby został zaakceptowany),
- inicjowania sekwencji po upływie określonego czasu od wystąpienia warunku.
Jak działa timer TOF – Off-Delay Timer (podtrzymanie sygnału po wyłączeniu)
Zasada działania
Timer TOF działa odwrotnie niż TON. Gdy sygnał na wejściu IN przejdzie ze stanu 1 na 0, timer rozpoczyna odmierzanie zadanego czasu PT.
W momencie przejścia IN z 1 na 0, wyjście Q natychmiast przyjmuje wartość 1 i utrzymuje ją przez czas trwania odliczania. Po upływie zadanego czasu PT, Q powraca do 0.
Jeżeli w trakcie odmierzania IN ponownie przyjmie wartość 1, timer zostaje natychmiast zresetowany, a Q przechodzi w stan 0.

Typowe zastosowania
Timer TOF stosuje się, gdy konieczne jest podtrzymanie działania urządzenia po zaniku sygnału sterującego, np.:
- wentylator ma pracować jeszcze przez 30 s po wyłączeniu sygnału start,
- oświetlenie ma gasnąć dopiero po określonym czasie od wyłączenia czujnika ruchu,
- zawór powinien pozostać otwarty przez ustalony czas, mimo zaniku sygnału sterującego.
Jak działa timer TP – Pulse Timer (generator impulsów)
Zasada działania
Timer TP generuje impuls o stałej długości. Odmierzanie rozpoczyna się na zboczu narastającym sygnału wejściowego IN (przejście z 0 na 1).
Po uruchomieniu timera wyjście Q przyjmuje stan 1 i pozostaje w nim przez zadany czas PT. Dodatkowe zmiany sygnału IN w czasie trwania impulsu są ignorowane — nie wydłużają działania timera.
Po upływie PT wyjście Q automatycznie powraca do stanu 0. Zmiana wartości PT w trakcie trwania impulsu nie ma wpływu na jego długość.

Typowe zastosowania
Timer TP stosuje się, gdy konieczne jest wygenerowanie krótkiego, niezależnego od długości wejścia impulsu, np.:
- załączenie lampki sygnalizacyjnej na 1 s po naciśnięciu przycisku,
- generowanie jednokrotnego impulsu startowego dla napędu,
- realizacja funkcji one-shot filtrującej drgania styków czujników lub przycisków.
Jak działa timer TONR – Retentive On-Delay Timer (opóźnione załączanie z akumulacją)
Zasada działania
Timer TONR działa podobnie jak TON, z tą różnicą, iż zapamiętuje odmierzony czas choćby po wyłączeniu sygnału sterującego.
Gdy IN przyjmie wartość 1, timer zaczyna odliczanie czasu PT. o ile IN wróci do 0 przed osiągnięciem zadanego czasu, odmierzanie zostaje wstrzymane, ale wartość ET zostaje zachowana.
Ponowne ustawienie IN na 1 kontynuuje odliczanie od momentu, w którym zostało ono przerwane. Reset timera następuje dopiero po podaniu sygnału 1 na wejście R.
Zmiana parametru PT w trakcie odliczania nie ma wpływu na aktualny cykl, ale zostaje uwzględniona przy następnym uruchomieniu.

Typowe zastosowania
Retencyjne odmierzanie czasu jest wykorzystywane w sytuacjach, gdy należy akumulować czas trwania określonego stanu lub działania urządzenia, np.:
- rejestrowanie sumarycznego czasu pracy silnika lub pompy (licznik godzin pracy),
- pomiar czasu występowania alarmów lub przekroczeń progów,
- przerywana realizacja opóźnionych działań – timer kontynuuje liczenie po powrocie warunku.