Istruzioni TIA Portal

Operazioni di Temporizzazione
TP, TON, TOF, TONR e Controlli

I temporizzatori sono essenziali per ogni progetto di automazione — dai semplici ritardi al controllo di sequenze complesse. Padroneggia ogni istruzione di temporizzazione in TIA Portal con questa guida completa.

Cosa sono le operazioni di temporizzazione in TIA Portal?

Le operazioni di temporizzazione in TIA Portal implementano una logica di controllo basata sul tempo. Sono blocchi funzionali conformi allo standard IEC 61131-3 che misurano il tempo trascorso, generano impulsi e creano ritardi all'accensione/spegnimento. Ogni temporizzatore ha un ingresso (IN), un tempo preimpostato (PT), un'uscita del tempo trascorso (ET) e un'uscita di stato (Q).

TIA Portal fornisce 4 tipi di temporizzatori IEC (TP, TON, TOF, TONR) oltre a istruzioni di controllo per l'avvio, il reset e il caricamento dei temporizzatori. Ogni istanza di temporizzatore necessita del proprio blocco dati di istanza (IDB) o può essere utilizzata come multi-istanza all'interno di un FB.

Tipi di Temporizzatori IEC

I 4 blocchi funzionali standard per temporizzatori — ciascuno con un diverso comportamento temporale

TP — Genera Impulso

Cosa fa

Genera un impulso di durata fissa. Quando IN passa da FALSE a TRUE, l'uscita Q passa a TRUE e rimane TRUE per esattamente il tempo preimpostato PT, indipendentemente da ciò che accade a IN. Il tempo trascorso ET conta da T#0s a PT. Una volta raggiunto PT, Q passa a FALSE ed ET viene resettato.

Quando usarlo

Quando si ha bisogno di un impulso in uscita di durata fissa attivato da un evento. Esempi: attivare un segnalatore acustico per esattamente 3 secondi all'attivazione di un allarme, dare un impulso a un solenoide per una durata precisa, creare un segnale a larghezza fissa per le apparecchiature a valle.

Consigli Pro

TP non è retriggerabile — un nuovo fronte di salita su IN mentre Q è già TRUE non ha alcun effetto. L'impulso viene eseguito fino al completamento. Per renderlo retriggerabile, resettare prima il temporizzatore.

L'uscita Q NON segue IN. Anche se IN passa a FALSE durante l'impulso, Q rimane TRUE fino alla scadenza di PT.

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

TON — Genera Ritardo all'eccitazione

Cosa fa

Ritarda l'attivazione di un'uscita. Quando IN passa a TRUE, il temporizzatore inizia a contare. Al termine del tempo preimpostato PT, Q passa a TRUE. Se IN passa a FALSE prima che PT venga raggiunto, il temporizzatore si resetta e Q rimane FALSE. Q rimane TRUE finché IN rimane TRUE dopo il ritardo.

Quando usarlo

Il temporizzatore più comunemente usato nella programmazione PLC. Uso per: ritardi all'avviamento del motore, debounce del sensore (ignora i segnali più brevi di X ms), ritardi degli allarmi (attiva l'allarme solo se la condizione persiste per N secondi), sequenze di avvio.

Consigli Pro

TON è il 'classico' temporizzatore di ritardo. Pensalo come: 'aspetta X secondi, poi accendi — ma solo se la condizione è ancora vera'.

Quando IN passa a FALSE, Q passa immediatamente a FALSE ed ET si resetta a T#0s. Non c'è comportamento di ritardo alla disattivazione.

Per il debounce del sensore, usare un PT breve come T#50ms o T#100ms. Questo filtra il rumore elettrico e il rimbalzo dei contatti.

TOF — Genera Ritardo alla disattivazione

Cosa fa

Ritarda la disattivazione di un'uscita. Quando IN passa a TRUE, Q passa immediatamente a TRUE. Quando IN passa a FALSE, il temporizzatore inizia a contare. Una volta trascorso PT, Q passa a FALSE. Se IN passa di nuovo a TRUE prima che PT scada, il temporizzatore si resetta e Q rimane TRUE.

Quando usarlo

Quando un'uscita deve rimanere accesa per un po' dopo lo spegnimento del suo ingresso. Esempi: mantenere una ventola di raffreddamento in funzione per 30 secondi dopo l'arresto di un motore, tenere accesa una luce per 60 secondi dopo che non viene più rilevato alcun movimento, mantenere attiva una pompa di lubrificazione dopo la fine di un ciclo.

Consigli Pro

TOF è l'opposto di TON: Q si attiva immediatamente ma si disattiva con un ritardo.

Se IN passa TRUE→FALSE→TRUE prima della scadenza di PT, il temporizzatore si resetta. Q non è mai diventato FALSE — è un comportamento 'keep-alive'.

Comune nell'HVAC: mantenere la ventilazione in funzione per 5 minuti dopo l'arresto del processo per eliminare i fumi residui.

TONR — Accumulatore di Tempo

Cosa fa

Un temporizzatore di ritardo all'eccitazione con accumulo. Come TON, ma il tempo trascorso ET NON viene resettato quando IN passa a FALSE. ET si mette in pausa quando IN è FALSE e riprende a contare quando IN è di nuovo TRUE. Q passa a TRUE quando ET raggiunge PT. Il temporizzatore deve essere esplicitamente resettato usando l'ingresso R.

Quando usarlo

Quando è necessario misurare il tempo di funzionamento totale accumulato in operazioni intermittenti. Esempi: monitorare le ore di funzionamento totali del motore per la pianificazione della manutenzione, misurare il tempo di esposizione totale in un processo di essiccazione che può essere messo in pausa, aggregare il tempo operativo per la fatturazione o il reporting SLA.

Consigli Pro

TONR ha un ingresso R (Reset) aggiuntivo. Impostare R=TRUE per cancellare ET riportandolo a T#0s e Q a FALSE. Questo è l'unico modo per riavviare l'accumulatore.

A differenza di TON/TOF/TP, TONR ricorda il tempo trascorso. Il comportamento al ciclo di alimentazione dipende dalle impostazioni di ritenzione del DB di istanza.

Usa TONR per i contatori di manutenzione: quando il tempo di funzionamento totale supera X ore, attiva un allarme 'manutenzione richiesta'.

Istruzioni di Controllo Temporizzatore

Avvio, reset e configurazione temporizzatori da LAD/FBD

—(TP)— Avvio Temporizzatore a Impulso

—(TP)—

Cosa fa

Un'istruzione in stile bobina che avvia un temporizzatore TP (impulso) direttamente da un segmento LAD. Quando l'RLO passa da FALSE a TRUE, il temporizzatore TP associato genera un impulso. Questa è un'alternativa all'uso del box del blocco funzionale TP.

Quando usarlo

Quando si preferisce la notazione a bobina in LAD invece di un box di blocco funzionale. Alcuni programmatori trovano più pulito scrivere la logica del temporizzatore come un segmento che termina con una bobina di temporizzazione invece di inserire un grande box FB nel mezzo della rete.

Consigli Pro

La versione a bobina fa riferimento alla stessa istanza del temporizzatore IEC della versione box. Sono intercambiabili.

Posizionare alla fine di un segmento, proprio come una bobina di uscita. Il tempo preimpostato è configurato nell'istanza del temporizzatore.

Nella maggior parte dei progetti moderni, la versione box FB è preferita perché mostra visivamente tutti i parametri (IN, PT, Q, ET).

—(TON)— Avvio Temporizzatore Ritardo all'eccitazione

—(TON)—

Cosa fa

Un'istruzione in stile bobina che avvia un temporizzatore TON (ritardo all'eccitazione). Quando l'RLO è TRUE, il temporizzatore TON associato conta. Al raggiungimento del tempo preimpostato, l'uscita Q del temporizzatore diventa TRUE.

Quando usarlo

Notazione a bobina alternativa per TON. Usare quando si desidera una rappresentazione LAD compatta di un temporizzatore di ritardo senza il box FB più grande.

Consigli Pro

Stesso comportamento del blocco funzionale TON — solo una diversa rappresentazione visiva in LAD.

Il DB di istanza del temporizzatore memorizza tutti i parametri: PT, ET, Q, IN.

È possibile leggere le uscite Q ed ET del temporizzatore in altri segmenti facendo riferimento al DB di istanza.

—(TOF)— Avvio Temporizzatore Ritardo alla disattivazione

—(TOF)—

Cosa fa

Un'istruzione in stile bobina che avvia un temporizzatore TOF (ritardo alla disattivazione). L'uscita Q del temporizzatore si attiva immediatamente quando l'RLO è TRUE e rimane TRUE per il tempo preimpostato dopo che l'RLO diventa FALSE.

Quando usarlo

Notazione a bobina alternativa per TOF. Usare per la logica di ritardo alla disattivazione in segmenti LAD compatti.

Consigli Pro

Stesso comportamento del blocco funzionale TOF.

Comunemente usato per temporizzatori di 'post-funzionamento': mantiene le uscite attive per un periodo dopo la scomparsa del trigger.

Fare riferimento all'uscita Q del DB di istanza in altri segmenti per utilizzare il segnale di spegnimento ritardato.

—(TONR)— Accumulatore di Tempo

—(TONR)—

Cosa fa

Un'istruzione in stile bobina per il temporizzatore TONR (accumulatore di ritardo all'eccitazione). Il tempo trascorso si accumula mentre l'RLO è TRUE e si mette in pausa quando è FALSE. Il temporizzatore deve essere resettato esplicitamente.

Quando usarlo

Notazione a bobina alternativa per TONR. Usare per monitorare il tempo di funzionamento cumulativo in formato LAD.

Consigli Pro

Ricordarsi di usare l'istruzione RT (Reset Timer) per resettare l'accumulatore quando necessario.

Il tempo accumulato è memorizzato nel DB di istanza e persiste attraverso i cicli di scansione.

Utile per la pianificazione della manutenzione — attiva un allarme quando il tempo accumulato totale supera una soglia.

—(RT)— Reset Temporizzatore

—(RT)—

Cosa fa

Resetta un temporizzatore allo stato iniziale. Quando l'RLO è TRUE, il tempo trascorso ET del temporizzatore specificato viene impostato su T#0s e l'uscita Q viene impostata su FALSE. Funziona con tutti i tipi di temporizzatori (TP, TON, TOF, TONR).

Quando usarlo

Quando è necessario forzare il reset di un temporizzatore da un segmento separato. Essenziale per TONR (che non si resetta automaticamente), ma utile anche per resettare qualsiasi temporizzatore in una condizione specifica come una conferma di guasto o un cambio di modalità.

Consigli Pro

Per i temporizzatori TONR, RT è l'UNICO modo per resettare il tempo accumulato. Senza di esso, il temporizzatore non si resetta mai.

È possibile resettare un temporizzatore da qualsiasi segmento — non deve essere necessariamente nello stesso segmento dell'avvio del temporizzatore.

Usa RT su un pulsante 'resetta tutto' per cancellare più temporizzatori contemporaneamente.

—(PT)— Carica Durata Temporale

—(PT)—

Cosa fa

Carica un nuovo valore di tempo preimpostato (PT) in un'istanza di temporizzatore esistente a runtime. Quando l'RLO è TRUE, il tempo preimpostato del temporizzatore viene aggiornato al valore specificato. Ciò consente di modificare dinamicamente le durate dei temporizzatori senza modificare il programma.

Quando usarlo

Quando le durate dei temporizzatori devono essere regolabili da un HMI o da un sistema di ricette. Ad esempio: un operatore imposta un tempo di sosta sull'HMI e PT carica quel valore nel temporizzatore del processo. Utile anche per la temporizzazione adattiva basata sul feedback dei sensori.

Consigli Pro

PT carica il valore quando l'RLO è TRUE. Se il temporizzatore è già in funzione, il nuovo PT ha effetto al prossimo avvio del temporizzatore.

Usare con variabili modificabili da HMI per consentire agli operatori di regolare la temporizzazione senza accesso all'ingegneria.

Il formato del valore temporale è TIME (es. T#5s, T#1m30s, T#500ms). È anche possibile utilizzare una variabile TIME.

Istruzioni Temporizzatore Legacy

Temporizzatori S5 da S7-300/400 — disponibili solo per compatibilità all'indietro

TIA Portal include anche istruzioni legacy per temporizzatori S5 (S_PULSE, S_PEXT, S_ODT, S_ODTS, S_OFFDT) per la compatibilità con i programmi S7-300/400. Per i nuovi progetti, utilizzare sempre i temporizzatori IEC (TP, TON, TOF, TONR) in quanto sono più flessibili, portatili e manutenibili.

Confronto Temporizzatori — Quale usare?

Guida rapida alla scelta in base alle esigenze di temporizzazione

Hai bisogno di...Usa questo temporizzatoreEsempio
Impulso in uscita di durata fissaTPSegnalatore acustico suona per 3s su allarme
Attivazione ritardata (debounce)TONMotore si avvia 5s dopo la pressione del pulsante
Disattivazione ritardata (post-funzionamento)TOFVentola gira per 30s dopo l'arresto del motore
Tracciamento del tempo di funzionamento accumulatoTONRAllarme manutenzione dopo 1000h totali
Cancellazione forzata di qualsiasi temporizzatoreRTReset di tutti i temporizzatori alla conferma guasto
Modifica durata temporizzatore a runtimePTOperatore regola il tempo di sosta da HMI

Domande Frequenti

Qual è la differenza tra TP e TON?

TP genera un impulso di durata fissa che viene eseguito fino al completamento indipendentemente dall'ingresso — una volta attivato, l'uscita rimane ON per esattamente PT, anche se l'ingresso passa a FALSE. TON richiede che l'ingresso rimanga TRUE per l'intera durata — se l'ingresso passa a FALSE prima di PT, il temporizzatore si resetta e l'uscita non si attiva mai.

Posso cambiare il tempo preimpostato di un temporizzatore mentre è in funzione?

È possibile caricare un nuovo valore PT utilizzando l'istruzione PT, ma in genere ha effetto al successivo avvio del temporizzatore, non nell'esecuzione corrente. Per cambiare la temporizzazione a metà esecuzione, sarebbe necessario resettare il temporizzatore e riavviarlo con il nuovo valore PT.

Come posso creare un impulso ripetitivo (generatore di clock)?

Usa due temporizzatori: un TON per il tempo ON e un TON per il tempo OFF, collegati in modo incrociato. Quando il Temporizzatore 1 scade, avvia il Temporizzatore 2 e resetta se stesso. Quando il Temporizzatore 2 scade, avvia il Temporizzatore 1 e resetta se stesso. Questo crea un segnale oscillante continuo con durate ON/OFF configurabili.

I temporizzatori sono ritentivi dopo un ciclo di alimentazione?

Per impostazione predefinita, le istanze dei temporizzatori NON sono ritentive — si resettano a zero all'accensione. Per rendere un temporizzatore ritentivo (es. TONR per le ore di manutenzione), impostare il DB di istanza come 'ritentivo' nelle sue proprietà. Attenzione: i temporizzatori ritentivi riprendono a contare dal loro ultimo valore dopo un ciclo di alimentazione.

Genera Logica di Temporizzazione con l'IA

Descrivi le tue esigenze di temporizzazione in testo semplice e T-IA Connect genera il codice PLC completo con la selezione e la configurazione corretta dei temporizzatori.