Logica booleana nella programmazione dei PLC: comprendere le porte logiche FBD
La logica booleana è alla base di ogni programma PLC. Dai semplici controlli delle macchine ai complessi sistemi di automazione industriale, le porte logiche...
Ogni programma PLC si basa su un concetto semplice: prendere decisioni in base a condizioni vere o false. Che si tratti di avviare un trasportatore, arrestare un motore o attivare un allarme, il controllore valuta un insieme di regole logiche prima di agire. Queste regole si basano sulla logica booleana, gli stessi principi utilizzati nell'elettronica digitale e nei sistemi informatici.
La programmazione con diagrammi a blocchi funzionali (FBD) offre un modo visivo per implementare la logica booleana all'interno di un PLC. Invece di basarsi sui simboli elettrici, l'FBD utilizza blocchi interconnessi che rappresentano operazioni logiche. Questo approccio facilita la visualizzazione del flusso dei segnali e la comprensione di come gli ingressi influenzino le uscite.
Comprendere i diagrammi a blocchi funzionali
Gli ingegneri spesso paragonano i diagrammi a blocchi funzionali ai circuiti elettronici. Ogni blocco esegue un'operazione specifica, mentre le linee di collegamento trasportano i segnali tra le funzioni. Gli ingressi entrano da un lato del blocco, la logica viene valutata e l'uscita risultante viene inviata alla funzione successiva.

Figura 1. Configurazione compatta per la formazione sui PLC, utilizzata per apprendere la programmazione con blocchi funzionali.
La Figura 1 mostra una semplice configurazione didattica con PLC. Sebbene l'hardware sia di piccole dimensioni, gli stessi concetti di programmazione si applicano ai grandi sistemi di automazione industriale utilizzati nella produzione, nel controllo dei processi e nella movimentazione dei materiali.
Prima di esaminare le porte logiche, è utile comprendere il programma FBD più basilare: collegare direttamente un ingresso a un'uscita.

Figura 2. Diagramma a blocchi funzionali di base che collega direttamente gli ingressi del PLC alle uscite.
In questo esempio, il PLC trasferisce semplicemente lo stato di un dispositivo di ingresso a un'uscita. Questo tipo di programma viene comunemente utilizzato durante la messa in servizio e la ricerca dei guasti per verificare che il cablaggio di campo e i moduli I/O funzionino correttamente.
Logica AND: richiedere più condizioni
La porta AND è una delle funzioni logiche più utilizzate nell'automazione industriale. Una funzione AND richiede che tutti gli ingressi siano attivi prima che l'uscita possa attivarsi. Se un ingresso diventa inattivo, l'uscita si disattiva immediatamente.

Figura 3. Logica AND rappresentata nella logica ladder, nel testo strutturato e nei diagrammi a blocchi funzionali.
La logica AND è comunemente utilizzata per gli interblocchi delle macchine. Un motore di un trasportatore potrebbe richiedere un comando di avvio, un circuito di sicurezza integro e la conferma che l'apparecchiatura a valle sia disponibile. Tutte e tre le condizioni devono essere vere prima che il PLC consenta al motore di funzionare.
Questa logica contribuisce a prevenire i danni alle apparecchiature e garantisce che le macchine funzionino solo quando sussistono condizioni di sicurezza.
Logica OR: accettazione di ingressi alternativi
A differenza di una porta AND, una porta OR richiede che sia attivo un solo ingresso perché l’uscita venga eccitata. Ulteriori ingressi attivi non modificano il risultato, perché l’uscita è già vera.

Figura 4. Logica OR visualizzata mediante logica a contatti e diagrammi a blocchi funzione.
La logica OR compare frequentemente nei sistemi di allarme. Un allarme della macchina può attivarsi quando si verifica un guasto di sicurezza, scatta il sovraccarico di un motore o viene rilevato un errore di comunicazione. Poiché ognuno di questi eventi richiede l’intervento dell’operatore, la logica OR offre un modo efficiente per combinare più condizioni di guasto.
Un’altra applicazione comune è l’avvio delle macchine. Gli operatori possono avviare l’apparecchiatura tramite un pulsante locale o una schermata HMI. Entrambi i comandi sono accettabili, rendendo la logica OR la scelta ideale.
Logica NOT: inversione di un segnale
La porta NOT svolge una funzione semplice ma importante. Inverte lo stato di un segnale. Se l’ingresso è vero, l’uscita diventa falsa. Se l’ingresso è falso, l’uscita diventa vera.

Figura 5. Esempio di logica OR per un’uscita e di logica NOT per un’altra uscita.
La logica NOT è ampiamente utilizzata nelle applicazioni di sicurezza e monitoraggio dei guasti. Gli ingegneri monitorano spesso segnali che dovrebbero rimanere attivi durante il normale funzionamento. Se il segnale scompare inaspettatamente, il controller interpreta il cambiamento come una condizione di guasto.
Ad esempio, un relè di sicurezza in condizioni normali può fornire continuamente un segnale di stato. Utilizzando la logica NOT, il PLC può identificare immediatamente la perdita di tale segnale e arrestare la macchina se necessario.
Logica NAND: inversione di una funzione AND
La logica NAND si crea collocando un invertitore sull’uscita di una porta AND. Anziché richiedere che tutti gli ingressi attivino l’uscita, la logica NAND richiede che tutti gli ingressi disattivino l’uscita.

Figura 6. Implementazione della logica NAND mediante logica a contatti e programmazione a blocchi funzione.
La logica NAND può essere difficile da visualizzare per i programmatori alle prime armi, perché l’inversione avviene sull’uscita anziché sugli ingressi. Comprendere questa differenza aiuta a evitare errori di progettazione comuni durante la conversione della logica tra gli schemi a contatti e i diagrammi a blocchi funzione.
In pratica, la logica NAND è utile ogni volta che un’apparecchiatura deve rimanere attiva finché non si verifica una combinazione specifica di condizioni.
Logica NOR e circuiti di sicurezza
La logica NOR combina una funzione OR con un’uscita invertita. L’uscita rimane attiva solo quando tutti gli ingressi rimangono inattivi.

Figura 7. Logica NOR comunemente utilizzata nei circuiti di arresto di emergenza e di sicurezza.
I sistemi di arresto di emergenza ne sono un esempio pratico. In condizioni normali, tutti i pulsanti di arresto di emergenza rimangono ripristinati e il circuito di sicurezza resta alimentato. La pressione di un pulsante di arresto di emergenza interrompe immediatamente la catena di sicurezza e toglie alimentazione alle apparecchiature pericolose.
Questa filosofia di progettazione fail-safe è un pilastro dei moderni sistemi di sicurezza delle macchine.
Logica XOR: quando gli ingressi devono essere diversi
La porta OR esclusivo, o XOR, si comporta diversamente dalla logica OR standard. L’uscita si attiva solo quando un ingresso è attivo e l’altro è inattivo.

Figura 8. Logica XOR che mostra condizioni di ingresso esclusive in un’applicazione PLC.
Se entrambi gli ingressi sono disattivati, anche l’uscita rimane disattivata. Se entrambi gli ingressi sono attivati, anche l’uscita rimane disattivata. L’uscita si attiva solo quando i due ingressi sono diversi.
La logica XOR viene comunemente utilizzata con i selettori, i circuiti di selezione della modalità e i sensori ridondanti. Ad esempio, una macchina può essere progettata per funzionare in modalità automatica o manuale, ma mai in entrambe contemporaneamente. La logica XOR può verificare che sia stata selezionata una sola modalità operativa.
Perché la logica booleana è importante nella programmazione dei PLC
Sebbene i moderni sistemi di automazione siano diventati sempre più sofisticati, la logica booleana rimane al centro di ogni applicazione PLC. Le porte logiche consentono ai controllori di valutare le condizioni operative, applicare i requisiti di sicurezza, elaborare gli ingressi dei sensori e controllare le uscite in modo prevedibile.
La programmazione con diagrammi a blocchi funzione offre una rappresentazione visiva chiara di queste relazioni logiche. Comprendendo il funzionamento delle funzioni AND, OR, NOT, NAND, NOR e XOR, gli ingegneri possono creare sistemi di controllo più affidabili e risolvere i problemi dei programmi esistenti in modo più efficace.
Che si lavori su una piccola macchina autonoma o su un grande progetto di automazione industriale, padroneggiare la logica booleana è una delle competenze più preziose nella programmazione dei PLC.
Informazioni sull’autore
Michael Harrington | Analista dei sistemi di controllo industriale
Michael Harrington vanta oltre 12 anni di esperienza nella trattazione dell’automazione industriale, della programmazione dei PLC, dei sistemi di protezione dei macchinari e delle tecnologie di produzione digitale. La sua esperienza comprende progetti di automazione che coinvolgono le piattaforme Siemens SIMATIC, i sistemi Allen-Bradley ControlLogix, i controllori ABB AC800M e le soluzioni di automazione dei processi Honeywell. Si occupa regolarmente delle tendenze nell’ingegneria dei sistemi di controllo, della cybersicurezza industriale, della sicurezza delle macchine e delle tecnologie di produzione avanzate utilizzate nei settori di processo e manifatturieri discreti a livello globale.