Quali reti industriali sono compatibili con Arduino e le altre schede programmabili dedicate ai makers? Perché i PLC occupano oggi il posto d’onore nei sistemi d’automazione industriale? Le schede programmabili per makers possono essere impiegate su larga scala nell’industria?
Benvenuto, oggi parliamo di reti industriali e vediamo quali sono le possibilità di integrazione con Arduino, piuttosto che con i classici PLC.
Prima di affrontare l’argomento, diamo un’occhiata al grafico a torta che appare nell’immagine che segue, esso mostra la diffusione nell’automazione industriale delle varie reti e bus di campo.
Nell’immagine sopra vediamo che le reti più utilizzate nell’automazione sono PROFINET, EthernetIP, PROFIBUS DP, EtherCAT e Modbus, quest’ultima sia in versione seriare RTU che TCP/IP.
Qualsiasi sia la scelta del controllore per creare i nostri sistemi d’automazione, considerare la possibilità di integrazione con queste reti diventa cruciale, poiché questa scelta influenza enormemente i costi e il numero di apparecchiature con il quale potremo interfacciarci.
Arduino e le reti, shields e librerie software.
Quando parliamo di Arduino e altre schede come le ESP32, non possiamo non accennare al fatto che per integrare questi dispositivi sulle reti è solitamente necessario accoppiare le schede stesse ad altre schede (per esempio le shields ethernet), dato che le schede “madri” hanno quasi sempre solo pin per la comunicazione seriale e il connettore USB utilizzato per la programmazione.
Molti PLC, anche quelli piccoli come il LOGO! Siemens hanno ormai tutti a bordo una scheda Ethernet, capaci di farli lavorare facilmente almeno sulle reti PROFINET e MODBUS TCP/IP.
Un’altra differenza tra Arduino e i PLC è che il primo necessita di librerie dedicate alla comunicazione e di programmazione per attuarla, un PLC invece comunica con le apparecchiature anche senza dover scrivere codice, infatti quasi sempre basta una piccola configurazione.
Nella figura che segue vediamo un controllore LOGO! Siemens con la porta Ethernet, e un Arduino accoppiato alla shield Ethernet; sotto il connettore Ethernet dello stesso Arduino si intravede il connettore USB utilizzato per la programmazione.
Arduino e rete PROFINET.
Collegare direttamente un Arduino a una rete PROFINET è qualcosa di complesso e non supportato nativamente.
PROFINET è un protocollo di comunicazione industriale real-time basato su Ethernet, che richiede hardware e software specifici per la sua implementazione.
Le schede Arduino standard non possiedono le risorse hardware, come un chip dedicato per la gestione del protocollo PROFINET, e nemmeno uno stack PROFINET completo, necessari per operare come un dispositivo PROFINET a pieno titolo.
In questo contesto è bene sottolineare che nel valutare un sistema d’automazione, non basta avere “la possibilità” di fare qualcosa, questo “qualcosa” deve essere funzionale, di semplice gestione, e soprattutto affidabile; teniamo sempre presente che spesso i controllori come i PLC si trovano a lavorare in ambienti critici sia dal punto di vista delle condizioni ambientali, che di sicurezza.
Tornando alla rete PROFINET esistono alcune strategie che permettono di integrare Arduino in questa rete, per esempio adottando un gateway. Il gateway può essere una soluzione affidabile per esempio per accoppiare una rete supportata dalla scheda come MODBUS seriale (RTU) oppure TCP/IP, comporta però un costo aggiuntivo, che diventa cospicuo se ci orientiamo verso apparecchiature industriali di qualità.
Nell’immagine sotto vediamo un accoppiatore di reti EthernetIP/Modbus e PROFINET.
Arduino e modbus RTU e TCP/IP.
Grazie alle librerie dedicate, Arduino può lavorare sulle reti Modbus, sia seriale che su supporto fisico Ethernet, attraverso il TCP/IP. Questa è probabilmente la rete più conveniente da adottare con le schede come Arduino, poiché molte sono le apparecchiature industriali che la utilizzano.
Dobbiamo dire che per lavorare in Modbus RTU, è comunque necessario un convertitore da TTL a RS485, dato che la seriale di Arduino utilizza livelli di segnale differenti.
Certamente la rete Modbus rappresenta una soluzione più economica rispetto alla rete PROFINET, le prestazioni però sono molto più limitate.
Nella figura che segue vediamo una tabella riassuntiva delle caratteristiche di queste due reti.
Come vediamo nella tabella, la rete PROFINET è di tipo deterministico con diverse classi in real time, per cui è più indicata in applicazioni dove è necessaria robustezza e velocità.
Modbus è più semplice ma non è real time, inoltre ha poche funzioni di sicurezza intrinseca.
Queste caratteristiche rendono Modbus adatta per applicazioni di supervisione, controllo e acquisizione dati con dispositivi semplici, mentre PROFINET è impiegabile anche in automazione complessa, controllo macchine, e robotica.
Il bus I2C di Arduino e la comunicazione seriale.
Arduino supporta la comunicazione seriale, tuttavia questa in campo industriale oggi è ormai quasi scomparsa, date le caratteristiche che la rendono poco appetibile, sia in termini di prestazioni che di possibilità di collegamento.
Ricordiamo che il protocollo seriale classico è un protocollo punto a punto, ovvero che mette in comunicazione solamente due apparecchiature.
E il bus I2C? Questo è un sistema di comunicazione veloce ma adottabile solo per piccole distanze, viene utilizzato solitamente per mettere in comunicazione i circuiti integrati.
I2C permette di collegare diversi dispositivi, visto che ha la capacità di indirizzarli, non è comunque considerato un bus industriale impiegabile come le reti di cui abbiamo parlato precedentemente.
Concludendo possiamo comprendere perché ancora oggi i PLC sono i dispositivi più diffusi nei sistemi d’automazione industriale, soprattutto nelle aree che necessitano di affidabilità, robustezza e sicurezza.