Automazione

Controllore logico programmabile / PLC – Domande e risposte chiave

I controllori logici programmabili sono il cuore dell'automazione industriale, dove consentono il controllo e la regolazione precisi di macchine e processi. Offrono flessibilità, affidabilità ed efficienza in numerose applicazioni. È possibile trovare informazioni dettagliate e risposte alle domande più frequenti nella nostra sezione FAQ.

Indice

Perché i sistemi di automazione sono così diffusi?

I sistemi elettrici e meccanici sono automatizzati in quasi tutti gli impianti di tecnologia di processo. Il controllo automatico dei componenti in base alla posizione degli interruttori o al trascorrere di un determinato periodo di tempo ne sono un esempio. A volte sono sufficienti semplici collegamenti binari, ma spesso sono necessari controlli di sequenza complessi. Per l'automazione vengono tipicamente utilizzati controllori logici programmabili (PLC).

Che cos'è un PLC?

Un controllore logico programmabile / PLC può essere considerato come un piccolo computer che esegue operazioni in base agli input e alle operazioni. Un PLC è composto almeno da un'unità di elaborazione centrale (CPU) e da moduli di input/output (moduli I/O). I moduli I/O sono solitamente collegati all'unità di elaborazione centrale tramite un bus di sistema, che fornisce loro anche la tensione.

Unità centrale JUMO variTRON 500 con funzione PLC, moduli di ingresso/uscita e pannello web (sul retro)

Unità centrale JUMO variTRON 500 con funzione PLC, moduli di ingresso/uscita e pannello web (sul retro)

Quali tipi di controllori logici programmabili sono disponibili?

I PLC sono disponibili in varie versioni, che differiscono in termini di funzionalità e applicazione:

PLC compatto

Questi controllori sono integrati in un unico alloggiamento. Contengono tutti i componenti necessari, quali CPU, ingressi/uscite e interfacce di comunicazione. Sono ideali per applicazioni di piccole dimensioni con requisiti di spazio minimi.

PLC modulare

Questi sistemi sono costituiti da una CPU centrale e da moduli di ingresso/uscita separati che possono essere aggiunti o rimossi a seconda delle necessità. Offrono flessibilità ed espandibilità per applicazioni più complesse. Ciò include anche i sistemi di automazione della famiglia JUMO variTRON, anche se hanno una gamma di funzioni molto più ampia rispetto ai PLC standard.

PLC di sicurezza

Questi controllori sono stati sviluppati appositamente per applicazioni critiche per la sicurezza e soddisfano rigorosi standard di sicurezza. Sono utilizzati in settori in cui la protezione delle persone e degli impianti è una priorità assoluta.

Perché un PLC ha moduli di ingresso e di uscita?

I segnali provenienti da interruttori, sensori, ecc. vengono inoltrati all'unità di elaborazione centrale tramite moduli di ingresso, in modo che siano poi disponibili nel PLC. Esempi di segnali provenienti dall'impianto includono lo stato dei rispettivi interruttori di fine corsa, termostati, monitor di flusso e interruttori di livello, nonché i corrispondenti valori misurati dai sensori di temperatura, pressione o umidità. Il PLC collega i segnali e produce un risultato, che viene messo a disposizione dei moduli di uscita. Ad esempio, i relè vengono utilizzati per attivare elettrovalvole e motori. Di conseguenza, la funzionalità di un PLC è implementata nell'unità di elaborazione centrale, che funge da centro di controllo, per così dire.

Come venivano automatizzati i processi prima dell'introduzione dei controllori logici programmabili?

Prima dell'introduzione dei PLC, i sistemi di controllo venivano implementati interconnettendo relè e relè temporizzati. Tale controllo richiedeva una quantità significativa di materiale e la funzione poteva essere modificata solo cambiando i circuiti. Inoltre, i sistemi erano soggetti a malfunzionamenti e la risoluzione dei problemi richiedeva molto tempo. Il compito dei primi PLC era quello di sostituire queste reti di relè.

Che cos'è un programma PLC e come viene creato?

Tutti i segnali di ingresso vengono elaborati ciclicamente da un programma PLC e collegati nel programma. Per la programmazione PLC sono disponibili ambienti di sviluppo come CODESYS, il che significa che i programmi vengono sviluppati in CODESYS e poi trasmessi al PLC.

Quali linguaggi di programmazione PLC sono disponibili?

Un PLC può essere programmato in vari linguaggi di programmazione definiti nella norma IEC 61131-3. Il programmatore può quindi scegliere il linguaggio di programmazione più adatto alle rispettive esigenze.

Logica ladder

Il linguaggio di programmazione ladder logic, in uso dagli anni '60, è adatto per sostituire le reti di relè. È il linguaggio di programmazione più antico conosciuto. La sua rappresentazione del programma è simile a quella dei circuiti elettrici.

Immaginate un'applicazione molto semplice in cui un modulo di ingresso acquisisce lo stato di un interruttore di valore limite in un serbatoio e quello di 2 pulsanti. I rispettivi stati sono disponibili nel programma PLC tramite variabili con i nomi “LevelBelowTheLimit”, ‘PushbuttonLeft’ e “PushbuttonRight”. Una pompa è controllata tramite il relè di un modulo di uscita. Nel programma è indicata con il nome “PumpActivated”. La pompa deve essere attivata solo quando entrambi i pulsanti (entrambi, per motivi di sicurezza) sono premuti e il livello del punto è sceso al di sotto. Il semplice programma nel linguaggio di programmazione ladder logic appare come segue in CODESYS:

Beispielprogramm in Kontaktplan

Beispielprogramm in Kontaktplan

È possibile osservare una struttura simile a quella di uno schema elettrico, composta da interruttori/pulsanti e relè. Una volta creato il programma, questo viene trasferito al PLC e verificato. Successivamente, l'ambiente di sviluppo CODESYS non è più necessario.

Già da tempo, nel linguaggio di programmazione ladder logic erano disponibili elementi di temporizzazione che consentono l'accensione/spegnimento ritardato o l'attivazione dell'uscita per un determinato periodo di tempo dopo l'attivazione. Ad esempio, è disponibile un blocco funzione con la denominazione TON. Esso attiva il suo segnale di uscita solo quando il suo ingresso è attivato per una durata minima. Se, ad esempio, la pompa deve essere attivata quando i pulsanti vengono premuti per un minimo di 5 secondi, il piccolo programma deve essere modificato come segue:

Programma di esempio modificato in logica ladder

Programma di esempio modificato in logica ladder

I moduli funzionali standard includono anche flip-flop RS, contatori, elementi di temporizzazione (come ritardi di accensione e spegnimento) e rilevatori di fronti. Anche gli operatori matematici fanno parte delle dotazioni di programmazione standard.

Diagramma a blocchi funzionali

Un altro linguaggio molto simile è il diagramma a blocchi funzionali orientato alla rete. In questo linguaggio, il piccolo programma è strutturato come segue:

Esempio di programma nel diagramma a blocchi funzionale

Esempio di programma nel diagramma a blocchi funzionale

Diagramma a funzioni continue

Il CFC (diagramma a funzioni continue) è un ulteriore sviluppo del diagramma a blocchi funzionali che consente di posizionare liberamente gli elementi. Per il resto, il CFC è molto simile nell'aspetto. Il linguaggio di programmazione è molto comune. In esso, il programma si presenta come segue:

Esempio di programma in diagramma di funzione continua

Esempio di programma in diagramma di funzione continua

Istruzioni

Un linguaggio relativamente poco utilizzato oggi è l'elenco delle istruzioni (IL), molto simile al linguaggio di programmazione assembler. Ogni istruzione in IL si basa principalmente sul caricamento di valori in un accumulatore, che avviene tramite l'istruzione LD. L'operazione corrispondente viene quindi eseguita con il primo parametro dell'accumulatore. Il risultato di questa operazione viene restituito all'accumulatore. Il piccolo programma è strutturato come segue nell'elenco delle istruzioni:

Esempio di programma nell'elenco delle istruzioni

Esempio di programma nell'elenco delle istruzioni

Testo strutturato

Un altro linguaggio di programmazione è il codice ST (testo strutturato). Il codice ST è un linguaggio di programmazione basato su testo che consente di eseguire compiti di controllo complessi. La sua sintassi è simile a quella del linguaggio di programmazione Pascal. Consente l'uso di variabili, funzioni, loop e istruzioni condizionali. Il codice ST è particolarmente adatto alla programmazione di sequenze di processo complesse e calcoli matematici. Consente una programmazione strutturata e chiara, che facilita la manutenzione e l'ulteriore sviluppo dei programmi di controllo. Per il programma di esempio in codice ST sono necessarie solo 2 righe:

Esempio di programma in testo strutturato

Esempio di programma in testo strutturato

Come è possibile implementare il controllo di sequenza con un PLC?

Il linguaggio del diagramma funzionale sequenziale è ideale per implementare i controlli di sequenza. Immaginiamo un impianto di trattamento termico in cui il materiale da trattare viene convogliato all'interno dell'impianto tramite un nastro trasportatore. I primi 3 passaggi sono i seguenti

  1. Premendo un pulsante di avvio si riscalda un riscaldatore. Quando viene raggiunta la temperatura desiderata, ha inizio il passaggio successivo.
  2. La porta della camera di trattamento viene aperta e viene avviato un nastro trasportatore che alimenta la camera con il materiale. Una volta che il materiale è stato caricato completamente (il che viene rilevato da un interruttore di prossimità), ha inizio la fase successiva.
  3. La porta viene chiusa e la temperatura della camera viene regolata su un valore specifico. Quando viene raggiunta una determinata temperatura al centro del prodotto, il controllo viene disattivato e la porta viene aperta. Ha inizio la fase successiva.
  4. …  

Nei programmi scritti in diagramma funzionale sequenziale, alcune fasi (ad es. riscaldamento e caricamento) sono collegate tra loro da condizioni di commutazione o transizioni. Le prime 3 fasi (+ BasicPosition) del programma necessarie per l'applicazione di esempio appaiono come segue nel linguaggio del diagramma funzionale sequenziale:

Collegamento delle fasi di processo nel diagramma funzionale sequenziale

Collegamento delle fasi di processo nel diagramma funzionale sequenziale

È possibile definire programmi per ogni fase, ma questi vengono eseguiti solo quando la fase corrispondente è attiva. L'elaborazione inizia con la fase “BasicPosition”. Per questa fase non è memorizzato alcun programma, quindi non viene eseguita alcuna attività.

Per tutte le fasi successive vengono definiti programmi separati (ad es. in diagramma ladder). Se il pulsante di avvio viene premuto dalla posizione BasicPosition, viene attivata la fase “Heater” in modo che il generatore di calore venga abilitato dal programma memorizzato. La fase rimane attiva fino a quando la temperatura del riscaldatore raggiunge i 200 °C e la fase “Retract” diventa attiva. Il programma nella fase “Retract” abilita il controllo corrispondente per la porta e il motore del nastro.

Di conseguenza, vengono aggiunte ulteriori fasi con transizioni. L'ultima transizione attiva nuovamente la fase “BasicPosition”.

Quali altre caratteristiche tipiche hanno i controllori logici programmabili?

Una delle funzioni principali di un PLC è l'automazione dei processi, che richiede la programmazione in uno dei linguaggi di programmazione sopra menzionati. Tuttavia, i PLC odierni sono dei veri e propri tuttofare dell'automazione e offrono molto di più:
  • Fornitura di varie interfacce per la comunicazione con sistemi di livello superiore
  • Messa a disposizione di variabili in un cloud in modo che sia possibile accedere all'impianto da qualsiasi luogo utilizzando diversi dispositivi finali
  • Editor per la visualizzazione delle schermate di processo con un aspetto personalizzato in base alle esigenze del cliente
  • Fornitura di un server web, a cui è possibile accedere per visualizzare l'impianto utilizzando un browser o un pannello web