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
| Modulo | 2 β Ladder Logic Base |
| Lezione | 02 di 15 |
| Livello | β Principiante |
| Tempo | ~35 minuti |
| Elementi nuovi | 3 (Contatto NA, NC, Bobina) |
| Prerequisiti | Lezione 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:
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) β ββ€ ββ
ββ€ ββ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) β ββ€/ββ
ββ€/ββΓ 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) β β( )β
β( )β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.
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.
- Aggiungi un Network: clicca “+” Aggiungi Network” nella Toolbox
- Trascina un Contatto NA dalla Toolbox nella sezione ingressi (sinistra) del Network
- Configura il contatto: clicca sull’elemento β nel pannello di configurazione seleziona tipo
I, byte0, bit0β conferma. Ora il contatto mostraI0.0 - Trascina una Bobina nella sezione uscite (destra) del Network
- Configura la bobina: clicca β seleziona tipo
Q, byte0, bit0β conferma. Ora mostraQ0.0 - Premi RUN nella toolbar
- Testa: clicca su
I0.0nel 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
| Elemento | Simbolo | Sezione | Quando conduce | Quando blocca |
|---|---|---|---|---|
| Contatto NA | ββ€ ββ | Ingressi | Variabile = 1 | Variabile = 0 |
| Contatto NC | ββ€/ββ | Ingressi | Variabile = 0 | Variabile = 1 |
| Bobina | β( )β | Uscite | Scrive 1 se corrente arriva, 0 se non arriva | |
| Operazione logica | Struttura Ladder | Regola |
|---|---|---|
| AND | Contatti in serie | Tutti devono essere chiusi |
| OR | Contatti in parallelo | Almeno uno deve essere chiuso |
| NOT | Contatto NC | Invertito 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.
- Crea un Network con un Contatto NA configurato come
I0.0 - Aggiungi un secondo Contatto NA in serie configurato come
I0.1 - Aggiungi una Bobina
Q0.0 - 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).
- Crea un contatto NA
I0.0 - Tasto destro sul contatto β “Aggiungi in parallelo” β Contatto NA
- Configura il nuovo contatto come
I0.1 - Aggiungi la Bobina
Q0.0 - 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.
- Trascina un Contatto NC (non NA!) e configuralo come
I0.0 - Aggiungi una Bobina
Q0.0 - 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.
- Crea il parallelo I0.0 / I0.1 (come nell’esercizio 2.3)
- Aggiungi un Contatto NC in serie dopo il parallelo, configurato come
I0.2 - Aggiungi la Bobina
Q0.0 - 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:
- Network 1: I0.0 AND I0.1 β Q0.0 (lampada verde β entrambi i sensori attivi)
- Network 2: I0.0 AND NOT I0.1 β Q0.1 (lampada rossa β solo il primo sensore attivo)
- Aggiungi un commento significativo a ciascun Network
- 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