You are on page 1of 35

AUTOMAZIONE INDUSTRIALE

A.A. 2021/22

ESERCITAZIONE 2
ARGOMENTI:
▪ Il linguaggio ladder: istruzioni fondamentali
▪ Logica booleana e teorema di De Morgan
▪ Esercizi di semplificazione

OBIETTIVI DELLA LEZIONE:


▪ Fornire le conoscenze del linguaggio ladder necessarie alle
attività di laboratorio
2
LADDER LOGIC

Introduzione: simboli base del ladder

Contatto N.O. (N.O. Contact)


▪ Un contatto è la rappresentazione di un
segnale in ingresso. Se l’elemento associato al
contatto è ON, diciamo che il contatto è
chiuso.
▪ Il contatto chiuso permette alla corrente di
passare.
▪ Un contatto può essere associato a ingressi,
relay interni (MB), timer, contatori, bit di
registri e uscite.
LADDER LOGIC

Introduzione: simboli base del ladder

Contatto N.C. (N.C. Contact)


▪ Un contatto può anche essere usato
nella forma inversa
▪ Un contatto inverso permette il
passaggio della corrente quando
l’elemento associato è OFF (zero logico).
▪ Un contatto inverso è anche detto
normalmente chiuso.
LADDER LOGIC

Introduzione: simboli base del ladder

Bobina (Coil)
▪ Una bobina raccoglie il risultato della rete alla sua sinistra.
Se, negli elementi a sinistra, c’è almeno un percorso che
permette il passaggio di corrente (1 logico, alto, ON) la
bobina è alimentata. Quando non c’è almeno un percorso
che permetta il passaggio di corrente, anche lo stato della
bobina commuta al valore logico zero (basso, OFF).
▪ Una bobina può essere associata ad un’unscita, a una
bobina interna o a un bit di registro.
▪ Dato il modo in cui il PLC esegue il suo ciclo di lavoro, una
bobina associata ad un dato elemento dovrebbe essere
usata una sola volta in un programma
LADDER LOGIC

Introduzione: simboli base del ladder

Contatto (trigger)
▪ Due ulteriori tipi di contatto sono quelli che
rilevano I fronti di salita e discesa (Positive and
Negative Transitions).
▪ Hanno lo scopo principale di comandare
l’esecuzione di un comando una sola volta, cioè
per un solo ciclo di scansione
▪ Un fronte di salita si attiva quando un ingresso
passa OFF da ON, un fronte di discesa si attiva
quando un ingresso passa da ON a OFF.
LADDER LOGIC

Introduzione: simboli base del ladder

Set\Reset
(latches)

▪ Può essere necessario fissare lo stato di


una uscita in modo che non cambi anche
sa cambia la condizione a monte.
▪ Una volta che un comando set è
assegnato, l’uscita rimane ON finché non
si assegna un comando reset (e
viceversa)
INDIRIZZI SIEMENS

▪ Ogni costruttore E Ingressi Interfacce da processo a controllore

utilizza un A Uscite Interfacce da controllore a processo


M Merker Memoria per risultati binari intermedi
proprio formato. T Timer Memoria per attuare temporizzazioni

Ad esempio: Z Contatori Memoria per attuare conteggi

ALLEN BRADLEY (ROCKWELL)

I Ingressi Interfacce da processo a controllore


O Uscite Interfacce da controllore a processo
T Timer Memoria per attuare temporizzazioni
C Contatori Memoria per attuare conteggi

BECKHOFF

I Ingressi Interfacce da processo a controllore


Q Uscite Interfacce da controllore a processo

MITSUBISHI

X Ingressi Interfacce da processo a controllore


Y Uscite Interfacce da controllore a processo
SISTEMI DI PROGRAMMAZIONE

▪ Il programma viene scritto in un linguaggio grafico o testuale


▪ poi viene compilato (cioè convertito in linguaggio macchina, eseguibile dal PLC)
▪ dopo la compilazione, il programma viene caricato sul PLC per essere eseguito
▪ in molti casi (ma non sempre) sul PLC viene memorizzato anche il programma
sorgente per facilitare la manutenzione
SISTEMI DI PROGRAMMAZIONE - PASSATO
Un tempo erano sistemi ad hoc, indicate con vari
nomi:

▪ Industrial Terminal
( Allen Bradley )

▪ Program Development Terminal


( General Electric )

▪ Programming Panel
( Gould Modicon )

▪ Programmer
( Square D )

▪ Program Loader
( Idec-Izumi )

▪ Programming Console
L’attitudine a chiamare lo stesso
( Keyence / Omron ) oggetto in modi diversi è
esemplificativa della resistenza del
In effetti spesso si trattava di computer portatili settore alla standardizzazione.
specializzati per questo scopo.
SISTEMI DI PROGRAMMAZIONE - PRESENTE
▪ Molto spesso in azienda si ha ancora a che fare con i vecchi sistemi (che
accompagnano la vita dell’impianto).

▪ I sistemi più moderni sono ambienti IDE (Integrated Development Environment) che
girano su PC.

▪ Esempi: Allen Bradley → Studio 5000


Siemens → TIA Portal
Omron → Sysmac Studio
Beckhoff → TwinCAT

▪ Integrano sistemi per la programmazione di altri componenti (robot, schede assi,


pannelli HMI…)

▪ Spesso permettono di usare linguaggi di alto livello (configuratori grafici,


importazione di codice da Matlab/Simulink, programmazione in C, ecc.)

▪ Spesso includono anche dei sistemi di simulazione/debug


PLC E AMBIENTE DI PROGRAMMAZIONE

Office backup
Cloud
ESEMPIO – IL SERBATOIO
ESEMPIO – IL SERBATOIO
STRUTTURE STOP PREVALENTE
▪ Esempio di circuito, e corrispondente rung di ladder (da usare
in alternativa).
STRUTTURE START PREVALENTE
▪ Esempio di circuito, e corrispondente rung di ladder (da usare
in alternativa)
ESEMPIO DI
SEMPLIFICAZIONE/MINIMIZZAZIONE
Trovare, usando uno qualunque dei metodi studiati, un programma più
breve ma equivalente.
(La soluzione migliore è quella con il programma più semplice possibile
a parità di funzionamento)

17
SOLUZIONE
La terza riga rende la prima superflua e, se A è vero, anche la seconda.
Quest’ultima dunque serve solo a considerare il caso in cui A sia falso
mentre B e C sono veri.

Risulta quindi:

18
ALGEBRA DI BOOLE
• George Boole ha sviluppato una descrizione algebrica dei
processi che riguardano il pensiero logico e il ragionamento,
fino ad allora studiati solo in ambito filosofico
• Questo formalismo è detto Algebra booleana
• Claude Shannon più tardi ha dimostrato che l’algebra booleana
può essere usata per descrivere circuiti digitali
• I circuiti digitali sono circuiti che commutano tra un numero finito di
stati, quasi sempre due (ad esempio, 0 e 1).
• L’algebra booleana è un potente strumento per analizzare e
progettare circuiti logici.

19
LOGICA DIGITALE

Un segnale digitale utilizza una codifica convenzionale per


trasmettere le informazioni, che non è obbligatoriamente
quella dell’interruttore aperto = 0 / interruttore chiuso = 1

20
OPERAZIONI LOGICHE DI BASE

21
TEOREMA DI DE MORGAN
• Il complemento dei prodotti(AND) è la somma (OR) dei
complementi.
⚫ NOT (X AND Y) = NOT X OR NOT Y
• Il complemento della somma (OR) è il prodotto (AND) dei
complementi.
⚫ NOT (X OR Y) = NOT X AND NOT Y
• Facilmente generalizzabile a n variabili
• Può essere dimostrato in vari modi, il più semplice (nel caso a 2
variabili) è tramite una tabella di verità

22
DIMOSTRAZIONE

NOT (X AND Y) = NOT X OR NOT Y

23
RAPPRESENTAZIONE MEDIANTE LADDER
A B 01 A 01

B
equivale a:
equivale a:
A 02
A B 02
B

02 01 02 01

24
ESERCIZIO 1
Trovare, usando uno qualunque dei metodi studiati, un programma più
breve ma equivalente.
(La soluzione migliore è quella con il programma più semplice possibile
a parità di funzionamento)

25
SOLUZIONE ESERCIZIO 1
La riga di assegnazione di O1 non è semplificabile e va riportata tale e
quale. Non deve essere omessa, altrimenti, anche gestendo
correttamente le logiche equivalenti per O2, il valore di O1 (e i carichi
ad essa collegati) sarebbero in uno stato indeterminato.

Risulta quindi:

27
ESERCIZIO 2
Trovare, usando uno qualunque dei metodi studiati, un programma più
breve ma equivalente.
(La soluzione migliore è quella con il programma più semplice possibile
a parità di funzionamento)

28
SOLUZIONE ESERCIZIO 2
La riga di assegnazione di O2 non è semplificabile e va riportata tale e
quale. Non deve essere omessa, altrimenti, anche gestendo
correttamente le logiche equivalenti per O1, il valore di O2 (e i carichi
ad essa collegati) sarebbero in uno stato indeterminato.
Nel valutare la riga 3 si può osservare che il secondo termine (AND NOT
A) impone che O1 sia vero (poiché A deve essere falso) e quindi, dato
che O1 ha il valore assegnato nella riga 1, B dev’essere falso, il che
rende anche superflue le altre condizioni in parallelo.

Risulta quindi:

29
ESERCIZIO 3
Trovare, usando uno qualunque dei metodi studiati, un programma più
breve ma equivalente.
(La soluzione migliore è quella con il programma più semplice possibile
a parità di funzionamento)

30
SOLUZIONE ESERCIZIO 3

Infatti, O1 si accende solo se B è vero e A è falso (parte centrale).


Di conseguenza, la prima parte della terza riga può servire ad accendere
O1 solo se anche C è vero.
Occorre poi verificare che le tre condizioni così trovate possano anche
soddisfare la terza parte della terza riga, il che avviene per il quarto
termine (O1 falso e C vero).

31
ESERCIZIO 4
Trovare, usando uno qualunque dei metodi studiati, un programma più
breve ma equivalente.
(La soluzione migliore è quella con il programma più semplice possibile
a parità di funzionamento)

32
SOLUZIONE ESERCIZIO 4
Prima di tutto occorre notare che la prima riga, pur essendo sovrascritta
dalla seconda, non è ininfluente, perché fa sì che nella valutazione della
seconda riga O1 abbia sempre lo stesso valore di A.
Risulta quindi:

Infatti, se B è falsa O1 è spento.


Se B è vera, questa parte:

è sempre vera.
La terza parte è vera comunque, avendo in parallelo O1 (che è uguale ad
A) e A negato.
33
ESERCIZIO 5
Trovare, usando uno qualunque dei metodi studiati, un programma più
breve ma equivalente.
(La soluzione migliore è quella con il programma più semplice possibile
a parità di funzionamento)

34
SOLUZIONE ESERCIZIO 5

35

You might also like