Instrukcje TIA Portal

Operacje na Timerach
TP, TON, TOF, TONR i sterowanie

Timery są niezbędne w każdym projekcie automatyki — od prostych opóźnień po złożone sterowanie sekwencyjne. Opanuj każdą instrukcję timera w TIA Portal dzięki temu kompletnemu przewodnikowi.

Czym są operacje na timerach w TIA Portal?

Operacje na timerach w TIA Portal realizują logikę sterowania zależną od czasu. Są to bloki funkcyjne zgodne z normą IEC 61131-3, które mierzą upływający czas, generują impulsy oraz tworzą opóźnienia włączenia/wyłączenia. Każdy timer posiada wejście (IN), czas zadany (PT), wyjście czasu upływającego (ET) oraz wyjście stanu (Q).

TIA Portal oferuje 4 typy timerów IEC (TP, TON, TOF, TONR) oraz instrukcje sterujące do uruchamiania, resetowania i ładowania timerów. Każda instancja timera wymaga własnego instancyjnego bloku danych (IDB) lub może być użyta jako multi-instancja wewnątrz bloku FB.

Typy timerów IEC

4 standardowe bloki funkcyjne timerów — każdy o innym zachowaniu czasowym

TP — Generuj impuls

Co robi

Generuje impuls o stałym czasie trwania. Gdy IN zmienia się z FALSE na TRUE, wyjście Q przyjmuje stan TRUE i pozostaje w tym stanie przez dokładnie czas zadany PT, niezależnie od tego, co dzieje się na wejściu IN. Czas upływający ET odlicza od T#0s do PT. Po osiągnięciu PT, Q zmienia się na FALSE, a ET jest resetowane.

Kiedy używać

Gdy potrzebujesz impulsu wyjściowego o stałym czasie trwania, wyzwalanego zdarzeniem. Przykłady: aktywacja brzęczyka na dokładnie 3 sekundy po wystąpieniu alarmu, sterowanie elektrozaworem przez precyzyjny czas, generowanie sygnału o stałej szerokości dla urządzeń końcowych.

Pro wskazówki

TP nie jest retriggerowalny — nowe zbocze narastające na IN, gdy Q jest już TRUE, nie ma wpływu. Impuls trwa do końca. Aby umożliwić ponowne wyzwolenie, należy najpierw zresetować timer.

Wyjście Q NIE śledzi wejścia IN. Nawet jeśli IN zmieni się na FALSE podczas trwania impulsu, Q pozostaje TRUE do momentu upłynięcia PT.

W SCL: myTP(IN := trigger, PT := T#3s); IF myTP.Q THEN ... END_IF;

TON — Generuj opóźnienie włączenia

Co robi

Opóźnia aktywację wyjścia. Gdy IN zmienia się na TRUE, timer zaczyna odliczać. Po upływie czasu zadanego PT, wyjście Q przyjmuje stan TRUE. Jeśli IN zmieni się na FALSE przed osiągnięciem PT, timer resetuje się i Q pozostaje FALSE. Q pozostaje TRUE tak długo, jak długo IN jest TRUE po upływie opóźnienia.

Kiedy używać

Najczęściej używany timer w programowaniu PLC. Zastosowania: opóźnienie startu silnika, filtrowanie drgań styków czujników (ignorowanie sygnałów krótszych niż X ms), opóźnienie alarmu (wyzwalaj alarm tylko, jeśli warunek utrzymuje się przez N sekund), sekwencje startowe.

Pro wskazówki

TON to 'klasyczny' timer opóźniający. Myśl o nim jak o: 'poczekaj X sekund, a potem włącz — ale tylko jeśli warunek jest nadal spełniony'.

Gdy IN zmienia się na FALSE, Q natychmiast staje się FALSE, a ET resetuje się do T#0s. Brak zachowania opóźnienia wyłączenia.

Do filtrowania drgań styków czujników używaj krótkiego czasu PT, np. T#50ms lub T#100ms. Pozwala to odfiltrować zakłócenia elektryczne.

TOF — Generuj opóźnienie wyłączenia

Co robi

Opóźnia dezaktywację wyjścia. Gdy IN zmienia się na TRUE, Q natychmiast staje się TRUE. Gdy IN zmienia się na FALSE, timer zaczyna odliczać. Po upływie PT, wyjście Q zmienia się na FALSE. Jeśli IN ponownie zmieni się na TRUE przed upływem PT, timer resetuje się i Q pozostaje TRUE.

Kiedy używać

Gdy wyjście powinno pozostać włączone przez jakiś czas po wyłączeniu wejścia. Przykłady: praca wentylatora chłodzącego przez 30 sekund po zatrzymaniu silnika, podtrzymanie oświetlenia przez 60 sekund po zaniku detekcji ruchu, działanie pompy smarującej po zakończeniu cyklu.

Pro wskazówki

TOF jest przeciwieństwem TON: Q aktywuje się natychmiast, ale dezaktywuje z opóźnieniem.

Jeśli IN zmienia się w cyklu TRUE→FALSE→TRUE przed upływem PT, timer resetuje się. Q nigdy nie przeszło w stan FALSE — to zachowanie typu 'podtrzymanie'.

Częste w systemach HVAC: wentylacja pracuje przez 5 minut po zatrzymaniu procesu, aby usunąć resztki oparów.

TONR — Akumulator czasu

Co robi

Akumulacyjny timer opóźnienia włączenia. Podobny do TON, ale czas upływający ET NIE jest resetowany, gdy IN zmienia się na FALSE. ET zatrzymuje się, gdy IN jest FALSE i wznawia odliczanie, gdy IN ponownie staje się TRUE. Q staje się TRUE, gdy ET osiągnie PT. Timer musi być jawnie zresetowany za pomocą wejścia R.

Kiedy używać

Gdy musisz mierzyć całkowity skumulowany czas pracy w operacjach przerywanych. Przykłady: śledzenie całkowitego czasu pracy silnika dla harmonogramu konserwacji, pomiar całkowitego czasu ekspozycji w procesie utwardzania, który może być przerywany, agregowanie czasu pracy do celów rozliczeniowych.

Pro wskazówki

TONR posiada dodatkowe wejście R (Reset). Ustawienie R=TRUE zeruje ET do T#0s i ustawia Q na FALSE. To jedyny sposób na zrestartowanie akumulatora.

W przeciwieństwie do TON/TOF/TP, TONR pamięta swój czas upływający. Zachowanie po cyklu zasilania zależy od ustawień retencji w bloku danych instancji.

Używaj TONR do liczników konserwacji: gdy całkowity czas pracy przekroczy X godzin, wygeneruj alarm 'wymagana konserwacja'.

Instrukcje sterujące timerami

Uruchamianie, resetowanie i konfigurowanie timerów w LAD/FBD

—(TP)— Uruchom timer impulsowy

—(TP)—

Co robi

Instrukcja w formie cewki, która uruchamia timer TP (impulsowy) bezpośrednio ze szczebla LAD. Gdy RLO zmienia się z FALSE na TRUE, powiązany timer TP generuje impuls. Jest to alternatywa dla użycia bloku funkcyjnego TP.

Kiedy używać

Gdy preferujesz notację cewki w LAD zamiast bloku funkcyjnego. Niektórzy programiści uważają, że logika timera kończąca się cewką jest czytelniejsza niż wstawianie dużego bloku FB w środku sieci.

Pro wskazówki

Wersja cewki odnosi się do tej samej instancji timera IEC co wersja blokowa. Są one zamienne.

Umieść na końcu szczebla, tak jak cewkę wyjściową. Czas zadany jest konfigurowany w instancji timera.

W większości nowoczesnych projektów preferowana jest wersja blokowa FB, ponieważ wizualnie pokazuje wszystkie parametry (IN, PT, Q, ET).

—(TON)— Uruchom timer opóźnienia włączenia

—(TON)—

Co robi

Instrukcja w formie cewki, która uruchamia timer TON (opóźnienie włączenia). Gdy RLO jest TRUE, powiązany timer TON odlicza czas. Po osiągnięciu czasu zadanego, wyjście Q timera staje się TRUE.

Kiedy używać

Alternatywna notacja cewki dla TON. Używaj dla kompaktowej reprezentacji opóźnienia czasowego w LAD bez dużego bloku FB.

Pro wskazówki

To samo zachowanie co blok funkcyjny TON — tylko inna reprezentacja wizualna w LAD.

Blok danych instancji timera przechowuje wszystkie parametry: PT, ET, Q, IN.

Możesz odczytywać wyjścia Q i ET timera w innych sieciach, odwołując się do bloku danych instancji.

—(TOF)— Uruchom timer opóźnienia wyłączenia

—(TOF)—

Co robi

Instrukcja w formie cewki, która uruchamia timer TOF (opóźnienie wyłączenia). Wyjście Q timera aktywuje się natychmiast, gdy RLO jest TRUE, i pozostaje TRUE przez zadany czas po tym, jak RLO zmieni się na FALSE.

Kiedy używać

Alternatywna notacja cewki dla TOF. Używaj dla logiki opóźnienia wyłączenia w kompaktowych szczeblach LAD.

Pro wskazówki

To samo zachowanie co blok funkcyjny TOF.

Powszechnie używane do timerów podtrzymujących pracę: utrzymuj wyjścia aktywne przez pewien czas po zaniku sygnału wyzwalającego.

Odwołaj się do wyjścia Q bloku instancyjnego w innych sieciach, aby użyć sygnału opóźnionego wyłączenia.

—(TONR)— Akumulator czasu

—(TONR)—

Co robi

Instrukcja w formie cewki dla timera TONR (akumulacyjne opóźnienie włączenia). Czas upływający akumuluje się, gdy RLO jest TRUE, i zatrzymuje się przy FALSE. Timer musi być jawnie zresetowany.

Kiedy używać

Alternatywna notacja cewki dla TONR. Używaj przy śledzeniu skumulowanego czasu pracy w formacie LAD.

Pro wskazówki

Pamiętaj o użyciu instrukcji RT (Reset Timer), aby w razie potrzeby zresetować akumulator.

Skumulowany czas jest przechowywany w bloku instancyjnym i zachowywany między cyklami skanowania.

Użyteczne przy harmonogramowaniu konserwacji — wyzwalaj alarm, gdy skumulowany czas przekroczy próg.

—(RT)— Resetuj timer

—(RT)—

Co robi

Resetuje timer do stanu początkowego. Gdy RLO jest TRUE, czas upływający ET określonego timera jest ustawiany na T#0s, a wyjście Q na FALSE. Działa ze wszystkimi typami timerów (TP, TON, TOF, TONR).

Kiedy używać

Gdy musisz wymusić reset timera z oddzielnej sieci. Niezbędne dla TONR (który nie resetuje się automatycznie), ale przydatne również do resetowania dowolnego timera w określonych warunkach, takich jak potwierdzenie błędu.

Pro wskazówki

Dla timerów TONR, RT to JEDYNY sposób na zresetowanie skumulowanego czasu. Bez tego timer nigdy się nie zresetuje.

Możesz zresetować timer z dowolnej sieci — nie musi być ona tą samą, w której następuje start timera.

Używaj RT pod przyciskiem 'resetuj wszystko', aby wyczyścić wiele timerów naraz.

—(PT)— Załaduj czas trwania

—(PT)—

Co robi

Ładuje nową wartość czasu zadanego (PT) do istniejącej instancji timera w czasie wykonywania programu. Gdy RLO jest TRUE, czas zadany timera jest aktualizowany do określonej wartości. Pozwala to na dynamiczną zmianę czasów bez modyfikacji programu.

Kiedy używać

Gdy czasy trwania timerów muszą być regulowane z poziomu HMI lub systemu receptur. Przykłady: operator ustawia czas przestoju na HMI, a PT ładuje tę wartość do timera procesu.

Pro wskazówki

PT ładuje wartość, gdy RLO jest TRUE. Jeśli timer już pracuje, nowa wartość PT zacznie obowiązywać przy następnym uruchomieniu timera.

Używaj ze zmiennymi edytowalnymi przez HMI, aby umożliwić operatorom regulację czasów bez dostępu inżynierskiego.

Format wartości czasu to TIME (np. T#5s, T#1m30s, T#500ms). Możesz również użyć zmiennej typu TIME.

Starsze instrukcje timerów

Timery S5 ze sterowników S7-300/400 — dostępne tylko dla wstecznej kompatybilności

TIA Portal zawiera również starsze instrukcje timerów S5 (S_PULSE, S_PEXT, S_ODT, S_ODTS, S_OFFDT) dla kompatybilności z programami S7-300/400. W nowych projektach zawsze używaj timerów IEC (TP, TON, TOF, TONR).

Porównanie timerów — którego użyć?

Szybki przewodnik decyzyjny zależny od wymagań czasowych

Potrzebujesz...Użyj tego timeraPrzykład
Impuls wyjściowy o stałym czasie trwaniaTPBrzęczyk gra przez 3s po alarmie
Opóźniona aktywacja (filtrowanie drgań)TONSilnik startuje 5s po naciśnięciu przycisku
Opóźniona dezaktywacja (podtrzymanie pracy)TOFWentylator pracuje 30s po zatrzymaniu silnika
Śledzenie skumulowanego czasu pracyTONRAlarm konserwacji po 1000h pracy
Wymuszone czyszczenie dowolnego timeraRTReset wszystkich timerów po potwierdzeniu błędu
Zmiana czasu trwania w trakcie pracyPTOperator reguluje czas przestoju z HMI

Często zadawane pytania

Jaka jest różnica między TP a TON?

TP generuje impuls o stałym czasie trwania, który trwa do końca niezależnie od wejścia — po wyzwoleniu wyjście pozostaje ON przez dokładnie PT. TON wymaga, aby wejście pozostało TRUE przez cały czas trwania — jeśli IN zmieni się na FALSE przed PT, timer resetuje się.

Czy mogę zmienić czas zadany timera w trakcie jego pracy?

Możesz załadować nową wartość PT instrukcją PT, ale zazwyczaj zaczyna ona obowiązywać przy następnym starcie timera. Aby zmienić czas w trakcie odliczania, musisz zresetować i zrestartować timer.

Jak zrobić impuls powtarzalny (generator taktujący)?

Użyj dwóch timerów TON połączonych krzyżowo (jeden dla czasu ON, drugi dla czasu OFF). Gdy Timer1 upłynie, uruchamia Timer2 i resetuje siebie. Gdy Timer2 upłynie, uruchamia Timer1 i resetuje siebie.

Czy timery zachowują stan po zaniku zasilania?

Domyślnie instancje timerów NIE są retencyjne. Aby timer zachowywał stan (np. TONR dla godzin pracy), ustaw blok danych instancji jako 'retentive' we właściwościach.

Generuj logikę timerów z AI

Opisz swoje wymagania czasowe zwykłym tekstem, a T-IA Connect wygeneruje kompletny kod PLC z odpowiednim doborem i konfiguracją timerów.