UNIMORE: Architetture e Programmazione di Controllori Industriali
UNIVE
UN
ENSIS ET REGIENSIS
II75
UNIMORE
UNIVERSITÀ DEGLI STUDI DI
MODENA E REGGIO EMILIA
Architetture e
Programmazione di
Controllori Industriali
Standard IEC 61131-3 e Linguaggi di Programmazione PLC
- Ladder logic o ladder diagram (LD) è uno
dei migliori linguaggi di programmazione PLC ed
standardizzato nella visuale per
IEC61131-3.
- LD deve la sua diffusione alla facilità di
utilizzo.
- La logica LD è molto simile alla logica dei
circuiti a relè.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
2
Definizione di Ladder Logic
- LD è un linguaggio di programmazione PLC
grafico che esprime operazioni logiche con
notazione simbolica.
- La logica ladder è composta da pioli di
logica, che formano quella che sembra una
scala, da cui il nome "Ladder Logic".
- La logica ladder è principalmente per le
operazioni logiche su bit, anche se è
possibile utilizzare ingressi analogici.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
3
Programmazione e Simboli in LD
- In LD la programmazione avviene combinando
diversi elementi grafici detti simboli.
- Essendo
stata
creata
originariamente
per
elettricisti
e
per
tecnici
con
background
elettrico i simboli ricordano quelli degli schemi
elettrici.
. Una grossa differenza tra LD gli schemi
elettrici e altri standard di programmazione è la
modalità
di
lettura
orizzontale
anziché
verticale.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
4
Vantaggi della Ladder Logic
- Facilità di Lettura
- Gli occhi naturalmente si muovono da sinistra
verso destra (per chi legge in questo senso)
per poi scendere verso la linea successiva.
- Facile da disegnare
- Man mano che si aggiungono linee logiche
queste vanno disegnate una sopra l'altra
andando a formare una «scala».
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
5
Ordine di Esecuzione in Ladder Logic
- Ordine di esecuzione
- L'ordine di esecuzione è il modo in
cui il PLC eseguirà la logica ladder.
Un PLC partirà sempre dalla prima
linea di logica e poi arriverà
leggerà le successive.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
6
Relè vs. Ladder Logic
- I
diagrammi
ladder
possono
assomigliare
molto a schemi elettrici verticali. Molti utenti
imparano a disegnare diagrammi logici ladder
in questo modo.
- I
sistemi di controllo elettrici e il PLC
funzionano in modi diversi.
- Il PLC prende una linea logica ladder (rung) e
la esegue e poi passa alla riga successiva
- Nei sistemi elettrici, è possibile eseguire
(attivare) più linee (percorsi di corrente)
contemporaneamente.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
7
Basi Logiche della Ladder Logic
Basi logiche
1
7
2
3
4
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
8
Creazione di un Rung e Scansione PLC
Basi logiche
- Disegnando due linee verticali si crea di fatto
una logica.
- Connettendo tra loro le linee si crea un rung
all'interno del quale si possono inserire i
simboli.
- Il PLC eseguirà per prima la scansione di tutti i
suoi ingressi poi il programma (leggendo un
rung per volta) ed in fine imposterà le uscite.
- IL PLC eseque un simbolo per volta.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
9
Istruzioni nella Ladder Logic
Istruzioni
Ogni simbolo nella logica ladder è un'istruzione.
10.0
Q0.0
1
In figura è mostrato un rung con all'interno due
istruzioni.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
10
Istruzione "Se Chiuso" (Normally Open)
Istruzione: Se chiuso (Normally Open)
- L'istruzione in figura è chiamata:
Se chiuso (normalmente aperto)
- E un istruzione condizionale.
- È usata per
per controllare se un bit è a 1 (On), ritornando 1
altrimenti 0.
- L'indirizzo IO.0 posto sopra di esso sta a
specificare quale bit debba essere controllato.
- L'indirizzo può essere un ingresso analogico o
digitale, un bit di memoria o un'uscita.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
11
Funzionamento dell'Istruzione "Se Chiuso"
Istruzione: Se Chiuso (Normally Open)
- L'istruzione funziona allo stesso modo di un
contatto aperto in un circuito elettrico.
- L'istruzione non ha memoria.
- Ad ogni istruzione deve essere assegnato un indirizzo nel
controllore.
- Nei PLC anche gli ingressi e le uscite sono bit di memoria. La
condizione è se il contatto è attivato o meno.
- Esempio: un dito che preme un pulsante.
- Esempio:
- All'avvio del ciclo di scansione: il PLC controllerà gli stati di tutti i suoi
ingressi. Scriverà quindi in memoria il valore booleano per questi stati
(0 o 1).
- Se un ingresso è BASSO, il bit sarà a 0. E se l'ingresso è ALTO, il bit di
memoria sarà impostato su 1.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
12
Istruzione "Bobina di Uscita"
Istruzione: Bobina di Uscita
- Viene utilizzato per accendere o
spegnere un bit.
- Nell'esempio la bobina è posizionata sulla destra, ciò
significa che tutte le istruzioni che vengono prima
(nello stesso
piolo) fungono da condizione per
quest'ultima. Il risultato sarà l'esame dell'istruzione Se
Chiusa.
- L'istruzione in se è un bit di memoria.
- È l'indirizzo in cui è scritto il risultato.
- Come viene usato questo valore è scritto nella istruzione
successiva.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
13
Ciclo di Esecuzione PLC
Istruzione: Ciclo
PLC
PLC Memory
Address
Value
0
10.0
0
0
INPUTS
0
6
Input Byte 10
10.2
10.3
10.4
10.5
10.6
10.7
GND
Q0.0
Output Byte Q0
Q0.1
Q0.
Q0.3
Q0.4
S
Q0.5
0
Q0.6
0
Q0.7
10.0
Q0.0
1
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
14
0
000
OUTPUTS
0
24VDC
10.1
Valutazione della Logica nell'Esempio Precedente
Istruzione: Ciclo
Valutiamo ora la logica dell'esempio precedente:
- Il PLC SCAN | Input -> IO byte.
- Esecuzione Program | IO.0 -> risultato XiC.
- Il PLC esegue prima la scansione di tutti i suoi ingressi, gli stati di
questi ingressi vengono quindi salvati in un byte di memoria(8 bit).
- Salvati gli stati di tutti gli ingressi, inizierà l'esecuzione del programma.
- La prima istruzione da eseguire è Se chiuso (normalmente aperto).
- Il risultato di questa istruzione sarà lo stesso dello stato del bit di
memoria.
- In uno stato normale (in cui il bit di memoria è 0) il contatto sarà
aperto e il risultato sarà 0.
- Se il bit di memoria è 1, il contatto si chiuderà e produrrà il risultato 1.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
15
Valutazione dell'Output della Logica
Istruzione: Ciclo
Valutiamo ora l'output della logica dell'esempio precedente:
- Risultato XiC -> Bobina di uscita.
- Bobina di uscita -> Byte di Output.
- La bobina di uscita utilizza il risultato dell'istruzione precedente come
condizione chiamato RLO (Result of Logic Operation).
- RLC è memorizzato in una posizione specifica della memoria del PLC.
- La bobina di uscita funziona in modo semplice: imposta
semplicemente il bit sullo stesso valore della sua condizione (RLO).
- Nel PLC tutte le uscite digitali sono assegnate a bit in memoria.
- Chiamato il byte di output (Q0), quindi i bit Q0.0 - Q0.7. Il risultato
della bobina di uscita verrà inserito nel bit di memoria Q0.0.
- Quando il PLC ha eseguito l'intero programma, imposterà le uscite. Lo
stato di ogni uscita è impostato sullo stesso stato dei bit di uscita.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
16
Istruzione "Output Latch" o "Self-Hold"
Istruzione: Output Latch o self-hold
10.0
Q0.0
1
Q0.0
In figura è mostrata un logica di tipo latch.
In questo caso vengono valutate due espressioni
per ottenere il valore del bit di uscita.
Affinché l'output sia attivato 10.0 o QO.0 devono
essere vere per ottenere l'uscita attiva.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
17
Comportamento dell'Output Latch
Istruzione: Output Latch
Supponiamo
che
l'ingresso
digitale
sia un
pulsante momentaneo, il pulsante sara attivo solo
finché lo si preme.
L'output sarà attivo solo finche l'input è attivo.
Vogliamo che l'output sarà attivo anche se il
pulsante non è fisicamente premuto: con una
logica di tipo latch o self-hold, si può ottenere
questo comportamento.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
18
Esempio di Logica Latch o Self-Hold
Istruzione: Output Latch o self-hold
Dall'esempio:
Alla prima esecuzione l'uscita verrà attivata.
Al secondo ciclo l'uscita è ancora attiva poiché il pulsante è stato
premuto nell'ultimo ciclo di scansione.
Anche questa volta il PLC leggerà gli ingressi e li salverà nel relativo
byte di memoria.
Nel bit di memoria I0.0 il controllore memorizza ora uno "0".
Il primo esame se l'istruzione chiusa con I0.0 come condizione verrà
valutato come false o "0".
Ma c'è un'altra 'istruzione Se Chiusa parallela all'altra che valuta il bit
Q0.0. che sarà valutato come true o "1", poiché l'output è ancora attivo.
Finché il bit di memoria di uscita è "1", l'uscita verrà attivata. Agisce
come una condizione su se stessa.
Questa realizza una logica di tipo OR: I0.0 O Q0.0 devono essere true
per attivare l'uscita.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
19
Istruzione "Se Aperto"
Istruzione: Se aperto
- Questa
istruzione
funziona
Esattamente
all'opposto del Se Chiuso.
- Se l'ingresso è 0 l'uscita sara 1 e viceversa.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
20
Funzionamento della Logica con "Se Aperto"
Istruzione: Se aperto
10.0
10.1
Q0.0
1
Q0.0
- Se valutiamo il funzionamento della logica in
figura l'introduzione del l'operatore causa un'
inversione della logica, chiudendo l'output.
- Per riaccendere l'uscita bisogna sia arrivare il
bit I0.0.
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
21
Interruzione con Logica "Se Aperto"
Istruzione: Se aperto
10.0
10.1
Q0.0
1
Q0.0
- Utilizzando questa logica possiamo creare un
interruzione senza modificare la I0.0
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
22
Istruzione "Set Reset" (Latch/Unlatch)
Istruzione: Set Reset
- Note anche come Latch/Unlatch.
. Sono nate per semplificare la logica di tipo
Output Latch permettono di agire sullo stesso
bit.
S)
R
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
23
Problema di Priorità nell'Istruzione Set Reset
Istruzione: Set Reset
- Questo tipo di logica ha un problema, quale dei
due comandi ha la priorità sull'altro?
- Quello che accade è che l'ultimo che viene
eseguito è quello che da lo stato al bit.
- Se inseriamo un set in differenti POU, l'ultima
che viene eseguita da lo stato al bit.
S)
R
UNIMORE
27/11/2023
Architetture e Programmazione di Controllori Industriali
24