OpenPLC – Open-source Programming Language Controller Suite Supported by a Wide Range of Hardware
OpenPLC is a fully-featured standardized Programming Logic Controller Suite that officially supports a variety of platforms such as Arduino, Raspberry Pi 2/3/4, Windows, and Linux. This openPLC consists of two main parts named the Runtime software and the programming Editor. While you use the Editor to create, design, compile, and upload your PLC programs, you use the Runtime to execute the programs that you have created on the Editor.
The Editor IDE is very easy to use and offers more flexibility when it comes to programming a PLC. It is IEC 61131-3 standard compliant and thus supports the five high-level programming languages defined in it– Ladder Logic programming, Function Block Diagram, Instruction List, Structured Text, and Sequential Function Chart. Compared to Arduino PLC IDE where all the programming languages defined by the IEC 61131-3 standard are licensed and you have to pay almost $18 for their Potenta Machine control PLC key, this PLC IDE is completely open source and does not require you to pay license fee for any of the programming languages that it supports. You are only charged for buying copies of the standard, as required by IEC.
OpenPLC Runtime is claimed to be able to run from the tiniest of all microcontrollers to real PLC and then to powerful cloud servers. It is fully supported on several development boards and actual PLC hardware, including:
- ESP32 / ESP8266
- Arduino Nano / Uno / Micro / Leonardo
- Arduino Mega/Due
- Arduino Mkr / Zero / WiFi
- Arduino Nano Every/IoT/BLE
- Arduino Pro
- Productivity Open P1AM
- PiXtend
- Neuron PLC
- Controllino Maxi/Automation/Mega/Mini
- UniPi industrial platform
Ideally, OpenPLC finds its use mostly in IoT, industrial automation, and control systems but its open-source nature has made it possible for many researchers to also leverage it as a framework for industrial cybersecurity research.
For support and inquiries, the OpenPLC developer, Thiago Alves, encourages users to engage their vibrant community forum which currently has over 3,000 members from everywhere in the globe and over 50,000 page views per month. The forum is fully supportive; you can see all the new stuff coming to the OpenPLC project, drop bug reports from the Editor, or just get engaged in general discussions that relate to the OpenPLC project. You will also have access to learning materials where you can learn about PLC programming, HDMI development, etc. Alves also revealed that they are currently working on bringing training to the community encompassing all major topics, from basic ladder logic programming to advanced cybersecurity.
Other useful details on the OpenPLC including source codes for the Runtime and Editor can be found on the developer’s GitHub repository while the website has links to download the OpenPLC Editor for Windows, Linux and macOS.
What is the “Programming Language Controller” in OpenPLC? Don’t you mean “Programmable Logic Controller” instead?[1]
1. Programmable Logic Controller
https://en.wikipedia.org/wiki/Programmable_logic_controller