unità
21. Introduzione
ai PLC
I controllori studiati ➜nell’unità 20 possono essere realizzati mediante due differenti tecniche:
‹ logica cablata: i componenti (elettronici o elettromeccanici) sono collegati (cablati) tra loro
mediante conduttori che impongono al sistema una modalità di funzionamento la cui modifica
richiede l’alterazione di cablaggi e l’eventuale sostituzione di alcuni componenti;
‹ logica programmabile: la struttura è basata su un microprocessore che decodifica ed esegue le
istruzioni di programma contenute in memoria; la modifica del programma in memoria consente
di variare la funzione svolta, senza necessariamente alterare i cablaggi verso le altre parti del
sistema.
In sistemi semplici con poche variabili da controllare e dove non si prevedono frequenti
modifiche la logica cablata può presentare vantaggi in termini di costo, velocità di risposta
e di conoscenze necessarie.
Per macchine o processi complessi con numerose variabili da controllare la logica programmabile offre vari vantaggi: l’hardware necessario aumenta di poco al crescere del numero
delle variabili e non dipende dalla complessità delle funzioni da svolgere, la grande flessibilità derivante dalla programmazione consente di rendere veloci ed economiche la fase di
messa a punto e le successive modifiche al sistema, la possibilità di archiviare i programmi
permette di risolvere rapidamente problemi analoghi ad altri già affrontati.
Per realizzare un controllo in logica programmabile si può impiegare un PC (personal computer) dotato di opportune interfacce e periferiche, con un contenitore adatto a poter resistere
nell’ambiente della fabbrica in cui sono presenti fattori inquinanti, disturbi elettromagnetici,
sbalzi di temperatura e urti; si ottiene in questo modo il cosiddetto computer industriale.
Nell’automazione industriale si è affermato il controllore logico programmabile o PLC
(Programmable Logic Controller) che è un sistema a microprocessore come il computer industriale, ma con alcune differenze sostanziali:
– il PLC può gestire numerosi I/O digitali e analogici in modo più semplice del PC grazie alle
numerose interfacce;
– l’ingombro e il costo del PCL sono inferiori in quanto periferiche come tastiera, video e
stampante vengono collegate solo in fase di programmazione e possono quindi servire
più sistemi;
– il PLC è di semplice utilizzo in quanto è stato concepito per essere programmato da operatori non esperti in informatica;
– il PC ha più potenza di elaborazione però il PLC è più veloce nell’acquisizione degli ingressi e nella generazione delle uscite, per cui è più adatto all’elaborazione in tempo reale;
– il PLC è più immune e resistente a situazioni ambientali difficili.
Per la gestione di impianti industriali complessi vengono realizzate reti di PLC coordinati da
un calcolatore, che raccoglie ed elabora i dati.
21.1
L’architettura dei PLC
La struttura di un PLC, rappresentata nella figura 21.1, comprende:
l’unità centrale (CPU): ha come elemento fondamentale il microprocessore (➜ § 18.5) che
esegue ciclicamente le istruzioni del programma immagazzinato in memoria; le azioni principali del mP sono quelle di leggere i valori degli ingressi provenienti dai trasduttori e, a
seconda del programma, imporre i valori alle uscite che controllano il funzionamento degli
attuatori.
La memoria è suddivisa in varie parti: a) memoria utente: di tipo RAM C-MOS con batterie
ricaricabili in tampone, per non perdere i dati quando non è alimentata, contiene il programma inserito dall’utente mediante un dispositivo di programmazione (tastiera portatile
o computer), che viene poi asportato durante l’utilizzo; b) memoria ingressi: di tipo RAM
contiene lo stato attuale degli ingressi, che viene aggiornato ad ogni ciclo di esecuzione del
programma; ad ogni locazione di memoria è associato rigidamente un morsetto di ingresso;
c) memoria uscite: tipo RAM contiene lo stato imposto dal microprocessore alle uscite dopo
l’esecuzione di ogni ciclo di programma; ad ogni locazione di memoria è associato un morsetto di uscita; d) memoria per il sistema operativo: di tipo non volatile (ROM o EPROM) contiene il software che gestisce il sistema, in particolare il caricamento di programmi di utente, l’esecuzione del programma, il pilotaggio di periferiche, la diagnostica; e) memoria per le
funzioni interne: (RAM) contiene i risultati intermedi di operazioni aritmetiche o logiche
oppure i valori generati da funzioni speciali interne come contatori, temporizzatori, registri
a scorrimento.
Moduli d’ingresso: consentono l’acquisizione dei segnali (digitali o analogici) provenienti dai
trasduttori adattandone i livelli a quelli dei circuiti interni e proteggendo (in genere mediante optoisolatori) il PLC dalle sovratensioni dovute a errori o malfunzionamenti esterni.
Moduli d’uscita: inviano verso gli attuatori i segnali (digitali o analogici) adattando i livelli di
tensione e di potenza ai valori richiesti. Anche verso le uscite si realizza una protezione contro le sovratensioni provenienti dall’esterno mediante optoisolatori o microrelè. Le uscite
devono anche essere protette contro i cortocircuiti. I valori di tensione più comuni per le
uscite digitali sono 24 V in DC o AC e 220 V in AC con correnti adatte a pilotare carichi come
relè, teleruttori ed elettrovalvole.
Alimentatore: riceve la tensione di rete e fornisce a ogni modulo la tensione continua o alternata necessaria al funzionamento.
Il PLC può avere una struttura modulare a rack (fig. 21.2): ad una barra di supporto viene
ancorato il bus a cui vanno collegati i vari moduli a seconda delle necessità. Oltre all’ali-
Fig. 21.1 - Struttura di un PLC.
Fig. 21.2 - Il PLC viene realizzato assemblando in un rack i moduli necessari alla specifica applicazione.
mentatore e all’unità centrale si possono combinare nei vari slot del
rack moduli d’ingresso e d’uscita, analogici e digitali, moduli contatori, temporizzatori, comparatori, ecc. È poi possibile collegare tra loro
più rack per espandere ulteriormente il PLC.
Attualmente si sono affermati anche PLC monoblocco, i cui terminali
possono essere programmati per le funzioni desiderate.
Il funzionamento del PLC avviene secondo il seguente ciclo (fig. 21.3):
1) per prima cosa vengono letti i valori presenti sugli ingressi e riportati nella zona di “memoria ingressi”; l’elaborazione successiva farà
riferimento a questi valori memorizzati, anche se nel frattempo alcuni ingressi avranno cambiato stato; 2) viene poi eseguita la sequenza
di istruzioni specificata dal programma utente, con lo scopo di determinare i nuovi valori da assegnare alle uscite, che sono memorizzati
nella zona “memoria uscite”; 3) alla fine della sequenza di istruzioni i
valori presenti sui morsetti d’uscita sono aggiornati in base al conteFig. 21.3 - Ciclo di funnuto della memoria uscite e rimangono fissi fino al successivo aggiorzionamento del PLC.
namento; il ciclo quindi ricomincia dal punto 1).
L’esecuzione di un ciclo può impiegare un intervallo di tempo di qualche millisecondo, variabile a seconda della lunghezza del programma; di conseguenza l’acquisizione delle variabili del processo e il relativo controllo avvengono in tempo reale. Valori
tipici per la frequenza di ripetizione del ciclo sono 300 Hz e 800 Hz.
21.2
La programmazione dei PLC
La programmazione di un PLC consiste nell’inserimento, nella memoria utente, della sequenza di istruzioni che fa corrispondere ai segnali rilevati sui morsetti d’ingresso i segnali da
imporre sulle uscite per realizzare il controllo desiderato.
L’inserimento può avvenire mediante un’unità di programmazione, che viene poi scollegata
una volta ultimata l’immissione dei dati.
Attualmente per ogni marca di PLC sono disponibili software di simulazione che consentono
di mettere a punto il programma su un PC, per poi scaricare il codice sul PLC una volta che si
è sicuri del corretto funzionamento.
I linguaggi di programmazione dei PLC sono numerosi in quanto devono essere utilizzabili da
operatori di diverse estrazioni; i più utilizzati sono classificati dal CEI nel seguente modo:
Ladder Diagram (LD) (diagramma a scala o schema a contatti), Instruction List (IL) (lista istruzioni), Functional Block Diagram (FBD) (schema a blocchi funzionali logici).
Ladder Diagram (LD)
Questo linguaggio (fig. 21.4b): usa una simbologia affine agli schemi funzionali con interruttori e relè a cui sono abituati gli elettrotecnici (fig. 21.4a). È costituito da tanti circuiti
orizzontali (i gradini della scala, detti rung) compresi tra due linee verticali che rappresentano l’alimentazione (quella a destra in generale attualmente viene omessa). La Siemens,
uno dei maggiori costruttori di PLC, chiama questo linguaggio KOP. Si veda l’esempio 21.1.
➜
Esempio 21.1
Si realizzi, mediante Ladder Diagram, il programma per un PLC che comandi un motore trifase
secondo la logica seguente (marcia-arresto):
– la pressione del pulsante START provoca l’avvio del motore che deve rimanere in marcia
anche dopo il rilascio di START;
– la pressione del pulsante STOP arresta il motore.
Fig. 21.4 - Collegamento con autoritenuta o marcia-arresto per il comando di un motore trifase: a) schema funzionale; b) schema a contatti per la programmazione di un PLC; c) collegamenti ai morsetti del PLC.
Soluzione
In figura 21.4a è rappresentato lo schema funzionale richiesto. Nel presente esempio, per agevolare la comprensione dei concetti di base, sono stati omessi quegli elementi di protezione (fusibili, relè termici) e di segnalazione (lampade) necessari in schemi di questo tipo.
La soluzione mediante Ladder Diagram in figura 21.4b realizza il seguente funzionamento: la pressione del pulsante START, collegato all’ingresso I 0,0, fornisce l’alimentazione alla bobina Q 0,0
il cui contatto omonimo (interno) chiudendosi, mantiene alimentata la bobina anche dopo che il
pulsante START viene rilasciato (autoritenuta); contemporaneamente il contatto esterno Q 0,0
provoca l’attivazione del teleruttore KM i cui contatti alimentano il motore. La pressione del pulsante STOP, collegato al contatto I 0,1, interrompe la corrente alla bobina Q 0,0 provocando quindi l’apertura dei contatti Q 0,0 e quindi l’arresto del motore.
Si noti l’analogia con il funzionamento del latch RS, studiato ➜nell’unità 18.
Nella figura 21.4c sono rappresentati i collegamenti dei pulsanti e del teleruttore agli ingressi e alle
uscite del PLC, con le relative alimentazioni.
Si noti che sia START che STOP sono pulsanti normalmente aperti; la funzione di STOP viene
invertita dal programma mediante il simbolo del contatto chiuso indicato in figura 21.4b.
In genere in parallelo alla bobina dei teleruttori viene collegato un filtro (serie RC) per attenuare i
disturbi prodotti dalle commutazioni nel carico induttivo.
➜
Instruction List (IL)
Nelle applicazioni più complesse la programmazione con ladder diagram può risultare poco
chiara. Viene quindi fornita la possibilità di inserire il programma mediante una lista di istruzioni, che risulterà particolarmente agevole a chi possiede qualche esperienza di programmazione informatica.
Nel linguaggio del PLC Siemens Step 7, la traduzione del programma LD visto nell’esempio
21.1 è la seguente:
0
1
2
LD
O
AI
I 0,0
Q 0,0
I 0,1
3
=
Q 0,0
(carica lo stato dell’ingresso I 0,0)
(esegui l’OR con lo stato dell’uscita Q 0,0)
(poni il risultato precedente in AND con lo stato dell’ingresso
I 0,1 complementato)
(assegna il risultato logico all’uscita Q 0,0).
Si ricorda che due interruttori posti in parallelo possono essere descritti mediante la funzione logica OR, mentre se posti in serie la funzione logica corrispondente è l’AND.
➜
Esempio 21.2
Si realizzi, mediante Ladder Diagram e Instruction List, il programma per un PLC che comandi
un motore trifase in modo da poterne invertire il senso di rotazione (teleinversione di marcia).
Soluzione
Per invertire la marcia di un motore trifase è sufficiente scambiare tra loro due fasi dell’alimentazione.
Lo schema funzionale in figura 21.5a opera nel modo seguente: la chiusura del pulsante PA alimenta la bobina KM1 (avanti) che, grazie al contatto di autoritenuta KM1, rimane eccitata anche
dopo il rilascio di PA. La stessa bobina comanda anche la chiusura del teleruttore KM1 che alimenta il motore.
Si noti che l’apertura di un ulteriore contatto KM1 (normalmente chiuso) impedisce che la pressione di PI ecciti l’altra bobina KM2, che chiudendo il teleruttore KM2 contemporaneamente a
KM1 provocherebbe un cortocircuito tra le fasi di alimentazione; questo meccanismo di protezione è detto interblocco.
La pressione del pulsante STOP provoca la diseccitazione di KM1 e quindi l’arresto del motore.
Per invertire il senso di rotazione si preme il pulsante PI che, mediante la bobina KM2 (indietro),
provocherà la chiusura del teleruttore KM2, alimentando il motore con due fasi scambiate tra loro.
L’arresto del motore si ottiene sempre premendo STOP.
In figura 21.5b è riportato il relativo Ladder Diagram per la programmazione del PLC.
La tabella in figura 21.5c mostra la corrispondenza tra gli elementi dello schema funzionale e gli
ingressi/uscite del PLC.
Fig. 21.5 - Teleinversione di marcia per motore trifase: a) schema funzionale; b) Ladder Diagram; c) tabella di corrispondenza tra gli elementi dello schema funzionale e gli ingressi/uscite del PLC.
La lista delle istruzioni (Siemens Step 7) corrispondente al diagramma di figura 21.5b è:
0
1
2
LD
O
AI
3
AI
4
5
6
7
=
LD
O
AI
8
AI
9
=
I 0,0 (carica lo stato dell’ingresso I 0,0)
Q 0,0 (esegui l’OR con lo stato dell’uscita Q 0,0)
Q 0,1 (poni il risultato precedente in AND con lo stato dell’uscita Q 0,1 complementato)
I 0,2 (poni il risultato precedente in AND con lo stato dell’ingresso I 0,2 complementato)
Q 0,0 (assegna il risultato logico all’uscita Q 0,0)
I 0,1 (carica lo stato dell’ingresso I 0,1)
Q 0,1 (esegui l’OR con lo stato dell’uscita Q 0,1)
Q 0,0 (poni il risultato precedente in AND con lo stato dell’uscita Q 0,0 complementato)
I 0,2 (poni il risultato precedente in AND con lo stato dell’ingresso I 0,2 complementato)
Q 0,1 (assegna il risultato logico all’uscita Q 0,1)
➜