Controllare un PLC basato su Arduino utilizzando Node-RED

Arduino PLC

Arduino è stato creato con l'obiettivo di fornire, a principianti e professionisti, un modo semplice ed economico per creare dispositivi che interagiscono con il loro ambiente utilizzando sensori e attuatori. Arduino è diventato universalmente accettato perché si tratta di una piattaforma elettronica open source basata su hardware e software facili da usare. Con l'introduzione dell'IoT, la scheda Arduino ha iniziato a cambiare per adattarsi alle nuove esigenze e sfide come le applicazioni IoT, i dispositivi indossabili, la stampa 3D, gli ambienti integrati e infine i PLC (controllore logico programmabile). In questo articolo, vedremo come controllare un PLC basato su Arduino utilizzando Node-RED.

Introduzione

I PLC (controllore logico programmabile) sono unità di controllo appositamente progettate per azionare le macchine utilizzate per l'automazione industriale. Essendo progettati per essere affidabili in ambienti industriali difficili (temperature estreme, umidità elevata, eccesso di polvere), sono costosi sia per ciò che riguarda l'installazione che per la riparazione. Un PLC presenta funzionalità molto simili a quelle di un microcontrollore. Entrambi hanno un alimentatore, una CPU, porte di ingresso e uscita, memoria RAM, ROM e software di controllo. La differenza principale tra i due risiede nel fatto che il PLC può eseguire funzioni discrete e continue in ambienti difficili. Sul mercato, esistono molte tipologie diverse di PLC a seconda delle esigenze del cliente, tuttavia, dal punto di vista dell'architettura interna le differenze non sono così marcate. In Figura 1 si può vedere un diagramma a blocchi che illustra i moduli più importanti all'interno di un generico PLC.

PLC

Figura 1: Diagramma a blocchi di un generico PLC

Modulo di alimentazione: questo modulo, in alcune configurazioni, è separato dal PLC nella forma di un adattatore esterno mentre in altri casi viene progettato direttamente sul PCB principale. La funzione del modulo è fornire l'energia necessaria all'intera configurazione del PLC. Il modulo è un convertitore che converte l'alimentazione CA disponibile in alimentazione CC richiesta dalla CPU e da altri moduli. Di solito, il PLC funziona con un'alimentazione da 12 V e 24 V.

Unità centrale di elaborazione: questo modulo è il fulcro del funzionamento dell'intero PLC. Il modulo CPU è costituito da un microprocessore o microcontrollore, memoria di programma, memoria flash e memoria RAM. La memoria flash o memoria ROM memorizza il sistema operativo, i driver e il programma applicativo. La RAM viene utilizzata dal microprocessore per accedere a dati e informazioni. La funzione della CPU è eseguire il programma memorizzato nella memoria e agire secondo le istruzioni scritte. Quindi, nella pratica, la CPU legge i dati di input dai sensori che monitorano il processo e invia una risposta appropriata in base al programma.

Moduli di ingresso e uscita: il modulo di ingresso viene utilizzato per stabilire un collegamento tra i vari sensori e input con la CPU, e il modulo di uscita viene utilizzato dal processore per fornire una risposta al mondo esterno.

Modulo dispositivo di programmazione: questo modulo viene utilizzato per stabilire la comunicazione tra PC e PLC. La funzione di base è programmare il microprocessore o microcontrollore del PLC.

Tipologie di PLC

I PLC si possono raggruppare principalmente in due tipologie:

  1. I PLC compatti o fissi di solito sono PLC di fascia bassa. I PLC compatti hanno un numero fisso di moduli I/O e schede I/O esterne e non possono essere estesi ulteriormente per realizzare una configurazione più complessa.
  2. I PLC modulari consentono espansioni multiple impilando i "moduli" in parallelo. Le porte I/O del PLC modulare possono essere aumentate per operazioni più complesse. Il PLC modulare è anche più facile da usare perché ogni componente è indipendente l'uno dall'altro. Questo tipo di PLC è popolare in molti settori.

Data la similarità nel funzionamento, Arduino può essere usato come base per progettare un PLC. I PLC basati su Arduino sono già presenti sul mercato e disponibili ad un prezzo inferiore rispetto ai PLC convenzionali. Ad esempio, Industrial Shields è un'azienda che fornisce PLC basati su Arduino per molte applicazioni industriali. Di seguito, vengono descritti un paio di questi PLC basati su Arduino:

  • ARDBOX è un PLC basato su Arduino progettato per applicazioni industriali di piccola e media scala. Esso è progettato sulla base di Arduino Leonardo, quindi, sostanzialmente, tutte le specifiche tecniche di ARDBOX sono le specifiche di Leonardo.
  • M-DUINO è un PLC basato su Arduino progettato per applicazioni industriali di piccole e medie dimensioni. M-DUINO è progettato sulla base della scheda Arduino Mega, quindi le specifiche tecniche dei due sono praticamente le stesse.

Restano comunque alcune differenze tra un PLC basato su Arduino e un PLC convenzionale e alcune di esse sono menzionate nella Tabella 1.

Tabella 1: Principali differenze tra un PLC basato su Arduino e un PLC convenzionale
PLC basato su Arduino PLC convenzionale
Necessita di componenti esterni per funzionare come PLC Non ha bisogno di componenti esterne
Basso costo Alto costo
È necessario imparare la programmazione di base per riscrivere il programma Arduino Necessaria solo la tecnica operativa di base per programmare il PLC
La riprogrammazione è relativamente difficile La riprogrammazione è relativamente semplice
Prestazioni soddisfacenti Alte prestazioni
Non può funzionare in condizioni difficili Può funzionare in condizioni difficili
Compatto e piccolo Ingombrante e pesante
Più opzioni di comunicazione Meno opzioni di comunicazione
Facile da sostituire e riparare Difficile da sostituire e riparare

Node-Red

Node-Red è uno strumento di programmazione per collegare insieme dispositivi hardware, API e servizi online in un modo molto intuitivo, facile e veloce. È uno strumento eccellente per programmare graficamente. Infatti, permette di visualizzare per mezzo di simboli le relazioni e le funzioni e consente all'utente di programmare senza l'uso di codice. Node-RED è un editor di flusso basato su browser in cui si possono aggiungere o rimuovere nodi e collegarli insieme per farli comunicare tra loro. Il suo vero punto di forza, comunque, è che consente l'interazione dei dati da software/hardware, utilizzando diversi protocolli, verso software/hardware.

Quando si programmano progetti IoT con PLC basati su Arduino, è possibile utilizzare un terminale finestra oppure una piattaforma o un software per la programmazione. In questo articolo, utilizzeremo la piattaforma Node-RED per collegare insieme Node-RED e Arduino, in modo da poter realizzare progetti di automazione industriale.

Introduciamo alcuni concetti base di Node-RED: [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2123 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend