OpenPLC è una suite di controllori logici programmabili open source gratuita, conforme allo standard IEC 61131-3 e funzionante con una gamma di piattaforme hardware come Arduino, ESP8266/ESP32, Raspberry Pi SBC, Windows e macchine Linux.
Quando Arduino ha presentato l’IDE PLC Arduino, gli addetti ai lavori hanno subito notato che i linguaggi definiti dallo standard IEC 61131-3 erano concessi in licenza e la chiave PLC per l’unità Portenta Machine Control è stata venduta per 17,60 dollari. Un lettore si è lamentato dell’elevato costo della licenza per dispositivo, ma Massimo Banzi, il co-fondatore del progetto Arduino, ha risposto che era conveniente per implementazioni più piccole. Questo modello, infatti, aiuta le piccole realtà dotate di pochi dispositivi, ma nonostante sia possibile trattare l’acquisto in blocco di licenze per le aziende, c’è anche un’altra opzione con la suite PLC open source OpenPLC che non richiede alcun canone di licenza. Ciò è apparentemente possibile perché l’utilizzo dei linguaggi di programmazione IEC 61131-3 non richiede una licenza a pagamento, è solo che l’IEC addebita una tariffa per l’acquisto di copie dello standard e i sistemi PLC proprietari in genere richiedono una licenza non open.
Il progetto OpenPLC è composto da due parti principali: l’editor e il runtime. L’Editor è un software che viene eseguito su un computer per creare programmi PLC. Thiago Alves, lo sviluppatore di OpenPLC, afferma che è molto semplice da usare e supporta tutti e cinque i linguaggi definiti nello standard IEC 61131-3, vale a dire Ladder Logic (LD), Function Block Diagram (FBD), Instruction List (IL), Structured Text ( ST) e Sequential Function Chart (SFC).
OpenPLC Runtime è un firmware/software portatile generato dall’editor ed è completamente supportato su una gamma di schede di sviluppo e diversi hardware PLC effettivi:
- Arduino Uno / Nano / Leonardo / Micro
- Arduino Mega / Due
- Arduino Nano Every / IoT / BLE
- Arduino Nano RP2040 Connect
- Arduino Mkr / Zero / WiFi
- Arduino Pro (Machine Control and EDGE)
- Controllino Maxi / Automation / Mega / Mini
- Productivity Open P1AM
- ESP8266 (nodemcu) and ESP32
- Raspberry Pi 2 / 3 / 4
- PiXtend
- UniPi Industrial Platform
- Neuron PLC
- FreeWave Zumlink and ZumIQ
Il Runtime può essere generato anche come target generico (soft-PLC) per Windows o Linux. Troverete il codice sorgente per il runtime e l’editor su GitHub. Proprio come il software PLC commerciale, OpenPLC è progettato per essere utilizzato nei sistemi di controllo e automazione industriale. Rimane da capire quale sia l’effettivo potenziale se confontato con i diretti concorrenti a pagamento. Come ben sappiamo, infatti, troppo spesso le realtà “Open” vanno incontro a ostacoli decisamente difficili da sormontare: finché si rimane in realtà domestiche o in piccolo, le cose possono anche funzionare piuttosto facilmente e bene, ma quando si alza l’asticella e si arriva a grandi realtà che necessitano soprattutto di sicurezza e protocolli standardizzati di alto livello, la musica cambia notevolmente. Come diciamo sempre, non è che un produttore si diverta a far pagare una licenza migliaia di euro. Spesso, dietro tutto quel denaro, ci sono moltissime ore di ricerca e sviluppo e costanti adeguamenti a standard sempre più restrittivi e severi dal punto di vista della sicurezza aziendale.
Se volete scaricare l’editor OpenPLC per Windows, Linux e macOS, potete farlo dal sito Web ufficiale. Sappiate che include un forum di supporto, la documentazione e varie risorse per approfondire la programmazione PLC, lo sviluppo HDMI, SCADA e così via.