Sistemi a logica programmabile - PLC

I sistemi automatici di regolazione e controllo
Per meglio comprendere cosa è un PLC e a cosa serve iniziamo con alcuni concetti e definizioni
riguardanti il contesto in cui questi dispositivi operano.
Definiamo quindi sistema un insieme di parti meccaniche, pneumatiche, idrauliche, elettriche ed
elettroniche assemblate e connesse fra loro in modo da ottenere un'entità unica che funzioni in un
determinato modo. Corrispondono a questa definizione numerosi dispositivi non solo di uso industriale,
ma anche comune, quali elettrodomestici, veicoli, computer, ecc.
Definiamo ora sistema automatico un sistema in grado di compiere una successione di azioni senza
l'intervento esterno, ossia in modo autonomo. Si parla inoltre di: regolazione quando un sistema svolge
azioni tese ad ottenere dei valori prefissati delle grandezze caratteristiche di un processo; di comando
quando il sistema esegue delle semplici azioni per ottenere un determinato effetto; di controllo quando,
oltre alla funzione di comando, il sistema verifica l'esecuzione dell'azione impartita.
I termini controllo e comando spesso sono usati per indicare la stessa azione e la confusione deriva
dall'errata traduzione che viene fatta dei termini to control e controller che in inglese esprimono il concetto
di comando, ma sono stati tradotti con controllare e controllore che in italiano esprimono il concetto di
“verifica”. Quindi i controller più esattamente sono dispositivi di comando e controllo allo stesso tempo.
In ogni sistema automatico si possono individuare due o tre parti costituenti:
Segnali
ingresso
Logica di
comando
Attuatori
Segnali
uscita
Segnali
ingresso
Logica di
comando
Attuatori
Segnali
uscita
Trasduttori
Anello APERTO – OPEN Loop
Retroazione - Feedback
Campo - Field
Anello CHIUSO – CLOSED Loop
L'unità di comando invia dei segnali (elettrici) agli
attuatori; è detta anche logica perché gestisce prevalentemente segnali ON/OFF ed esegue su di essi
delle operazioni booleane, ossia logiche (AND, OR, NOT). Può ricevere anche dei segnali dall'esterno
(da operatore macchina, o altri sistemi automatici con cui interagisce) o inviare segnali in uscita. Ad
esempio una macchina semiautomatica riceve il segnale di avvio ciclo dall'esterno (operatore) per poi
eseguire il ciclo in autonomia; a fine ciclo emette un segnale in uscita di fine ciclo.
Gli attuatori sono tutti i dispositivi che producono un'azione fisica: cilindri e motori pneumatici e
oleodinamici, motori elettrici, lampade segnalazione, generatori calore, ecc. Nel blocco degli attuatori
sono compresi anche gli azionamenti, ossia quei dispositivi che adattano i segnali elettrici provenienti
dall'unità di comando agli attuatori (relè, elettrovalvole, driver motori, ecc.)
I trasduttori sono dispositivi elettrici o elettronici che trasformano le grandezze fisiche rilevate dal
campo (field) in segnali elettrici; il campo è la zona controllata, ossia la macchina o l'impianto. Ne deriva
che i trasduttori si trovano spesso a stretto contatto con gli attuatori e sono di molteplice natura e tipo: di
posizione, velocità, accelerazione, forza, temperatura, umidità, pressione, portata, ecc.
Osservazioni: Dalle definizioni prima date ne deriva che i sistemi di regolazione e controllo sono del tipo
ad anello chiuso, mentre i comandi sono ad anello aperto.
Nei sistemi ad anello chiuso la sequenza delle operazioni è scandita dai segnali di retroazione, oltre che
dai segnali in ingresso; in quelli ad anello aperto invece le sequenze sono temporizzate oltre che
comandate dall'esterno.
Concentriamo ora la nostra attenzione sull'unità di
comando; analizziamo un semplicissimo sistema di
controllo di un cilindro pneumatico che esegue il
seguente ciclo: START dall'esterno per la corsa di
avanzamento e ritorno automatico. Pur nella sua
estrema semplicità è questo un sistema automatico a
tutti gli effetti: Cilindro = attuatore, finecorsa =
trasduttori, collegamenti (cavi) = logica di comando.
Lo schema elettrico a lato realizza il suddetto
funzionamento mediante dei collegamenti fra
trasduttori
ed
azionamento
dell'attuatore
Sistemi a logica programmabile – Appunti per il corso di Sistemi e Automazione a cura Prof. A. Del Sole
Pag. 1 / 6
(elettrovalvola). Possiamo osservare che tale circuito mette in atto le seguenti espressioni logiche che
rappresentano matematicamente il funzionamento del circuito: A+ = Start * a 0 ; A- = a1; ossia una porta
logica AND ed una YES. Poiché ciò è ottenuto mediante dei semplici collegamenti elettrici la logica di
comando realizzata è detta: logica cablata.
Il PLC
Vediamo ora come lo stesso risultato può essere
ottenuto
mediante
un
dispositivo
a
logica
programmabile (PLC - Programmable Logic
Controller). I collegamenti non sono più diretti fra
trasduttori ed attuatori, ma entrambi questi elementi
vengono collegati al PLC: i trasduttori ed il pulsante di
Start (comando esterno) ai morsetti di ingresso; gli
attuatori a quelli di uscita. I collegamenti tra i segnali in
ingresso (input) e quelli in uscita (output) viene
realizzato dal PLC sulla base del programma caricato
dall'utente. In tale programma quindi, mediante un
opportuno linguaggio di programmazione vengono scritte le espressioni logiche che rappresentano il
funzionamento del circuito.
Anche se per un semplicissimo automatismo come questo l'utilizzo del PLC può sembrare una inutile
complicazione, oltre che un aumento dei costi rispetto a dei semplici cavi elettrici, in realtà molti sono i
vantaggi del PLC rispetto alla logica cablata, anche per piccoli impianti costituiti da pochi attuatori e
trasduttori. Infatti il mercato oggi offre a costi contenuti i micro-PLC (8-10 Inputs; 4-8 Outputs) facili da
programmare con linguaggi grafici, che portano i vantaggi della logica cablata anche per piccole
applicazioni; tant'è che molto più spesso si usano i PLC nella building automation (automazione degli
edifici) per comandare impianti di condizionamento, di illuminazione, serramenti.
I vantaggi sono: cablaggi semplificati, maggiore affidabilità, possibilità di modificare il ciclo via software
senza intervenire sull'impianto (flessibilità), elevata disponibilità di contatori, timer, memorie senza
aggiungere elementi elettromeccanici all'impianto, possibilità di simulare preventivamente, via software,
il funzionamento dell'impianto, interfaccia uomo-macchina facilitata grazie all'uso di pannelli operatore. I
grossi PLC industriali inoltre permettono di svolgere calcoli aritmetici, di essere collegati in rete per la
gestione integrata di grossi impianti produttivi, di estendere, mediante il bus di campo, il proprio campo
d'azione anche a centinaia di metri di distanza.
Prima di passare alla programmazione è necessario analizzare come è costituito all'interno un PLC, le
parti che lo compongono e capire il suo funzionamento. Il mercato oggi offre possibilità di configurazioni
molto diverse che possiamo raggruppare in due categorie:
PLC monoblocco: così detti perché comprendono in unico
corpo tutte le parti costituenti e quindi hanno un numero fisso
e limitato di ingressi ed uscite. Trattasi solitamente di PLC di
gamma medio bassa con potenzialità limitate; però sono
economici, semplici da installare e programmare, pur
garantendo la gestione di macchine anche abbastanza
complesse.
PLC modulari: vengono composti sulla
base di un telaio (rack) dotato di
alimentatore e di una serie di vani in cui
vengono inseriti i vari moduli (CPU,
Schede I / O, ecc.). Il collegamento fra
detti moduli avviene mediante un bus per
la trasmissione dell'alimentazione e dei
dati fra componenti e CPU. L'evidente vantaggio di questi è che vengono composti e configurati in base
Sistemi a logica programmabile – Appunti per il corso di Sistemi e Automazione a cura Prof. A. Del Sole
Pag. 2 / 6
all'impianto da controllare, come n° di ingressi e di uscite funzioni speciali di stampa, comunicazione,
controllo motori, ecc.
Monoblocco o modulare che sia un PLC è sempre costituito secondo il seguente schema funzionale, che
quindi può ritenersi valido per buona parte di essi, se dotati di soli ingressi ed uscite ON/OFF.
Il cuore del sistema è l'unità centrale o CPU (Central Processing Unit); trattasi di un microprocessore
che elabora le istruzioni del programma utente leggendo i dati nella memoria degli ingressi, eseguendo
su di essi le operazioni logiche e scrivendo i risultati nella memoria delle uscite. La CPU inoltre, dovendo
gestire il funzionamento di tutto il sistema svolge ulteriori compiti: controllo delle schede di ingresso ed
uscita, esecuzione di temporizzazioni e conteggi, esecuzione di operazioni matematiche,
memorizzazioni intermedie di dati, gestione di porte di comunicazione ausiliarie, ecc. E' chiaro che,
essendo molteplici i compiti da svolgere, risulta importante per le prestazioni di tutto il sistema la velocità
di elaborazione del processore le cui prestazioni si evolvono parallelamente a quelle dei PC.
La CPU per svolgere i suoi compiti ha bisogno di opportuni supporti di memoria in cui salvare le
informazioni. Vi sono diversi tipi di memorie elettroniche:
RAM (Random Access Memory) è una memoria caratterizzata dal permettere l'accesso diretto a
qualunque indirizzo di memoria in modo veloce; è riscrivibile e volatile, ossia perde il contenuto se non
alimentata (spegnimento PLC). Per renderla non volatile occorre alimentarla con una pila tampone
(RAM tamponata). Tale memoria è impiegata per via della sua velocità in lettura e scrittura come
memoria di lavoro e memoria dati; la volatilità in tal caso non è un problema in quanto tali dati vengono
aggiornati in continuazione durante il funzionamento e quindi anche all'avvio. Per usi particolari che
richiedono il salvataggio dei dati anche in caso di interruzione dell'alimentazione elettrica si ricorre alle
RAM tamponate.
ROM (Read Only Memory) è una memoria di sola lettura, permanente, che non può essere modificata.
Viene utilizzata nel PLC per contenere il Sistema Operativo, insieme di programmi che ne permettono il
funzionamento, che quindi non può essere modificato dall'utente.
EPROM (Erasable Programmable Read Only Memory), è una memoria di sola lettura cancellabile
tramite raggi ultravioletti e riprogrammabile con un apposito programmatore. Per essere riprogrammata
deve quindi essere rimossa dal dispositivo in cui è installata; ormai tecnicamente superata dalla:
EEPROM (Electrically Erasable Programmable Read Only Memory), memoria non volatile per la quale
le operazioni di scrittura, cancellazione e riscrittura hanno luogo elettricamente, senza rimuoverla dalla
sua sede. E' quindi usata per memorizzare quei dati che devono essere mantenuti quando viene tolta
l'alimentazione elettrica, ma che possono essere modificati. E' idonea per contenere il programma utente
che non si può cancellare allo spegnimento; è paragonabile al hard disk dei PC. Il programma utente
comunque per poter essere letto velocemente dalla CPU, viene da questa copiato in un'area della RAM
all'avvio del PLC. Si stanno diffondendo ultimamente anche le FLASH EPROM più veloci delle
precedenti (usate in tutte le schede di memoria e pen drive oramai diffusissime)
La scheda o modulo Ingressi collega il PLC ai trasduttori dell'impianto automatico; riceve da questi i
segnali (generalmente tensioni a 24V c.c.) e li trasforma in bit della memoria dati in ingresso (0=tensione
assente, 1=tensione presente). E' importante che vi sia esatta corrispondenza biunivoca fra morsetti
Sistemi a logica programmabile – Appunti per il corso di Sistemi e Automazione a cura Prof. A. Del Sole
Pag. 3 / 6
della scheda e bit della memoria, per questo vi è un opportuno circuito di indirizzamento.
La scheda o modulo Uscite collega il PLC agli attuatori mediante gli azionamenti; essa svolge un
compito simmetrico rispetto alla precedente: legge infatti i bit della memoria dati in uscita e li trasforma in
segnali elettrici (tensioni) da inviare ai relativi morsetti; fornisce quindi alimentazione ai dispositivi
collegati (elettrovalvole, relè, lampade, ecc.). Ovviamente alle uscite del PLC si possono collegare solo
dispositivi di bassa tensione e potenza perché questi risultano tutti a carico dell'alimentatore. Una
precisazione a tal proposito: nei micro-PLC spesso ad ogni uscita è associato un piccolo relè, interno al
PLC stesso, che viene eccitato quando è attiva l'uscita relativa. In questo modo alimentando
opportunamente il relè si possono comandare anche carichi di potenza elevata (es. 230V – 10A) senza
nessun aggravio per l'alimentatore; ciò da molta flessibilità applicativa a questi piccoli dispositivi.
Le schede di ingresso ed uscita rappresentano quindi l'interfaccia fra la logica interna del PLC ed i
dispositivi del campo; queste vedono da un lato l'elettronica interna che opera a 5V e correnti dell'ordine
dei μA e dall'altro i dispositivi dell'impianto che operano a 24V, ma anche a 48, 110, 230 Volt e che
possono generare disturbi e sovratensioni a più alto livello, essendo il campo, dal punto di vista elettrico
ed elettromagnetico, un vero e proprio campo di battaglia. Per tale motivo tali interfacce non effettuano
solo un semplice collegamento ma devono anche adattare e filtrare i segnali che ricevono per non
danneggiare l'elettronica interna, isolando l'ambiente esterno da quello interno.
Si pensi all'ambiente di una biblioteca assorto e silenzioso e ad uno stadio di calcio nel corso di un
infuocato derby, se fossero in diretta comunicazione cosa resterebbe dei libri e degli studiosi !!!
A tale scopo sono dotate per ogni ingresso/uscita di un optoisolatore (detto
anche fotoaccoppiatore), componente elettronico che permette di trasferire
un segnale fra due circuiti mantenendo l'isolamento galvanico (ossia
elettrico) fra gli stessi. Viene realizzato normalmente accoppiando
otticamente un LED con un elemento fotosensibile (fotodiodo). Le
accensioni del LED legate al segnale in ingresso vengono rilevate dal
fotodiodo ottenendo il trasferimento dell'informazione da un circuito all'altro
senza che vi sia continuità elettrica.
Procedendo con l'analisi dello schema vediamo la presenza di un alimentatore che può essere sia
interno al PLC che esterno e che fornisce tensioni e correnti necessarie al funzionamento di tutti i circuiti
interni e, come abbiamo visto, anche di tutti i dispositivi collegati alle uscite.
L'interfaccia di programmazione è una porta mediante la quale il PLC può essere collegato e colloquiare
con il dispositivo di programmazione. Quest'ultimo, sempre più diffusamente, è un normale PC nel quale
si esegue un apposito programma fornito dal costruttore del PLC. Mediante questo possiamo non solo
scrivere il programma e caricarlo nel PLC per la sua esecuzione, ma possiamo anche effettuare una
simulazione del suo funzionamento prima di caricarlo, possiamo stamparlo, salvarlo su Hard Disk, ecc.
Grazie allo schema semplificato finora analizzato del hardware possiamo capire il funzionamento del
PLC basato su un ciclo di lavoro della CPU che viene ripetuto in continuazione quando si trova in
modalità RUN; l'alternativa a questa è la modalità STOP nella quale non viene eseguito nessun ciclo.
Tale ciclo di lavoro è chiamato scansione e si può meglio descrivere con un diagramma di flusso.
ACQUISIZIONE STATO INGRESSI
Rilevamento della presenza di segnali in ingresso
ed impostazione dei bit dell'Immagine ingressi
ELABORAZIONE DEL PROGRAMMA
Esecuzione in successione delle operazioni logiche
ed aritmetiche ed allocazione dei risultati nelle
Memorie interne e nell'Immagine Uscite
AGGIORNAMENTO STATO USCITE
Attivazione o disattivazione delle uscite
in base al valore dei rispettivi bit
Sistemi a logica programmabile – Appunti per il corso di Sistemi e Automazione a cura Prof. A. Del Sole
Pag. 4 / 6
La scansione appena descritta è detta sincrona per ingressi ed uscite in quanto gli ingressi vengono
letti contemporaneamente, così come contemporaneamente vengono aggiornate le uscite alla fine
dell'elaborazione del programma; rappresenta lo standard con cui lavorano i PLC. Questa, per quanto
possono essere veloci i processori che costituiscono la CPU, comporta comunque un lasso di tempo fra
la lettura degli ingressi e l'aggiornamento delle uscite, legato al tempo di elaborazione del programma
che a sua volta dipende dalla lunghezza dello stesso. Ne consegue che il PLC presenta un ritardo (5 ms
basso, 100 ms medio-alto) fra l'arrivo di un segnale e l'attivazione di un'uscita a questo collegata.
Quando tale ritardo non è compatibile col processo da controllare si ricorre a PLC che hanno degli
ingressi veloci (interrupt) con la capacità di interrompere il normale svolgimento del programma,
eseguire le operazioni ad essi collegate con rapido aggiornamento di relative uscite e successiva ripresa
dello svolgimento del programma principale.
Finora abbiamo sempre parlato di segnali, sia in ingresso che in uscita di tipo ON/OFF; sono questi
segnali digitali, in quanto rappresentabili mediante un bit, ossia un numero binario (digitale = numerico
– digit = cifra). Per un elaboratore numerico non vi sono quindi difficoltà a trattare tali segnali.
Spesso però nei sistemi automatici sono presenti dei segnali analogici, ossia che variano con continuità
nel tempo assumendo un numero indefinito di valori. Per poter essere elaborati dal PLC detti segnali
devono essere digitalizzati, ossia trasformati in una sequenza di valori numerici; tale funzione viene
svolta dalle schede di ingresso analogiche dotate di particolari circuiti integrati detti convertitori A/D.
Vediamo
in
cosa
consiste,
semplificando e schematizzando,
questo processo di digitalizzazione,
aiutandoci col grafico a lato.
Innanzitutto il segnale analogico è
rappresentato da una tensione o una
corrente che deve essere compresa
entro un determinato intervallo; nel
nostro caso una tensione 0-10 V. Tale
intervallo
viene
suddiviso
dal
convertitore in un numero finito di
sotto-intervalli in base alla sua
risoluzione, ossia in base al numero
di bit di cui dispone: 8 bit, 28=256
livelli, 10 bit = 1024 livelli. Ogni livello di tensione viene rappresentato mediante un numero binario.
Anche il tempo viene suddiviso in intervalli in base alla frequenza di campionamento: ad esempio 8
kHz significa 8000 volte al secondo, quindi l'intervallo di tempo è pari a 1/8000 = 125 μs. In sostanza: ad
ogni intervallo di tempo il convertitore legge il segnale analogico in ingresso (campionamento) e lo
approssima al più vicino livello (quantizzazione); emette quindi in uscita un numero binario
corrispondente al livello di quantizzazione attribuito al segnale in quell'istante.
Osservazioni: il segnale analogico in ingresso può assumere infiniti valori entro l'intervallo ammesso, per
questo è detto continuo; il segnale digitale in uscita invece può assumere solo un numero finito
(limitato) di valori, per questo è detto discreto.
Il segnale digitalizzato è un'approssimazione del segnale analogico; tale approssimazione migliora
all'aumentare della risoluzione e della frequenza di campionamento.
Il convertitore emette continuamente in uscita dei valori, anche se il segnale in ingresso non varia.
Poiché la rapidità con cui possono variare i
segnali analogici è di diversi ordini di grandezza
inferiore rispetto alla rapidità con cui convertitori
e CPU operano, se la scheda ha diversi ingressi
analogici si usa un solo convertitore per tutti. È
necessario quindi un dispositivo, detto
multiplexer
che
ciclicamente
commuta
l'ingresso del convertitore con i diversi ingressi
della scheda. La CPU che comanda il
multiplexer “sa” a quale ingresso corrispondono
i bit in uscita dal convertitore in un determinato
istante.
Sistemi a logica programmabile – Appunti per il corso di Sistemi e Automazione a cura Prof. A. Del Sole
Pag. 5 / 6
Lavoro analogo ma opposto svolgono le schede di uscita analogiche che mediante il convertitore
D/A ed il demultiplexer permettono quindi al PLC di produrre dei segnali analogici mediante i quali
ottenere: variazione n° di giri di un motore, posizionamento di assi, regolazione della forza di un
attuatore, ecc.
Concludo questa sintetica trattazione sul PLC riportando la definizione che ne danno le norme CEI EN
61131 (insieme di norme riguardanti tali dispositivi e la loro programmazione):
Sistema elettronico a funzionamento digitale, destinato all'uso industriale, che utilizza una memoria
programmabile per l'archiviazione interna di istruzioni orientate all'utilizzatore per l'implementazione di
funzioni specifiche, come quelle logiche, di sequenziamento, di temporizzazione, di conteggio e di
calcolo aritmetico, per controllare, mediante ingressi e uscite sia digitali che analogiche, vari tipi di
macchine e processi. Sia il PLC che le periferiche associate sono progettati in modo da poter essere
facilmente integrati in un sistema di controllo industriale e utilizzati in tutte le funzioni previste.
Sistemi a logica programmabile – Appunti per il corso di Sistemi e Automazione a cura Prof. A. Del Sole
Pag. 6 / 6