Lezione 3 di 15

S7 CC Lezione 03

🎓 S7 PLC Crash Course · Lezione 03

Set, Reset e Autoritenuta 🔒

─(S)─   ─(R)─   Latch
Come far “ricordare” al PLC — il circuito più importante dell’automazione.

🎯 Cosa impari in questa lezione

  • Perché la bobina standard non basta per il controllo motori
  • ─(S)─ Bobina Set — porta a 1 e mantiene
  • ─(R)─ Bobina Reset — porta a 0 e mantiene
  • Il circuito di autoritenuta (latch/seal-in) classico
  • Il concetto di priorità STOP nella sicurezza industriale
  • Come costruire un comando Marcia/Arresto realistico

📋 Scheda lezione

Modulo3 — Memoria e Sicurezza
Lezione03 di 15
Livello⭐ Principiante
Tempo~35 minuti
Elementi nuovi2 (Set, Reset)
PrerequisitiLezione 02

🧠 Il problema: la bobina non ricorda

Nella lezione precedente hai visto che la bobina standard ─( )─ segue l’ingresso: pulsante premuto → uscita ON. Pulsante rilasciato → uscita OFF. Istantaneamente, ad ogni ciclo di scansione.

Ora pensa a un motore in fabbrica. L’operatore preme START, il motore parte. Ma l’operatore non può tenere il dito premuto per 8 ore. Il motore deve restare acceso anche dopo che il pulsante viene rilasciato. Deve “ricordare” il comando.

E poi deve esistere un pulsante STOP separato per fermarlo. Questo schema — premi START per avviare, premi STOP per fermare — è il fondamento di ogni sistema di automazione industriale. In gergo si chiama autoritenuta, latch o seal-in circuit.

Ci sono due modi per implementarlo. Vediamoli entrambi.


① Bobina Set ─(S)─ e Bobina Reset ─(R)─

Il modo più diretto. Il simulatore fornisce due bobine speciali nella Toolbox:

Simbolo
─(S)─
Comportamento
Se riceve potenza → porta a 1

Quando la condizione è vera, la Set scrive 1 nella variabile. Quando la condizione diventa falsa, non fa niente — il valore resta a 1. Non resetta mai. Per quello serve la bobina Reset.

Simbolo
─(R)─
Comportamento
Se riceve potenza → porta a 0

Quando la condizione è vera, la Reset scrive 0 nella variabile. Quando la condizione diventa falsa, non fa niente — il valore resta a 0. Non setta mai.

Insieme formano una coppia perfetta: il Set “accende” e la Reset “spegne”. La variabile mantiene il suo stato tra un’operazione e l’altra — è la “memoria” del PLC.

Marcia/Arresto con Set-Reset — il modo semplice

Lo schema classico usa due Network separati, uno per il Set e uno per il Reset:

Marcia/Arresto con Set-Reset Network 1 // START motore ─┤ ├─ I0.0 START ─(S)─ Q0.0 Network 2 // STOP motore ─┤ ├─ I0.1 STOP ─(R)─ Q0.0 Premi START → motore parte e resta acceso · Premi STOP → motore si ferma e resta fermo
Figura 1 — Due Network separati: il primo setta Q0.0, il secondo lo resetta

Semplice, leggibile, funziona. Ma c’è una domanda importante: cosa succede se premi START e STOP contemporaneamente?

Priorità: chi vince?

Quando Set e Reset sono entrambi attivi nello stesso ciclo, vince l’ultimo che viene eseguito — cioè il Network più in basso. Il PLC esegue i Network dall’alto verso il basso: Network 1 fa il Set (Q0.0 = 1), poi Network 2 fa il Reset (Q0.0 = 0). Risultato: il Reset vince.

Nello schema qui sopra, il Reset è nel Network 2 (sotto il Set) → lo STOP ha priorità. Ed è esattamente quello che vogliamo.

🛑 Regola di sicurezza fondamentale: in automazione industriale, lo STOP ha SEMPRE priorità sullo START. Non è una convenzione — è un requisito di sicurezza. Se un operatore preme il pulsante di emergenza, il sistema DEVE fermarsi, anche se qualcun altro sta premendo START. Metti sempre il Network di Reset dopo il Network di Set.


② L’autoritenuta classica — il circuito Latch

Il secondo metodo non usa Set e Reset, ma solo la bobina standard ─( )─. Il trucco: l’uscita “si tiene accesa da sola” mettendo un contatto dell’uscita stessa in parallelo al pulsante di avvio.

Autoritenuta Classica — un solo Network Network 1 // Marcia motore con autoritenuta ┤ ├ I0.0 START ┤ ├ Q0.0 AUTORITENUTA ┤/├ I0.1 STOP (NC) ─( )─ Q0.0 Q0.0 = ( I0.0 OR Q0.0 ) AND NOT I0.1 START avvia · L’uscita si auto-mantiene · STOP (NC) interrompe tutto
Figura 2 — Il circuito di autoritenuta: Q0.0 si “tiene accesa da sola” tramite il contatto in parallelo

Come funziona, passo per passo

  1. A riposo: I0.0=0, I0.1=0, Q0.0=0. Il contatto NA di I0.0 è aperto. Il contatto NA di Q0.0 è aperto. Nessuna corrente arriva alla bobina → Q0.0 resta 0.
  2. Premi START (I0.0=1): Il contatto NA di I0.0 si chiude → la corrente passa. Il contatto NC di I0.1 è chiuso (I0.1=0) → la corrente arriva alla bobina → Q0.0 diventa 1.
  3. Rilasci START (I0.0=0): Il contatto di I0.0 si riapre, MA il contatto NA di Q0.0 è ora chiuso (Q0.0=1). La corrente passa comunque attraverso il ramo parallelo → Q0.0 resta 1. Questo è il latch!
  4. Premi STOP (I0.1=1): Il contatto NC di I0.1 si apre → interrompe il flusso → la bobina perde potenza → Q0.0 diventa 0. Il contatto di autoritenuta si riapre → il circuito resta spento.

🔍 Perché STOP è un contatto NC? Perché lo STOP ha priorità intrinseca. Il contatto NC è normalmente chiuso: lascia passare la corrente. Quando lo premi (I0.1=1), si apre e blocca tutto. In più, se il cavo del pulsante STOP si rompe, il PLC lo vede come “STOP premuto” (nessun segnale = sicurezza). Questo principio si chiama fail-safe.


⚖️ Set-Reset vs Autoritenuta — quale usare?

Entrambi i metodi producono lo stesso risultato funzionale. La scelta dipende dal contesto:

Set-Reset (due Network)

  • ✅ Più leggibile — chiaro chi accende e chi spegne
  • ✅ Set e Reset possono essere in Network lontani
  • ✅ Facile aggiungere condizioni indipendenti
  • ⚠️ Priorità dipende dall’ordine dei Network
  • 💡 Ideale per: sequenze, logica distribuita

Autoritenuta (un Network)

  • ✅ Tutta la logica in un posto solo
  • ✅ La priorità STOP è esplicita e visibile
  • ✅ Schema classico riconosciuto da tutti
  • ⚠️ Un solo Network — può diventare complesso
  • 💡 Ideale per: comandi motore, marcia/arresto

In pratica, nella programmazione industriale si usano entrambi. Il Set-Reset è comodo per le sequenze a passi (lo vedremo nella lezione 04). L’autoritenuta è lo standard per il comando diretto di motori e attuatori.


📊 Tabella temporale — cosa succede nel tempo

Questo diagramma mostra il comportamento nel tempo di un circuito marcia/arresto. Seguilo riga per riga:

Diagramma Temporale — Marcia/Arresto tempo → I0.0 (START) I0.1 (STOP) Q0.0 (Motore) START premuto STOP premuto motore ON (autoritenuta) STOP → motore OFF START ignorato (STOP premuto)
Figura 3 — Diagramma temporale: nota come Q0.0 resta ON dopo il rilascio di START, e come STOP ha priorità

📊 Riepilogo — i 5 tipi di bobina

Con la lezione 02 e questa, conosci ora tutte e tre le bobine del Ladder di base:

BobinaSimboloQuando condizione = VERAQuando condizione = FALSAHa memoria?
Standard─( )─Scrive 1Scrive 0❌ No — segue l’ingresso
Set─(S)─Scrive 1Non fa niente✅ Sì — mantiene l’1
Reset─(R)─Scrive 0Non fa niente✅ Sì — mantiene lo 0

🏋️ Esercizi pratici

Esercizio 3.1 — Marcia/Arresto con Set-Reset

Implementa il comando motore con due Network:

  1. Network 1: Contatto NA I0.0 → Bobina Set Q0.0
  2. Network 2: Contatto NA I0.1 → Bobina Reset Q0.0
  3. Commenta: “START motore” e “STOP motore”
  4. RUN → premi I0.0: Q0.0 si accende e resta accesa. Premi I0.1: Q0.0 si spegne.
  5. Test priorità: attiva I0.0 e I0.1 contemporaneamente. Chi vince? (Risposta: I0.1, perché il Reset è dopo il Set)

Esercizio 3.2 — Autoritenuta classica

Implementa lo stesso comando con l’autoritenuta in un solo Network:

  1. Crea un contatto NA I0.0 (START)
  2. Tasto destro → “Aggiungi in parallelo” → Contatto NA Q0.0 (autoritenuta)
  3. In serie dopo il parallelo: Contatto NC I0.1 (STOP)
  4. Bobina standard Q0.0
  5. RUN → testa: stesso comportamento dell’esercizio 3.1
Mostra la logica equivalente

Q0.0 = ( I0.0 OR Q0.0 ) AND NOT I0.1

Il contatto Q0.0 in parallelo a I0.0 mantiene la corrente anche quando rilasci START. Il contatto NC di I0.1 interrompe tutto quando premi STOP.


Esercizio 3.3 — Due motori indipendenti

Crea due circuiti marcia/arresto separati (usa il metodo che preferisci):

  • Motore 1: I0.0 (START), I0.1 (STOP) → Q0.0
  • Motore 2: I0.2 (START), I0.3 (STOP) → Q0.1

Verifica che siano completamente indipendenti: avviare/fermare uno non deve influenzare l’altro.


Esercizio 3.4 — Arresto di emergenza globale

Sfida: estendi l’esercizio 3.3 aggiungendo un pulsante di emergenza su I0.4 che fermi ENTRAMBI i motori contemporaneamente.

  1. Aggiungi alla condizione di stop di ogni motore un contatto NC I0.4 in serie
  2. Oppure, con Set-Reset, aggiungi due Network di Reset: I0.4 → Reset Q0.0 e I0.4 → Reset Q0.1
  3. Testa: avvia entrambi i motori, poi premi I0.4 → entrambi si fermano
Suggerimento per l’autoritenuta

Con l’autoritenuta, la condizione di stop diventa: NOT I0.1 AND NOT I0.4, cioè due contatti NC in serie. Se uno dei due è premuto, il flusso si interrompe.


Esercizio 3.5 — Lampada di segnalazione

Sfida: aggiungi una lampada verde (Q0.2) che si accende quando almeno un motore è in marcia, e una lampada rossa (Q0.3) che si accende quando entrambi i motori sono fermi.

Suggerimento

Lampada verde: Q0.0 OR Q0.1 → ( ) Q0.2 — due contatti NA in parallelo. Lampada rossa: NOT Q0.0 AND NOT Q0.1 → ( ) Q0.3 — due contatti NC in serie. Ricorda che i contatti possono leggere anche le uscite Q, non solo gli ingressi I!

💡 Questo esercizio introduce un concetto importante: leggere lo stato di un’uscita come condizione. Un contatto può essere associato a qualsiasi variabile — non solo ingressi I, ma anche uscite Q e merker M.

❓ Quiz rapido

1. Q0.0 è a 1. La bobina Reset ─(R)─ su Q0.0 riceve potenza per un ciclo, poi la perde. Quanto vale Q0.0?

Mostra risposta

0. La Reset ha portato Q0.0 a 0 quando ha ricevuto potenza. Quando la perde, non fa niente — il valore resta a 0. La Reset non “ripristina” il valore precedente al cessare della condizione.


2. In un programma, Network 5 fa Set su Q0.0 e Network 12 fa Reset su Q0.0. Entrambi ricevono potenza nello stesso ciclo. Chi vince?

Mostra risposta

Il Reset (Network 12). Il PLC esegue i Network dall’alto verso il basso. Network 5 setta Q0.0 a 1, poi Network 12 lo resetta a 0. Alla fine del ciclo, Q0.0 vale 0. L’ultimo che scrive, vince.


3. Perché lo STOP è collegato a un contatto NC e non NA?

Mostra risposta

Due motivi. Primo: il contatto NC dà priorità intrinseca allo STOP — il circuito funziona solo se lo STOP non è premuto. Secondo: se il cavo del pulsante STOP si rompe o si disconnette, il PLC non vede segnale (= 0) e il contatto NC si comporta come “STOP premuto” → il sistema si ferma. Questo è il principio fail-safe.


4. Nell’autoritenuta, cosa succede se rimuovo il contatto Q0.0 in parallelo a I0.0?

Mostra risposta

Torna a essere un comando diretto: Q0.0 è attiva solo finché tieni premuto I0.0. Appena rilasci, si spegne — perché non c’è più il ramo che “tiene accesa” la bobina. È esattamente il comportamento della lezione 02.


5. Posso usare una bobina Set su un Merker, tipo ─(S)─ M0.0?

Mostra risposta

Sì! Set e Reset funzionano su qualsiasi variabile: uscite Q, merker M, o qualsiasi indirizzo valido. Nella lezione 04 vedremo come usare i Merker per costruire sequenze a passi, dove il Set e Reset sui Merker diventa fondamentale.

Prossima lezione →

Lezione 04 — Merker e Organizzazione del Programma
I bit di memoria interna M0.0, le Memory Word MW,
sequenze a passi, interblocchi e commenti.

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