Questo sito contribuisce alla audience di Il Messaggero
Scopri le migliori offerte sul canale Telegram ufficiale. Guarda su Telegram

Come funziona PLC

di

Uno degli elementi più utilizzati in elettrotecnica per controllare un sistema, è il PLC. Si tratta, in forma estesa, di un controllore logico programmabile che, caricatogli un certo programma, va a elaborare dei segnali per darne fuori degli altri e far eseguire certe operazioni a determinati apparecchi.

Immagino che questa spiegazione non abbia avuto molto significato per te, ma se ti trovi qui è perché stai cercando di capire come funziona PLC, cosa che ho tutte le intenzioni di spiegarti. Qui di seguito infatti voglio parlarti di come “ragiona” questo apparecchio, cosicché tu possa avere una idea completa.

Siccome il discorso non è affatto semplice poiché occorre avere sotto mano degli schemi e una conoscenza di base sui segnali elettronici, questa spiegazione potrebbe risultare poco digeribile. Cercherò quindi di renderla il più potabile possibile e di darti gli strumenti necessari per comprendere il tutto.

Indice

Che software usa un PLC

industria

Prima di scendere in dettaglio su come funziona, è meglio dare un'occhiata alle parti che lo compongono, ovvero quella software e quella hardware. Iniziando dal software, bisogna specificare che ci sono differenti marche di PLC, le quali hanno dei loro software proprietari che funzionano con logiche identiche, ma con alcune possibili differenze visive o altri accorgimenti che li rendono unici (detto ciò, ci sono standard di programmazione come IEC 61131-3 che stabiliscono linguaggi di programmazione comuni per i PLC).

Se hai un PLC della Siemens, non puoi andare a caricarci sopra un programma tramite il software della Omron, sebbene esso sia probabilmente scritto in modo identico. Ora, chiarito questo punto, è bene dire che ci sono differenti linguaggi di programmazione per il PLC, ma sono tutti equiparabili nel funzionamento.

Se scrivi un programma in KOP e lo visualizzi sul PC, è molto probabile che potrai visualizzarlo anche in FUP. Questo non è vero il 100% delle volte, in quanto ci sono parti che sono visualizzabili solo in un determinato linguaggio per via della loro struttura ma, in linea di massima, buona parte di essi è “traducibile” in ogni altra lingua.

Per quanto riguarda i PLC, ci sono cinque principali linguaggi di programmazione nei quali potrai imbatterti. Non ne esiste uno più semplice o più complesso in senso assoluto, ma solo quello con il quale sei più abituato a interfacciarti o che segue ciò che ti è stato insegnato.

  • KOP — un linguaggio chiamato anche diagramma ladder, perché segue la trasposizione di una scala con le varie linee di programma mostrate in modo sequenziale una sotto l'altra. Se sei un elettrotecnico, questo linguaggio riprende in modo quasi speculare gli schemi elettrici degli impianti, quindi diventa automaticamente il più semplice da digerire. Ogni variabile è mostrata singolarmente (o quasi) in sequenza.
  • SFC — linguaggio che somiglia molto a un diagramma di flusso a blocchi, il quale risulta intuitivo per coloro che non hanno basi di elettronica o di elettrotecnica, poiché si basa su una logica più diretta.
  • FUP — linguaggio che mostra i vari elementi combinati tra loro secondo la rappresentazione dettata dall'elettronica, quindi con blocchi funzionali che sono intuitivi per un elettronico, ma molto complessi da comprendere per tutti gli altri.
  • AWL — linguaggio che trasforma tutto in una tabella di dati con ingressi e uscite che, se si è abituati ai linguaggi precedenti, risulta spiazzante. Non è molto usato in quanto si fatica a rappresentare sistemi particolarmente complessi.
  • ST — linguaggio che somiglia molto al linguaggio di programmazione Pascal, il quale è (probabilmente) semplice e intuitivo per chi ha affinità con la programmazione e con questo linguaggio in particolare.

Com'è fatto un PLC

elettricista

Passiamo ora alla parte solida del PLC, cercando di capire com'è fatto l'hardware di questo dispositivo. A prima vista, nella maggior parte dei casi, somiglia a un grosso blocco di plastica con delle lucine e cavi che entrano ed escono qua e là, ma non svela molto della sua natura solamente guardandolo.

Quello che magari non si può cogliere facilmente, è che questo dispositivo è costituito da tre parti fondamentali le quali lavorano insieme per far funzionare il tutto. Vediamole insieme.

  • Processore — questo elemento, a differenza di quanto il nome possa far credere, non è equiparabile a quello di un computer. Si tratta di un apparato abbastanza semplice, nel quale dovrà essere caricato appena un programma da qualche MB al massimo, quindi non gli serve certo una grande potenza di calcolo. Stesso discorso per la memoria. Quello che è importante è la presenza di una batteria di continuità, la quale permetta al medesimo di mantenere memorizzato il programma caricato anche in presenza di un blackout. Questa parte ha poi i cavi di ingresso e uscita verso gli elementi dei quali ti sto per parlare, insieme a una porta per collegare il PC e un pulsante di reset/spegnimento/attivazione. Possono poi essere presenti porte per la comunicazione con apparecchi terzi, ma tali potrebbero anche essere situate su una scheda a parte.
  • Blocco ingressi — sono delle schede modulabili (un PLC può avere anche centinaia di ingressi), ma ogni singola scheda ne può accogliere un numero limitato, per questo esiste una base alla quale vengono applicati questi moduli che andranno poi a raccogliere i segnali di tutti gli ingressi della macchina. Tali ingressi possono essere i fine corsa, fotocellule, fibre ottiche, sensori vari che indicano lo stato del macchinario.
  • Blocco uscite — questo blocco, proprio come quello ingressi, è modulabile con l'aggiunta o la rimozione di schede per accogliere più o meno uscite. Da qui partono i cavi che andranno poi ad azionare dei relè che porteranno potenza a quelle determinate uscite. Non si collega una uscita direttamente a una valvola, motore o chi per esso, in quanto il segnale di uscita del PLC non è pensato per questo. Tale impulso elettrico andrà ad azionare un relè o qualche altro “interruttore” che taglia la linea di potenza di quella uscita. Come vedrai in seguito, le uscite possono anche diventare segnali d'ingresso nel linguaggio di programmazione, ma vengono comunque collegate soltanto alla scheda uscite, in quanto non è necessario un ulteriore collegamento agli ingressi. In alcuni casi, è possibile trovare delle schede di uscita analogiche, le quali vanno a dare direttamente il comando a un dato elemento, ma sono più comuni quelle digitali che si appoggiano ad altri elementi.

Come funziona un PLC

plc

Prima di iniziare, siccome fare solo dei semplici ragionamenti astratti sarebbe praticamente impossibile, ho intenzione di darti e anche di servirmi di uno strumento per spiegare il tutto. Si tratta del sito Online PLC Ladder Logic Simulator, il quale ti permette di creare dei programmi per PLC base ma che sono sufficienti per capire (d'altronde anche nella pratica i programmatori PLC lavorano spesso con simulatori, in modo da testare e debuggare i loro programmi prima di implementarli su un sistema reale).

Questo sito è gratuito e lo puoi raggiungere su questa pagina. Una volta collegato, troverai che ci sono una manciata di segnali da utilizzare, contro le centinaia che si possono incontrare in elettronica. Siccome sarebbe impossibile vederli tutti e, alla fine, non farei altro che confonderti, ho deciso di limitarmi a una spiegazione con segnali base.

La logica rimane sempre la medesima, così come il suo funzionamento, sia che ci siano 10 milioni di linee, sia con pochi segnali. La scala più grande rende sicuramente più difficile la programmazione e la lettura del programma, ma non comporta alcuna differenza in termini di funzionamento.

Il PLC è un sistema che combina una serie di variabili insieme, le quali concorrono per crearne delle altre e/o per generare delle uscite. Questa frase vuol dire poco, ma facciamo un esempio pratico con un sistema di tuberia domestico per avere una comprensione più chiara del tutto.

Immagina una casa con un sistema idraulico classico, fatto di tanti rubinetti e scarichi. Gli scarichi sono le uscite, mentre i rubinetti gli ingressi, quindi questi sono appena diventati le nostre variabili. Se io apro un rubinetto al quale arriva acqua, vuol dire poi che essa andrà nello scarico del medesimo, quindi attivando un ingresso ho indirettamente azionato anche una uscita.

Ora immagina che questo scarico vada ad alimentare un altro rubinetto invece che andare direttamente nelle fognature. Questo vuol dire che il nostro scarico è sì una uscita, ma la quale si trasforma anche in un ingresso che andrà poi ad azionare un'altra uscita (ovvero lo scarico che gli sta sotto).

Tutto questo sistema fatto di rubinetti uno dietro l'altro (ingressi), scarichi (uscite) e scarichi che vanno ad altri rubinetti (uscite che diventano variabili d'ingresso), sono il programma che è caricato nel nostro PLC. Il PLC è l'intero sistema idraulico della casa, il quale fornisce acqua e la porta poi via una volta scaricata.

plc

Fin qui piuttosto semplice, basta un pizzico d'immaginazione. Ciò che rende il PLC così importante, è il fatto che metta in comunicazione tutte queste parti per poi, tramite i segnali di uscita, azionarne altre. Questo PLC non vede solo se i rubinetti sono aperti o chiusi, ma è anche in grado di aprirli lui se i segnali che riceve gli dicono di farlo.

In un sistema base come quello che è riportato nella prima immagine (fatto usando il linguaggio KOP), abbiamo tre variabili e una uscita. Il PLC fornice corrente elettrica in ingresso a queste variabili, ma tale corrente non può passare perché sono tutte disattivate. Per fare in modo che il segnale passi e arrivi alla utenza 4, deve esserci una concomitanza di avvenimenti.

Deve o attivarsi il segnale numero 1, o il numero 2, insieme al numero 3. Questi segnali cosa sono? In realtà possono essere qualunque cosa, dipende dal macchinario al quale è collegato il PLC. Restando sempre sul paragone dell'idraulica, i tre segnali potrebbero essere delle fibre ottiche che rilevano il passaggio dell'acqua, indicando quindi che i tre rubinetti dopo i quali sono piazzati, sono aperti e fanno passare acqua.

Se il sistema rileva che due dei tre rubinetti sono aperti, (secondo nostra programmazione), sarà anche tempo di andare ad aprire la valvola di scarico (uscita 4), altrimenti l'acqua finirà per uscire e allagare tutto. Il PLC, mandando corrente in ingresso, rileva che i segnali 1 e 3, 2 e 3 o tutti e tre sono attivi poiché riceve il medesimo segnale di ritorno.

Ricevendolo indietro, andrà lui stesso a mandare un altro segnale in uscita che andrà ad attivare la valvola di scarico 4. Come puoi capire quindi, il PLC controlla lo stato del sistema tramite segnali elettrici che vengono interrotti o lasciati passare chiudendo il circuito, attivando poi ciò che deve attivare.

plc

Se, però, non venisse caricato un programma all'interno del PLC che gli dica come interpretare questi segnali, sarebbe solo una scatoletta di plastica inutile. Per questo, tramite la programmazione è necessario comprendere tutte le variabili e come vanno a interagire tra loro, così da usare i segnali giusti per le uscite giuste.

In questo esempio io ho usato solo tre segnali e una uscita, ma ci potrebbero essere decine di condizioni da rispettare perché una sola uscita venga attivata. Immagina un sistema dove sono presenti decine di parti mobili, laddove ognuna deve essere in posizione di riposo solo perché, una specifica, possa muoversi per fare una lavorazione senza andare a piegare o rompere le altre parti della macchina stessa. Questo solo un PLC lo può fare.

Proseguendo nel circuito e aumentando un po' le variabili, voglio poi spiegarti come una uscita possa diventare ingresso. Nella terza immagine, trovi che l'uscita 4 è ora un ingresso verso un uscita 6. Questo perché, in un sistema complesso, potresti avere delle parti che si azionano solo dopo che ne sono partite delle altre.

Per questo il segnale 4 va poi verso un 5 (segnale a impulso che si attiva solo per una frazione di secondo) e l'uscita 6, la quale è una uscita di tipo set/reset. Se nella riga precedente l'uscita 4 rimane attiva solo fino a quando le variabili 1 o 2 e 3 rimangono attive, nella riga successiva l'uscita 6 rimane attiva sempre perché ha ricevuto un segnale a impulso di set (attivazione), la quale potrà essere disattivata poi con il segnale di reset (qui dipende come funziona l'impianto e il programma).

Queste sono solo due linee, ma racchiudono più o meno tutto quello che è un PLC. Sì, ci sono segnali combinatori complessi, altri temporizzati, altri che funzionano al contrario (ovvero che se attivati non fanno passare il segnale), ma il punto è sempre il medesimo. Segnali in ingresso concorrono per attivare una uscita la quale, in un sistema complesso, è probabile che diventerà ingresso a sua volta da qualche parte.

Da qui in avanti, tutto dipende dal sistema al quale è applicato. Ci sono sistemi idrici, macchinari idraulici, persino gli ascensori dei vari palazzi possono funzionare in questo modo. Tutto si riassume sempre nel fatto che il PLC legga gli ingressi per dare delle uscite, cosa poi siano davvero questi, è qualcosa che cambia sempre a seconda del sistema.

Spero che questa “infarinatura” di base ti sia stata utile per “rompere il ghiaccio” con il PLC. Tuttavia, se vuoi approfondire per bene l'argomento, puoi cercare video su YouTube, valutare corsi su piattaforme come Udemy e leggere Wikipedia.

Salvatore Aranzulla

Autore

Salvatore Aranzulla

Salvatore Aranzulla è il blogger e divulgatore informatico più letto in Italia. Noto per aver scoperto delle vulnerabilità nei siti di Google e Microsoft. Collabora con riviste di informatica e cura la rubrica tecnologica del quotidiano Il Messaggero. È il fondatore di Aranzulla.it, uno dei trenta siti più visitati d'Italia, nel quale risponde con semplicità a migliaia di dubbi di tipo informatico. Ha pubblicato per Mondadori e Mondadori Informatica.