Lezione 2 di 15

S7 CC Lezione 02

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

Introduzione al Ladder Logic πŸͺœ

── β”œβ”€   ──/β”œβ”€   ─( )─
Contatti, bobine e i tuoi primi programmi funzionanti.

🎯 Cosa impari in questa lezione

  • Cos’Γ¨ il Ladder Logic e da dove viene
  • Anatomia di un Network: sbarre, contatti, bobine
  • ── β”œβ”€ Contatto Normalmente Aperto (NA)
  • ──/β”œβ”€ Contatto Normalmente Chiuso (NC)
  • ─( )─ Bobina (Coil)
  • Logica combinatoria: AND, OR, NOT
  • Come costruire un programma nel simulatore passo per passo

πŸ“‹ Scheda lezione

Modulo2 β€” Ladder Logic Base
Lezione02 di 15
Livello⭐ Principiante
Tempo~35 minuti
Elementi nuovi3 (Contatto NA, NC, Bobina)
PrerequisitiLezione 01

🧠 Da dove viene il Ladder β€” una brevissima storia

Prima dei PLC, le fabbriche erano controllate da quadri a relΓ¨: enormi armadi pieni di relΓ¨ elettromeccanici collegati tra loro con fili. Ogni relΓ¨ era un “interruttore automatico” β€” quando riceveva corrente, chiudeva un contatto. Combinando relΓ¨ in serie e in parallelo si otteneva la logica di controllo.

Nel 1968, General Motors chiese di sostituire quei quadri con qualcosa di programmabile. Nacque il PLC β€” e il linguaggio scelto fu il Ladder Diagram, perchΓ© era identico agli schemi elettrici che gli elettricisti giΓ  conoscevano. La “scala” (ladder) Γ¨ composta da due sbarre verticali (l’alimentazione) e pioli orizzontali (i circuiti logici).

Mezzo secolo dopo, il Ladder Γ¨ ancora il linguaggio PLC piΓΉ usato al mondo. Il motivo Γ¨ semplice: Γ¨ visuale, Γ¨ intuitivo, e chiunque abbia visto uno schema elettrico lo capisce al volo.


πŸͺœ Anatomia di un Network

Un programma Ladder Γ¨ una sequenza di Network (in Siemens) numerati. Ogni Network Γ¨ un circuito logico indipendente, valutato da sinistra a destra. Ecco la struttura:

Struttura di un Network Ladder Sbarra + Sbarra βˆ’ I0.0 ── β”œβ”€ I0.1 ──/β”œβ”€ Q0.0 ( ) ← CONDIZIONI (Inputs) β†’ AZIONI (Output) ⚑ La “corrente” logica fluisce da sinistra a destra ⚑
Figura 1 β€” Un Network con due contatti in serie e una bobina. La corrente logica fluisce da sinistra a destra.

La regola Γ¨ semplice: se tutte le condizioni a sinistra sono soddisfatte, la “corrente” logica arriva alla bobina a destra e l’uscita si attiva. Se anche una sola condizione in serie blocca il flusso, la bobina resta spenta.

πŸ” Terminologia Siemens: in TIA Portal e nel simulatore si usa il termine Network, non “Rung”. Rung Γ¨ la terminologia americana (Allen-Bradley, Rockwell). Siemens usa Network β€” e cosΓ¬ faremo noi in tutto il corso.


β‘  Contatto Normalmente Aperto (NA) β€” ── β”œβ”€

Simbolo
── β”œβ”€
Comportamento
Chiuso se variabile = 1
Toolbox
Contatto NA
Sezione
Ingressi (sinistra)

Normalmente Aperto significa: a riposo, il contatto Γ¨ aperto (non conduce). Quando la variabile associata diventa 1, il contatto si chiude e lascia passare la corrente logica.

Pensalo come un pulsante: quando lo premi (variabile = 1), il circuito si chiude. Quando lo rilasci (variabile = 0), il circuito si apre.

Variabile = 0 (ingresso OFF)

Contatto aperto β†’ la corrente non passa β†’ la bobina resta spenta.

── β”œβ”€   (aperto, nessun flusso)
 I0.0=0

Variabile = 1 (ingresso ON)

Contatto chiuso β†’ la corrente passa β†’ la bobina si attiva!

β”€β”€β– β”œβ”€   (chiuso, flusso OK)
 I0.0=1

πŸ’‘ Il contatto NA Γ¨ l’elemento piΓΉ usato in assoluto nel Ladder. Ogni volta che vuoi verificare “se qualcosa Γ¨ attivo”, usi un contatto NA associato a quell’indirizzo.

β‘‘ Contatto Normalmente Chiuso (NC) β€” ──/β”œβ”€

Simbolo
──/β”œβ”€
Comportamento
Chiuso se variabile = 0
Toolbox
Contatto NC
Sezione
Ingressi (sinistra)

È l’opposto del NA: a riposo Γ¨ chiuso (conduce), e quando la variabile diventa 1, si apre (interrompe il flusso).

Pensalo come un pulsante di emergenza a fungo: normalmente lascia passare la corrente (il sistema funziona). Quando lo premi, il circuito si apre e tutto si ferma.

Variabile = 0 (ingresso OFF)

Contatto chiuso β†’ la corrente passa.

──/β”œβ”€   (chiuso, flusso OK)
 I0.1=0

Variabile = 1 (ingresso ON)

Contatto aperto β†’ la corrente non passa.

──/β”œβ”€   (aperto, blocca il flusso)
 I0.1=1

⚠️ Errore classico dei principianti: confondere il nome del contatto con il suo stato. Un contatto Normalmente Aperto non Γ¨ “sempre aperto” β€” Γ¨ aperto a riposo. Quando la variabile Γ¨ a 1, si chiude. Il nome descrive lo stato di default, non lo stato attuale.

β‘’ Bobina (Coil) β€” ─( )─

Simbolo
─( )─
Comportamento
Scrive il risultato nella variabile
Toolbox
Bobina
Sezione
Uscite (destra)

La bobina Γ¨ l’azione del Network. Se la corrente logica la raggiunge (tutte le condizioni a sinistra sono vere), la bobina scrive 1 nella variabile associata. Se la corrente non arriva, scrive 0.

La bobina Γ¨ tipicamente associata a un’uscita fisica (Q0.0), ma puΓ² anche scrivere su un Merker (M0.0) β€” lo vedremo nella lezione 04.

Importante: la bobina standard segue l’ingresso ad ogni ciclo di scansione. Se le condizioni sono vere β†’ uscita ON. Se diventano false β†’ uscita OFF al ciclo successivo. Non c’Γ¨ “memoria” β€” l’uscita Γ¨ uno specchio delle condizioni. Per mantenere l’uscita attiva anche dopo il rilascio di un pulsante, servono tecniche diverse (lezione 03).

⚠️ Regola del simulatore (e del PLC reale): nella sezione uscite di un Network, le bobine non possono essere collegate in serie. Ogni bobina deve avere il suo collegamento indipendente alla sbarra destra. Se servono due uscite, usa due Network separati o un ramo parallelo nella sezione uscite.


πŸ”— Logica combinatoria β€” AND, OR, NOT

Con soli tre elementi (contatto NA, contatto NC, bobina) puoi giΓ  implementare tutta la logica combinatoria. Come? Con la disposizione spaziale dei contatti.

Le tre operazioni logiche fondamentali AND β€” Contatti in SERIE I0.0 I0.1 Q0.0 Entrambi devono essere 1 Q0.0 = I0.0 AND I0.1 OR β€” Contatti in PARALLELO I0.0 I0.1 Q0.0 Basta che uno sia 1 Q0.0 = I0.0 OR I0.1 NOT β€” Contatto NC I0.0 / Q0.0 Attivo quando ingresso Γ¨ 0 Q0.0 = NOT I0.0 Tabelle di veritΓ  AND I0.0 I0.1 Q0.0 0 0 0 1 0 0 0 1 0 1 1 1 OR I0.0 I0.1 Q0.0 0 0 0 1 0 1 0 1 1 1 1 1 NOT I0.0 Q0.0 0 1 1 0 Serie = AND Β· Parallelo = OR Β· Contatto NC = NOT Β· Combinandoli ottieni qualsiasi logica
Figura 2 β€” AND, OR e NOT: la disposizione dei contatti determina l’operazione logica

AND β€” Contatti in serie

Due contatti messi uno dopo l’altro (in serie) implementano la funzione AND: la corrente passa solo se entrambi sono chiusi. Nel simulatore, per aggiungere un contatto in serie puoi: trascinarlo sulla stessa riga oppure usare il menu contestuale (tasto destro β†’ “Aggiungi in serie”).

OR β€” Contatti in parallelo

Due contatti messi su percorsi alternativi (in parallelo) implementano la funzione OR: basta che uno sia chiuso perchΓ© la corrente passi. Nel simulatore: tasto destro su un contatto β†’ “Aggiungi in parallelo” β†’ scegli il tipo.

NOT β€” Contatto NC

Il contatto NC implementa la negazione: l’uscita Γ¨ attiva quando l’ingresso Γ¨ OFF. Non serve nessuna struttura speciale β€” basta usare un contatto NC al posto di un NA.

πŸ’‘ Combinare AND, OR e NOT: puoi annidare serie e paralleli a piacere. Ad esempio, (I0.0 OR I0.1) AND NOT I0.2 β†’ Q0.0 si traduce in: due contatti NA in parallelo (I0.0, I0.1), seguiti da un contatto NC in serie (I0.2), e una bobina Q0.0. Qualsiasi espressione booleana si puΓ² costruire cosΓ¬.


πŸ’» Come costruire un programma β€” passo per passo

Costruiamo insieme il primo programma: quando premo I0.0, si accende Q0.0. Il circuito piΓΉ semplice del mondo.

  1. Aggiungi un Network: clicca “+” Aggiungi Network” nella Toolbox
  2. Trascina un Contatto NA dalla Toolbox nella sezione ingressi (sinistra) del Network
  3. Configura il contatto: clicca sull’elemento β†’ nel pannello di configurazione seleziona tipo I, byte 0, bit 0 β†’ conferma. Ora il contatto mostra I0.0
  4. Trascina una Bobina nella sezione uscite (destra) del Network
  5. Configura la bobina: clicca β†’ seleziona tipo Q, byte 0, bit 0 β†’ conferma. Ora mostra Q0.0
  6. Premi RUN nella toolbar
  7. Testa: clicca su I0.0 nel pannello I/O a destra β†’ Q0.0 si accende. Rilascia β†’ Q0.0 si spegne.

Congratulazioni β€” hai scritto il tuo primo programma PLC. Ogni programma che scriverai da qui in avanti, anche quelli da 50 Network, Γ¨ una combinazione dei concetti che hai appena usato.

Aggiungere un commento

Ogni Network ha un campo di testo in alto. Scrivi una descrizione breve ma chiara: “Comando diretto lampada” Γ¨ meglio di niente, e molto meglio di “Network 1”. Questa abitudine ti ringrazierai quando riaprirai il programma tra una settimana.


πŸ“Š Riepilogo β€” i 3 elementi a confronto

ElementoSimboloSezioneQuando conduceQuando blocca
Contatto NA── β”œβ”€IngressiVariabile = 1Variabile = 0
Contatto NC──/β”œβ”€IngressiVariabile = 0Variabile = 1
Bobina─( )─UsciteScrive 1 se corrente arriva, 0 se non arriva
Operazione logicaStruttura LadderRegola
ANDContatti in serieTutti devono essere chiusi
ORContatti in paralleloAlmeno uno deve essere chiuso
NOTContatto NCInvertito rispetto al valore della variabile

πŸ‹οΈ Esercizi pratici

Esercizio 2.1 β€” Comando diretto

GiΓ  fatto sopra! Verifica che funzioni: I0.0 β†’ Q0.0.


Esercizio 2.2 β€” AND: due condizioni

Q0.0 si accende solo se I0.0 e I0.1 sono entrambi attivi.

  1. Crea un Network con un Contatto NA configurato come I0.0
  2. Aggiungi un secondo Contatto NA in serie configurato come I0.1
  3. Aggiungi una Bobina Q0.0
  4. RUN β†’ testa tutte le combinazioni: (0,0) (1,0) (0,1) (1,1). Solo l’ultima accende Q0.0

Esercizio 2.3 β€” OR: percorsi alternativi

Q0.0 si accende se I0.0 oppure I0.1 Γ¨ attivo (o entrambi).

  1. Crea un contatto NA I0.0
  2. Tasto destro sul contatto β†’ “Aggiungi in parallelo” β†’ Contatto NA
  3. Configura il nuovo contatto come I0.1
  4. Aggiungi la Bobina Q0.0
  5. RUN β†’ testa: basta che uno dei due sia a 1 per accendere Q0.0

Esercizio 2.4 β€” NOT: inversione

Q0.0 Γ¨ accesa quando I0.0 non Γ¨ premuto. Si spegne quando lo premi.

  1. Trascina un Contatto NC (non NA!) e configuralo come I0.0
  2. Aggiungi una Bobina Q0.0
  3. RUN β†’ Q0.0 Γ¨ accesa a riposo. Clicca I0.0 β†’ Q0.0 si spegne

Esercizio 2.5 β€” Combinazione: (I0.0 OR I0.1) AND NOT I0.2

Sfida: Q0.0 si accende se almeno uno tra I0.0 e I0.1 Γ¨ attivo, a patto che I0.2 non sia attivo. Se I0.2 Γ¨ attivo, Q0.0 resta spenta comunque.

  1. Crea il parallelo I0.0 / I0.1 (come nell’esercizio 2.3)
  2. Aggiungi un Contatto NC in serie dopo il parallelo, configurato come I0.2
  3. Aggiungi la Bobina Q0.0
  4. RUN β†’ verifica: I0.0=1 β†’ Q0.0 ON. Poi attiva I0.2 β†’ Q0.0 OFF (anche con I0.0 ancora attivo)

πŸ’‘ Questo schema Γ¨ molto usato in automazione: il parallelo rappresenta diverse condizioni di avvio, e il contatto NC in serie rappresenta una condizione di blocco (sicurezza, emergenza, interblocco).


Esercizio 2.6 β€” Due Network, due uscite

Crea un programma con due Network:

  1. Network 1: I0.0 AND I0.1 β†’ Q0.0 (lampada verde β€” entrambi i sensori attivi)
  2. Network 2: I0.0 AND NOT I0.1 β†’ Q0.1 (lampada rossa β€” solo il primo sensore attivo)
  3. Aggiungi un commento significativo a ciascun Network
  4. RUN β†’ testa tutte le combinazioni e verifica che non si accendano mai entrambe

❓ Quiz rapido

1. Ho un contatto NA associato a I0.3. L’ingresso I0.3 Γ¨ a 0. Il contatto conduce?

Mostra risposta

No. Un contatto Normalmente Aperto Γ¨ aperto a riposo (variabile = 0), quindi non conduce. Condurrebbe solo se I0.3 fosse a 1.


2. Ho un contatto NC associato a I0.3. L’ingresso I0.3 Γ¨ a 0. Il contatto conduce?

Mostra risposta

Sì. Un contatto Normalmente Chiuso è chiuso a riposo (variabile = 0), quindi conduce. Si aprirebbe solo se I0.3 diventasse 1.


3. In un Network: contatto NA (I0.0) in serie con contatto NC (I0.1), poi bobina Q0.0. Stato: I0.0=1, I0.1=1. Q0.0 Γ¨ attiva?

Mostra risposta

No. Il contatto NA di I0.0 conduce (I0.0=1 βœ“). Ma il contatto NC di I0.1 Γ¨ aperto (I0.1=1 β†’ NC si apre βœ—). Uno dei due in serie non conduce β†’ la corrente non arriva β†’ Q0.0 resta OFF.


4. Posso mettere due bobine in serie nello stesso Network?

Mostra risposta

No. Il simulatore (come un S7-1200 reale) non lo permette nella sezione uscite. Per comandare due uscite con la stessa condizione, usa due Network separati con la stessa logica di ingressi, oppure un ramo parallelo nella sezione uscite (se supportato).


5. Scrivo questo Network: contatto NA (I0.0) β†’ Bobina (Q0.0). In RUN premo I0.0 e poi lo rilascio. Cosa fa Q0.0?

Mostra risposta

Q0.0 si accende quando premi e si spegne quando rilasci. La bobina standard non ha memoria β€” segue l’ingresso ad ogni ciclo. Se vuoi che resti accesa dopo il rilascio, ti servono le tecniche della lezione 03 (Set/Reset o autoritenuta).

Prossima lezione β†’

Lezione 03 β€” Set, Reset e Autoritenuta
─(S)─   ─(R)─
Come far “ricordare” al PLC un’azione: marcia/arresto,
prioritΓ  STOP e il circuito piΓΉ importante dell’automazione.

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