Controllore logico programmabile

Da Wikipedia, l'enciclopedia libera.
IMPIANTI INDUSTRIALI
Produzione industriale
Progettazione di prodotto
Progettazione di processo
Progettazione di sistema
PLC

Il Controllore a Logica Programmabile o Programmable Logic Controller (PLC) è un controllore per industria specializzato in origine nella gestione o controllo dei processi industriali.

Il PLC esegue un programma ed elabora i segnali digitali ed analogici provenienti da sensori e diretti agli attuatori presenti in un impianto industriale. Nel tempo, con la progressiva miniaturizzazione della componentistica elettronica e la diminuzione dei costi, è entrato anche nell'uso domestico; l'installazione di un PLC nel quadro elettrico di un'abitazione, a valle degli interruttori magnetotermico e differenziale (salvavita), permette la gestione automatica dei molteplici sistemi e impianti installati nella casa: impianto di riscaldamento, antifurto, irrigazione, LAN, luci, ecc.

Un PLC è un oggetto hardware componibile. La caratteristica principale è la sua robustezza estrema; infatti normalmente il PLC è posto in quadri elettrici in ambienti rumorosi, con molte interferenze elettriche, con temperature elevate o con grande umidità. In certi casi il PLC è in funzione 24 ore su 24, per 365 giorni all'anno, su impianti che non possono fermarsi mai.

La struttura del PLC viene adattata in base al processo da automatizzare. Durante la progettazione del sistema di controllo, vengono scelte le schede adatte alle grandezze elettriche in gioco. Le varie schede vengono quindi inserite sul BUS o rack del PLC.

Funzionamento[1][modifica | modifica sorgente]

La prima azione che il PLC compie è la lettura degli ingressi del portale e si intende tutti gli ingressi sia digitali che analogici, on board o su bus di campo (schede remote collegate al PLC o con una rete di comunicazione). Dopo aver letto tutti gli ingressi, il loro stato viene memorizzato in una memoria che è definita "Registro immagine degli ingressi". A questo punto le istruzioni di comando vengono elaborate in sequenza dalla CPU e il risultato viene memorizzato nel "Registro immagine delle uscite". Infine, il contenuto dell'immagine delle uscite viene scritto sulle uscite fisiche ovvero le uscite vengono attivate. Poiché l'elaborazione delle istruzioni si ripete continuamente, si parla di elaborazione ciclica; il tempo che il controllore impiega per una singola elaborazione viene detto tempo di ciclo (solitamente da 10 a 100 millisecondi).

Struttura del PLC[modifica | modifica sorgente]

Un PLC è composto da un alimentatore, dalla CPU che in certi casi può avere interna o esterna una memoria di tipo RAM, ROM, EPROM o EEPROM, da un certo numero di schede di ingressi digitali e uscite digitali, e nel caso in cui sia necessario gestire grandezze analogiche, il PLC può ospitare delle schede di ingresso o di uscita sia analogiche che digitali.

Se il PLC opera in rete con altri PLC, sono necessarie delle schede di comunicazione adatte al protocollo di rete già implementato sugli altri PLC.

Nel caso di operazioni di movimentazione, come nel campo della robotica, il PLC ospita delle schede di controllo assi, cioè delle schede molto veloci e sofisticate che permettono di gestire spostamenti e posizionamento.

Alimentatore[modifica | modifica sorgente]

L'alimentatore è un apparato necessario per il funzionamento dei PLC. Esso è utilizzato per fornire l'energia elettrica a tutte le schede del PLC. Fornisce le tensioni a 5 V necessarie alle schede, le tensioni a + o - 12 V, le altre tensioni necessarie, sempre in corrente continua (cc.). Può essere interno o esterno al PLC.

CPU[modifica | modifica sorgente]

La CPU è il cervello del PLC. La CPU è una scheda complessa basata su una logica programmabile (Infineon sulle CPU Siemens S7) con funzionalità base di memorizzazione e accesso ad I/O, nonché bootloader, e con una zona di memoria a disposizione del programma utente, cioè del programma di automazione.

La memoria utente è spesso esterna come ad esempio nel caso di memoria EPROM. Il vantaggio di una memoria esterna è legata alla semplicità di programmazione o di modifica dello stesso.
La CPU durante il funzionamento a regime, colloquia con tutte le schede connesse sul BUS del PLC, trasferendo dati e comandi da e verso il mondo esterno (input e output).

Una delle caratteristiche peculiari di molte CPU è la capacità di poter gestire le modifiche del programma di gestione del processo durante il normale funzionamento. Questa possibilità è estremamente utile nel caso di impianti che devono essere sempre attivi, come ad esempio nel controllo di processo e nella produzione industriale in serie.

All'interno della CPU sono varie parti, tra cui

  • unità di gestione, ovvero informazioni di gestione del PLC stesso, impostate dal costruttore e trasparenti all'utente;
  • archivio di temporizzatori e contatori funzionali all'operatività del PLC;
  • memorie immagine del processo, cioè le informazioni in ingresso ed i comandi in uscita del processo;
  • memoria utente, in cui vengono scritti i programmi che il PLC deve eseguire;
  • interfaccia per il dispositivo di programmazione, che comunica con gli strumenti di programmazione;
  • bus dati, comando, indirizzi per la veicolazione dei dati fra le varie parti e con l'esterno della CPU.

Schede di ingresso digitali[modifica | modifica sorgente]

Le schede di ingresso digitali sono utilizzate per il controllo di grandezze "digitali", cioè di tensioni a due valori (ad esempio 0 V o 24 V, oppure 0 V 110 V). Ogni scheda può gestire da 4 a 32, o 64 ingressi digitali differenti. I segnali dal campo vengono fatti arrivare con cavi elettrici fino alla morsettiera della scheda ed ogni singolo canale è opportunamente protetto da fusibili di adeguato valore.

Schede di uscita digitali[modifica | modifica sorgente]

Le schede di uscita digitali sono utilizzate per i comandi di attuatori digitali. Ad esempio un relè è un attuatore digitale, in quanto può avere soltanto due stati stabili: diseccitato, o eccitato. Altro esempio di attuatore è una valvola digitale a due stati: aperta, chiusa (elettrovalvola). Anche nel caso di schede di uscita digitali, si possono gestire da un minimo di 4 ad un massimo di 64 uscite digitali differenti.

Schede di ingresso analogiche[modifica | modifica sorgente]

Questo tipo di schede di ingresso permettono il controllo di grandezze elettriche il cui valore può variare entro un intervallo. Le grandezze in gioco sono in tensione o in corrente. Ad esempio sono disponibili schede di ingresso analogiche in corrente, con un intervallo variabile tra 4 mA e 20 mA. Molti produttori di PLC rendono disponibili schede con ingressi analogici per sonde di temperatura sia Pt100 che termocoppie T, J, K, ecc. Queste schede sono disponibili con varie risoluzioni (8-12-14-16 bit) e con 1 o più ingressi separati galvanicamente disponibili in morsettiera o sul connettore frontale.

Schede di uscita analogiche[modifica | modifica sorgente]

Le schede di uscita analogiche permettono di controllare degli attuatori variabili. Possono essere in corrente o in tensione ed avere una determinata risoluzione esprimibile in bit. Ad esempio è possibile comandare un motore elettrico tramite un inverter variandone la velocità, tramite la frequenza, da zero alla sua massima velocità. Oltre all'esempio sopra citato servono per regolazioni di temperatura variando l'intervallo di uscita, regolazioni di luce. Un esempio che può risultare molto chiaro è quella dell'intensità luminosa di una serie di plafoniere. Tramite un potenziometro noi aumenteremo o diminuiremo l'intensità luminosa. Ad ogni aumento o diminuzione di luce corrisponde un equivalente segnale in corrente o in tensione.

Schede di comunicazione[modifica | modifica sorgente]

Il PLC durante il suo funzionamento può comunicare con computer, con altri PLC oppure con altri dispositivi come le macchine CNC (i torni e/o le frese a controllo numerico delle aziende).

La comunicazione con computer e altri dispositivi avviene tramite tipi di connessione standard come:

La comunicazione con altri PLC avviene tramite protocolli standard, ad esempio:

ecc.

Schede speciali[modifica | modifica sorgente]

Qualunque PLC di livello medio alto, oltre le consuete schede di ingresso/uscita, analogiche/digitali, ha a catalogo moduli dedicati a particolari compiti di automazione. Il vantaggio nell'utilizzare tali schede è quello di avere il controllo di un'operazione/evento indipendentemente dal ciclo del PLC, relegando il PLC alla funzione di controllo/parametrizzazione. L'offerta è veramente vasta e ogni produttore propone a catalogo le più svariate soluzioni, fra cui si segnala:

Schede di conteggio veloce[modifica | modifica sorgente]

Sono in grado di accogliere il segnale di un sensore di conteggio e direzione (up/down ossia incremento/decremento) più un canale di azzeramento, in single ended (ossia a livelli di tensione 0÷24 V) che in differenziale (normalmente secondo lo standard RS-422); normalmente è possibile programmarle in modo che scatenino un evento (per esempio alzando un'uscita) al raggiungimento di un dato conteggio o se il conteggio è compreso fra una finestra di valori. Su tali schede sono normalmente disponibili unicamente un numero limitato di uscite programmabili.

Schede programmatori a camme[modifica | modifica sorgente]

Compito di tali schede è emulare una o più camme meccaniche; accettano in ingresso un segnale proveniente da un encoder ed è possibile, se la posizione è entro determinate finestre, avviare un evento tramite un'uscita digitale programmabile.

Schede PID (Proporzionale Integrale Derivativo)[modifica | modifica sorgente]

Spesso nel campo industriale è necessario controllare una variabile del processo (per esempio la potenza applicata su un elemento riscaldante), rilevando una variabile da esso dipendente (per esempio la temperatura di un ambiente). Se il processo è particolarmente critico è necessario eseguire il controllo in modo accurato, tramite moduli dedicati.
In passato, prima dell'avvento dei controllori logici programmabili (PLC), esistevano moduli hardware, in qualche caso realizzati con tecnologie ibride meccaniche, pneumatiche, elettromeccaniche, in grado di svolgere la regolazione sommando le tre azioni proporzionale, integrativa e derivativa, ma al giorno d'oggi sono realizzati dalle stesse case produttrici dei PLC, non solo come blocchetti aggiuntivi hardware, ma anche come blocchi software a cui è sufficiente passare i corretti parametri.

Modello blocco funzione/funzionale software
S7300 FB42
S7-5 FB41
S7 1200 Menù Tecnology
S7200 dedicated Menù

Schede controllo assi[modifica | modifica sorgente]

Si impiegano ove sia necessario controllare il movimento di un organo meccanico tramite un motore, sia esso brushless che passo passo. Alcune schede presentano un funzionamento particolarmente semplice permettendo di fissare una quota di consegna che l'asse deve raggiungere e un ingresso per il feedback di posizione, altre - particolarmente complesse - permettono grandissima flessibilità e permettono di emulare diversi profili. Richiedono generalmente un modulo di potenza esterno (amplificatore di corrente) per il comando effettivo del motore.

Linguaggi di programmazione[modifica | modifica sorgente]

Il PLC per ottemperare ai suoi compiti deve essere programmato. La programmazione del PLC è effettuata normalmente con un PC sul quale un software specializzato permette di creare programmi da scaricare nella memoria della CPU del PLC.

Questi software di programmazione possono leggere il programma direttamente dalla memoria della CPU, e visualizzare il programma sul PC. Normalmente il programma viene scritto su PC, quindi scaricato sul PLC, e salvato sul PC stesso, per ulteriori modifiche o per sicurezza.

La normativa IEC 1131-3 del 1993 ha standardizzato 5 linguaggi di programmazione, di cui 3 grafici e 2 testuali.

La Normativa è stata successivamente aggiornata con l'uscita della "CEI EN 61131-3" detta anche "CEI 65-40" Prima Edizione: 1º giugno 1996.

Linguaggi grafici[modifica | modifica sorgente]

  • Ladder diagram (LD o KOP) detto Linguaggio a contatti - È il linguaggio più usato fino a pochi anni fa, in quanto era la trasposizione informatica dei circuiti elettrici usati dagli elettrotecnici.
    L'automazione industriale infatti era basata su sistemi a logica cablata, il PLC (controllore di logica programmabile) ha permesso di trasportare i concetti della logica cablata nel linguaggio Ladder. Il programmatore semplicemente utilizza simboli logici corrispondenti a segnali di ingresso e di uscita per implementare la logica non più cablando i relè, ma disegnando gli schemi elettrici nel software di programmazione.
  • Sequential function chart (SFC) detto Diagramma funzionale sequenziale - Viene usato anche come strumento di specifica. Tale linguaggio permette di implementare facilmente una macchina (o automa) a stati finiti.
  • Function Block Diagram (FBD o FUP) detto Diagramma a blocchi funzionali - Analogo ai diagrammi circuitali.

Linguaggi testuali[modifica | modifica sorgente]

  • Instruction List (IL o AWL) detto Lista di istruzioni - Linguaggio di alto livello, diffuso nelle maggior ditte di programmazione con plc, molto simile all'Assembly (linguaggio di basso livello). Può essere facilmente ricavato dal Ladder e permette una programmazione più strutturata rispetto a quest'ultimo, infatti molti lo preferiscono per questo fattore.
  • Structured Text (ST) detto Testo strutturato - Linguaggio di alto livello simile al Pascal.

Il PLC rispetto ad altri sistemi di controllo[modifica | modifica sorgente]

I PLC si adattano bene a una serie di compiti di automazione. Questi sono in genere processi industriali nel settore manifatturiero, dove i costi di sviluppo e manutenzione del sistema di automazione è elevato rispetto al costo totale dell'automazione, e dove sono attese modifiche al sistema durante la sua vita operativa. I PLC contengono dispositivi di input e output compatibili con i dispositivi pilota ed i controlli industriali; richiedono poca progettazione elettrica, ed il problema del progetto è focalizzato sulla sequenza desiderata di operazioni. Le applicazioni PLC sono tipicamente sistemi altamente personalizzati, per cui il costo di un PLC preconfezionato è basso rispetto a quanto costerebbe il progetto di un controllore su misura. Per contro, nel caso di prodotti di massa, sistemi di controllo personalizzati risultano economici. Ciò è dovuto al minor costo dei componenti, che possono essere scelti in modo ottimale al posto di una soluzione "generica", e dove i costi di progetto non ricorrenti sono distribuiti su migliaia o milioni di unità.

Per applicazioni in grandi numeri o nel caso di compiti di automazione fissi e molto semplici, vengono utilizzate tecniche diverse. Per esempio, una lavastoviglie casalinga potrebbe essere controllata da un temporizzatore elettromeccanico a camme che costa pochissimo se prodotto in grandi quantità.

Un progetto basato su microcontrollore sarebbe appropriato qualora vengano prodotte centinaia o migliaia di unità e quindi il costo di sviluppo (progettazione di alimentatori, hardware di ingresso/uscita e necessario test e certificazione) possa essere ripartito su molte vendite, e dove l'utente finale non necessiti di modificare il controllo. Un esempio è costituito dalle applicazioni automotive; milioni di unità sono costruite ogni anno, e molto pochi utenti finali alterano la programmazione di questi controllori. Tuttavia, alcuni veicoli speciali quali autobus di linea utilizzano economicamente i PLC invece di controlli progettati su misura, perché i volumi sono bassi e il costo di sviluppo sarebbe antieconomico.[2]

Un controllo di processo molto complesso, come ad esempio quello utilizzato in un impianto chimico, può richiedere algoritmi e prestazioni al di là della capacità di PLC anche ad alte prestazioni. Controlli di precisione o ad elevata velocità possono anche richiedere soluzioni personalizzate; ad esempio comandi di volo degli aeromobili. Per applicazioni di controllo molto esigenti, nelle quali può essere sostenuto l'elevato costo di sviluppo e manutenzione, si possono utilizzare dei single-board computer che utilizzino hardware semi-personalizzato o completamente proprietario. I "Soft PLC" in esecuzione su computer desktop sono in grado di interfacciarsi con l'hardware di I/O industriale eseguendo programmi su una versione di sistemi operativi commerciali adattata per le esigenze di controllo di processo.[2]

Note[modifica | modifica sorgente]

  1. ^ Marco Gottardo, lulu.com (ed), Let's Program a PLC (seconda edizione) (in Italiano), Lulu.com, 2012 ISBN 1291189327
  2. ^ a b Gregory K. McMillan, Douglas M. Considine (ed), Process/Industrial Instruments and Controls Handbook Fifth Edition (in Inglese), McGraw-Hill, 1999 ISBN 0-07-012582-1 Section 3 Controllers

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]