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
| Modulo | 6 β Timer Avanzati |
| Lezione | 06 di 15 |
| Livello | ββ Intermedio |
| Tempo | ~40 minuti |
| Elementi nuovi | 2 (TOF, TP) |
| Prerequisiti | Lezione 05 |
β±οΈ Il TOF β Timer Off-Delay
[TOF]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
- IN passa a 1: Q diventa 1 immediatamente. ET resta a 0. Il timer non conta ancora.
- IN torna a 0: il timer inizia a contare. ET sale da 0 verso PT. Q resta a 1 durante il conteggio.
- ET raggiunge PT: Q diventa 0. Il ritardo Γ¨ scaduto β ora l’uscita si spegne davvero.
- IN torna a 1 durante il conteggio: il timer si resetta (ET = 0), Q resta a 1. Il ritardo ricomincia dalla prossima disattivazione.
π‘ 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
[TP]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
- IN: fronte di salita (0β1): Q diventa 1, il timer parte. ET sale da 0 verso PT.
- ET raggiunge PT: Q torna a 0. Fine dell’impulso. Il timer si ferma.
- 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.
β οΈ 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:
| Timer | Q si attiva | Q si disattiva | Reset ET | Uso tipico |
|---|---|---|---|---|
| TON | Dopo PT con IN=1 | Subito quando INβ0 | Quando INβ0 | Ritardi avvio, filtri anti-rimbalzo |
| TOF | Subito quando INβ1 | Dopo PT dalla disattivazione di IN | Quando INβ1 (durante conteggio) | Post-ventilazione, luci temporizzate |
| TP | Sul fronte di salita di IN | Dopo esattamente PT | Al termine dell’impulso | Dosaggi, impulsi fissi, segnali temporizzati |
π¦ 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
| Indirizzo | Funzione |
|---|---|
I0.0 | Pulsante START semaforo |
I0.1 | Pulsante STOP (tutto spento) |
Q0.0 | Lampada VERDE |
Q0.1 | Lampada GIALLO |
Q0.2 | Lampada ROSSO |
M0.0 | Passo 1 β Verde |
M0.1 | Passo 2 β Giallo |
M0.2 | Passo 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:
- Premi START β Q0.0 (Verde) si accende
- Dopo 5 secondi β Q0.0 si spegne, Q0.1 (Giallo) si accende
- Dopo 2 secondi β Q0.1 si spegne, Q0.2 (Rosso) si accende
- Dopo 5 secondi β Q0.2 si spegne, Q0.0 (Verde) si riaccende. Ciclo infinito!
- 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