Lezione 6 di 15

S7 CC Lezione 06

πŸŽ“ S7 PLC Crash Course Β· Lezione 06

Timer TOF e TP ⏱️⏱️

[TOF]   [TP]
Il ritardo allo spegnimento, il generatore di impulsi
e il progetto semaforo.

🎯 Cosa impari in questa lezione

  • Come funziona il TOF (Timer Off-Delay) β€” ritardo allo spegnimento
  • Come funziona il TP (Timer Pulse) β€” generatore di impulso a durata fissa
  • Confronto diretto tra i tre timer: TON, TOF, TP
  • Pattern pratici: post-ventilazione, luce temporizzata, impulso dosatore
  • Progetto guidato: semaforo a 3 luci

πŸ“‹ Scheda lezione

Modulo6 β€” Timer Avanzati
Lezione06 di 15
Livello⭐⭐ Intermedio
Tempo~40 minuti
Elementi nuovi2 (TOF, TP)
PrerequisitiLezione 05

⏱️ Il TOF β€” Timer Off-Delay

Tipo
[TOF]
Funzione
Ritardo alla diseccitazione
Preset
PT in millisecondi
Sezione
Ingressi (sinistra)

TOF = Timer Off-delay. L’opposto del TON. L’uscita si attiva immediatamente quando l’ingresso diventa 1, e resta attiva per altri PT millisecondi dopo che l’ingresso torna a 0.

Pensalo come la luce del frigorifero: si accende subito quando apri la porta, e resta accesa per qualche secondo dopo che la chiudi.

Le 4 regole del TOF

  1. IN passa a 1: Q diventa 1 immediatamente. ET resta a 0. Il timer non conta ancora.
  2. IN torna a 0: il timer inizia a contare. ET sale da 0 verso PT. Q resta a 1 durante il conteggio.
  3. ET raggiunge PT: Q diventa 0. Il ritardo Γ¨ scaduto β€” ora l’uscita si spegne davvero.
  4. IN torna a 1 durante il conteggio: il timer si resetta (ET = 0), Q resta a 1. Il ritardo ricomincia dalla prossima disattivazione.
Diagramma Temporale — Timer TOF (PT = 2000 ms) IN ET Q IN = 1 breve re-trigger ET sale dopo IN→0 reset! Q = 1 per tutto questo tempo Q → 0 ET = PT → spegnimento Q ON subito!
Figura 1 β€” TOF: l’uscita si accende subito con IN, e resta accesa per PT ms dopo che IN torna a 0. Il re-trigger resetta il conteggio.

πŸ’‘ Confronto rapido TON vs TOF: il TON ritarda l’accensione. Il TOF ritarda lo spegnimento. Il TON Γ¨ un guardiano pessimista (“aspetta, sei sicuro?”). Il TOF Γ¨ un guardiano ottimista (“ok, te la lascio accesa ancora un po’”).

Pattern: Post-ventilazione

Un motore (Q0.0) Γ¨ comandato da I0.0. Un ventilatore di raffreddamento (Q0.1) deve restare attivo 30 secondi dopo lo spegnimento del motore.

Network 1 // Comando motore
I0.0 ── β”œβ”€ ────────────────────── ─( )─ Q0.0

Network 2 // Ventilatore: ON con motore, OFF dopo 30s
Q0.0 ── β”œβ”€ [TOF T0, PT=30000] ─── ─( )─ Q0.1

Il TOF legge Q0.0 come ingresso. Quando il motore Γ¨ ON, il ventilatore Γ¨ ON. Quando il motore si spegne, il TOF mantiene il ventilatore acceso per altri 30 secondi. Perfetto per il raffreddamento.


⚑ Il TP β€” Timer Pulse

Tipo
[TP]
Funzione
Generatore di impulso
Preset
PT = durata impulso in ms
Trigger
Fronte di salita di IN

TP = Timer Pulse. Il piΓΉ semplice concettualmente: quando l’ingresso passa da 0 a 1, l’uscita genera un impulso di durata esattamente PT millisecondi. NΓ© piΓΉ, nΓ© meno.

Non importa quanto a lungo tieni premuto l’ingresso β€” l’impulso dura sempre PT. E non puoi “re-triggerarlo” durante il conteggio: il timer ignora nuovi fronti finchΓ© non ha finito.

Le 3 regole del TP

  1. IN: fronte di salita (0β†’1): Q diventa 1, il timer parte. ET sale da 0 verso PT.
  2. ET raggiunge PT: Q torna a 0. Fine dell’impulso. Il timer si ferma.
  3. Durante il conteggio, IN Γ¨ irrilevante: che resti a 1 o torni a 0, Q resta a 1 fino a PT. Nuovi fronti di salita vengono ignorati finchΓ© l’impulso non Γ¨ terminato.
Diagramma Temporale β€” Timer TP (PT = 500 ms) IN ET Q pressione lunga breve ignorato! 500ms 500ms esattamente PT esattamente PT IN ancora ON, ma Q giΓ  OFF tempo β†’
Figura 2 β€” TP: ogni fronte di salita genera un impulso di esattamente PT ms. L’ultimo fronte (durante il conteggio) viene ignorato.

⚠️ Il TP non Γ¨ re-triggerabile. Se l’impulso Γ¨ in corso e arriva un nuovo fronte, viene ignorato. Questo Γ¨ importante per il dosaggio: ogni pressione genera esattamente un impulso, indipendentemente da quanto velocemente si preme.

Pattern: Impulso dosatore

Ogni pressione di un pulsante deve attivare una valvola per esattamente 2 secondi β€” non di piΓΉ, non di meno β€” indipendentemente da quanto tempo l’operatore tiene premuto.

Network 1 // Impulso dosaggio: esattamente 2 secondi
I0.0 ── β”œβ”€ [TP T0, PT=2000] ─── ─( )─ Q0.0 // valvola dosaggio

Semplice, preciso, affidabile. Premi il pulsante una volta β†’ la valvola si apre per 2 secondi β†’ si chiude. Premi di nuovo β†’ un altro impulso di 2 secondi. Perfetto per dosaggi ripetuti.


πŸ“Š I tre timer a confronto

Ora conosci tutti e tre i timer del simulatore. Ecco il confronto definitivo:

TimerQ si attivaQ si disattivaReset ETUso tipico
TONDopo PT con IN=1Subito quando IN→0Quando IN→0Ritardi avvio, filtri anti-rimbalzo
TOFSubito quando IN→1Dopo PT dalla disattivazione di INQuando IN→1 (durante conteggio)Post-ventilazione, luci temporizzate
TPSul fronte di salita di INDopo esattamente PTAl termine dell’impulsoDosaggi, impulsi fissi, segnali temporizzati
Confronto visivo β€” stesso ingresso IN, tre risultati diversi IN TON Q ON ← aspetta PT β†’ TOF Q ON subito e durante il ritardo ← aspetta PT dopo INβ†’0 β†’ TP esattamente PT INβ†’1 INβ†’0
Figura 3 β€” Stesso ingresso, tre timer diversi: il TON ritarda l’ON, il TOF ritarda l’OFF, il TP genera un impulso fisso

🚦 Progetto guidato: Semaforo a 3 luci

Mettiamo insieme tutto: timer, merker e sequenze. Costruiamo un semaforo con la sequenza classica: Verde (5s) β†’ Giallo (2s) β†’ Rosso (5s) β†’ ciclo.

Assegnazione I/O

IndirizzoFunzione
I0.0Pulsante START semaforo
I0.1Pulsante STOP (tutto spento)
Q0.0Lampada VERDE
Q0.1Lampada GIALLO
Q0.2Lampada ROSSO
M0.0Passo 1 β€” Verde
M0.1Passo 2 β€” Giallo
M0.2Passo 3 β€” Rosso

Il programma completo

// ═══ AVVIO β€” parte dal Verde ═══
N1 I0.0 ── β”œβ”€ NOT M0.0 ──/β”œβ”€ NOT M0.1 ──/β”œβ”€ NOT M0.2 ──/β”œβ”€ ─(S)─ M0.0

// ═══ TRANSIZIONI con timer ═══
N2 M0.0 ── β”œβ”€ [TON T0, PT=5000] ── ─(S)─ M0.1 // dopo 5s Verde β†’ Giallo
N3 M0.1 ── β”œβ”€ ────────────────────── ─(R)─ M0.0

N4 M0.1 ── β”œβ”€ [TON T1, PT=2000] ── ─(S)─ M0.2 // dopo 2s Giallo β†’ Rosso
N5 M0.2 ── β”œβ”€ ────────────────────── ─(R)─ M0.1

N6 M0.2 ── β”œβ”€ [TON T2, PT=5000] ── ─(S)─ M0.0 // dopo 5s Rosso β†’ Verde (ciclo!)
N7 M0.0 ── β”œβ”€ ────────────────────── ─(R)─ M0.2

// ═══ USCITE ═══
N8 M0.0 ── β”œβ”€ ────────────────────── ─( )─ Q0.0 // VERDE
N9 M0.1 ── β”œβ”€ ────────────────────── ─( )─ Q0.1 // GIALLO
N10 M0.2 ── β”œβ”€ ────────────────────── ─( )─ Q0.2 // ROSSO

// ═══ STOP ═══
N11 I0.1 ── β”œβ”€ ── ─(R)─ M0.0
N12 I0.1 ── β”œβ”€ ── ─(R)─ M0.1
N13 I0.1 ── β”œβ”€ ── ─(R)─ M0.2

Nota come la sequenza Γ¨ ciclica: il Network 6 setta M0.0 (Verde) quando il timer del Rosso scade, e il Network 7 resetta M0.2 (Rosso). Il semaforo gira da solo all’infinito.

πŸ’‘ Osserva la struttura: Γ¨ la stessa della lezione 04 (transizioni β†’ uscite β†’ reset), ma le transizioni ora sono temporizzate con i TON. Questo pattern β€” sequenza a passi con transizioni temporizzate β€” Γ¨ la base del controllo di processo industriale.


πŸ‹οΈ Esercizi pratici

Esercizio 6.1 β€” Post-ventilazione

Un motore (Q0.0) Γ¨ comandato con marcia/arresto (I0.0/I0.1). Un ventilatore (Q0.1) si accende quando il motore Γ¨ ON e resta acceso 30 secondi dopo lo spegnimento. Usa un TOF.

  • Network 1-2: Marcia/arresto classico per Q0.0
  • Network 3: Q0.0 β†’ TOF (PT=30000) β†’ ─( )─ Q0.1

Testa: avvia motore, spegnilo, e osserva il ventilatore che resta acceso per 30 secondi. Se riavvii il motore prima dei 30s, il conteggio si resetta.


Esercizio 6.2 β€” Impulso dosatore

Ogni pressione di I0.0 attiva Q0.0 per esattamente 500 ms. Non importa quanto tempo tieni premuto il pulsante. Usa un TP.

Testa: premi rapidamente I0.0 piΓΉ volte β†’ osserva che ogni impulso dura esattamente 500 ms, e che premere durante un impulso non ne genera uno nuovo.


Esercizio 6.3 β€” Luce corridoio (TOF)

Un sensore di movimento (I0.0) attiva la luce del corridoio (Q0.0). La luce si accende subito quando rileva movimento e resta accesa 2 minuti dopo l’ultimo movimento rilevato. Ogni nuovo movimento “ricarica” il timer.

Suggerimento

Un solo Network: I0.0 β†’ TOF (PT=120000) β†’ ─( )─ Q0.0. Il re-trigger del TOF resetta automaticamente il conteggio quando I0.0 ritorna a 1.


Esercizio 6.4 β€” Semaforo completo

Implementa nel simulatore il semaforo descritto sopra (13 Network). Testa:

  1. Premi START β†’ Q0.0 (Verde) si accende
  2. Dopo 5 secondi β†’ Q0.0 si spegne, Q0.1 (Giallo) si accende
  3. Dopo 2 secondi β†’ Q0.1 si spegne, Q0.2 (Rosso) si accende
  4. Dopo 5 secondi β†’ Q0.2 si spegne, Q0.0 (Verde) si riaccende. Ciclo infinito!
  5. Premi STOP β†’ tutto si ferma

Esercizio 6.5 β€” Sfida: semaforo pedonale

Sfida: aggiungi al semaforo un pulsante pedonale (I0.2). Quando un pedone preme il pulsante, il semaforo deve completare la fase corrente e poi passare al rosso (veicoli) con verde pedonale (Q0.3) per 8 secondi, prima di riprendere il ciclo normale.

Suggerimento

Usa un Merker M1.0 come “richiesta pedonale” (Set con I0.2). Nella transizione Rossoβ†’Verde, controlla M1.0: se attivo, vai a un passo “Pedonale” (M0.3) invece che Verde. Il passo pedonale accende Q0.3 per 8 secondi (TON), poi resetta M1.0 e torna al Verde.

❓ Quiz rapido

1. Un TOF ha PT=5000. IN Γ¨ a 1. Quanto vale Q?

Mostra risposta

Q = 1. Il TOF attiva l’uscita immediatamente quando IN=1. Il conteggio non Γ¨ ancora partito β€” partirΓ  solo quando IN tornerΓ  a 0. FinchΓ© IN Γ¨ a 1, Q resta a 1 e ET vale 0.


2. Un TP ha PT=1000. Premo IN per 3 secondi. Per quanto tempo Q Γ¨ a 1?

Mostra risposta

Esattamente 1 secondo (1000 ms). Il TP genera un impulso di durata fissa PT, indipendentemente da quanto a lungo IN resta a 1. Che tu tenga premuto 1 secondo o 1 ora, l’impulso dura sempre PT.


3. Un TOF ha PT=10000. IN passa a 1, poi dopo 3 secondi torna a 0, poi dopo 5 secondi torna di nuovo a 1. Quanto dura in totale l’uscita Q?

Mostra risposta

Q Γ¨ a 1 per tutto il tempo. Ecco perchΓ©: quando IN=1, Q=1. Quando INβ†’0, il TOF inizia a contare (PT=10s). Ma dopo solo 5 secondi IN torna a 1: il conteggio si resetta (ETβ†’0) e Q resta a 1. Il TOF non ha mai avuto il tempo di arrivare a PT e spegnere l’uscita.


4. Quale timer uso se voglio che un’uscita resti accesa esattamente 2 secondi dopo ogni pressione di un pulsante, indipendentemente dalla durata della pressione?

Mostra risposta

TP (Timer Pulse) con PT=2000. Il TP genera un impulso di durata fissa al fronte di salita. NΓ© il TON (ritarda l’accensione) nΓ© il TOF (ritarda lo spegnimento) producono questo comportamento.


5. Nel semaforo, perchΓ© usiamo 3 timer diversi (T0, T1, T2) e non uno solo con preset diversi?

Mostra risposta

PerchΓ© ogni timer Γ¨ associato a un passo diverso della sequenza. T0 conta durante il Verde, T1 durante il Giallo, T2 durante il Rosso. In ogni momento solo uno dei tre sta contando (quello del passo attivo). Usare lo stesso timer in Network diversi causerebbe conflitti β€” il timer verrebbe resettato e riscritto ad ogni ciclo da Network con condizioni diverse.

Prossima lezione β†’

Lezione 07 β€” Counter (Contatori)
[CTU]   [CTD]   [CTUD]
Contare pezzi, dosare batch, gestire sequenze numeriche.

Β© Prof. D. Bertolino Β· S7 PLC Crash Course Β· Unofficial S7-1200 Simulator Β· Lezione 06