Arduino PLC

The PLC (Programmable Logic Controller) has been and still is the basic component of the industrial automation world. PLCs are usually pretty expensive pieces of hardware, which led many people who know micro-controllers to come up with their own ideas to implement similar functionality.

Arduino is a kind of universal programmable controller, although it is only the “core” and in any case it has been built for general applications; with a little of external hardware (essentially interfaces capable of transferring signals from sensors and to actuators, reducing the EMI which may damage the microcontroller) and an appropriate software may, however, become something very similar to a PLC. For output you can use Arduino Relay modules. For input you can use varying Arduino sensors of build your own adapter for some industrial sensors.

Arduino as a programmable logic controller (PLC) tutorial we will explain how to “convert” our Arduino board in a PLC-like controller.  There are several ways to turn Arduino into a Programmable Logic Controller, and Arduino as a programmable logic controller (PLC) tutorial presents two: Ladder Logic for PIC and AVR software and ladder.h Generator for LDmicro → Arduino. Also OpenPLC project has a OpenPLC Ladder Editor that can generate code for a standard arduino from a ladder diagram.

In some applications PLCs are more used as IO interfaces for SCADA systems more than doing the controlling. If you want to make Arduino board to look like PLC from SCADA point of view, you can put in software that make it to communicate with MODBUS or other suitable SCADA protocol. One easy way to experiment is to try SCADA for Arduino that includes both Arduino software and SCADA software. I tried it and you can read my experiences with it at Experimenting with SCADA for Arduino posting.

If you are worried if your Arduino based rat’s nest would survive in industrial environment or would be accepted by industrial control people, it is a good idea to to consider available Arduino compatible products designed for industrial control applications. There are now several commercial products built for Arduino PLC applications:

CONTROLLINO advertises to be first software Open-Source PLC. It is ARDUINO compatible.It started as Kickstarter project, but is now available directly from manufacturer web site. It advertises to be designed  to control your Internet of Things and be CE & UL certificated. For more details check the video ARDUINO + PLC = CONTROLLINO

Industruino is an Arduino compatible industrial controller. Industruino is a fully featured Arduino Leonardo compatible board housed in a DIN-rail mountable case + prototyping area + onboard LCD + membrane panel. With this product you will be able to permanently install your Arduino application to industrial. Industruino is a pre-built solution offering a range of industrial voltage level I/O. All controlled with the ease of Arduino coding.

Industrial Shields has a selection of Arduino compatible industrial PLC hardware that can be plugges to DIN rail. The ARDBOX PLC, as it uses an Arduino UNO or Arduino LEONARDO, lets you program it through the USB. M-DUINO family is based on Arduino Mega. This PLC can be programmed using the Arduino IDE platform

 

BieMme Italia offers Soft PLC Arduino which is based on Advanced Arduino Relay Shield. You plug your Arduino to this shield, and it should be then industrial compatible with the control voltage and electrical protection. BieMme Italia also has Bmini All-in-one that has 4 optoiso­lated 24V dig­i­tal inputs, 4 high qual­ity relays, 8 ana­log inputs, PWM, I2C, RS485, Eth­er­net and more.

 

 

 

270 Comments

  1. Tomi Engdahl says:

    Arduino’s Portenta Machine Control Gets a Revamped Library, New User Guide
    If you’ve been struggling to get to grips with the Arduino Portenta Machine Control’s capabilities, Arduino’s new documentation will help.
    https://www.hackster.io/news/arduino-s-portenta-machine-control-gets-a-revamped-library-new-user-guide-1d443b12a54e

    Reply
  2. Tomi Engdahl says:

    https://etn.fi/index.php/new-products/16020-teollisuuspalvelin-raspberry-pistae-kyllae-onnistuu

    Italialainen sulautetun teollisuusratkaisujen kehittäjä Sfera Labs on esitellyt teollisuuspalvelimen, joka pohjaa Raspberry Pi CM4 -moduuliin. Sen etuna on avoimuus: palvelimella voidaan ajaa kaikkia sovelluksia, jotka toimivat Raspberry Pi -kortilla.

    Uusi palvelin on nimeltään Strato Pi Max. Kyse on Raspberry Pi CM4 -pohjaisesta teollisuusohjaimesta, joka tarjoaa avoimia, optimoituja ja luotettavia ratkaisuja teollisiin ja IoT-sovelluksiin-

    Strato Pi Max on DIN-kiskoon asennettu moduuli, jossa on langaton Wi-Fi- ja BLE-yhteys, kaksi Ethernet-porttia, kaksi SD-, eMMC- ja/tai SSD-tallennusvaihtoehtoa ja kaksi USB-porttia. Moduuli tukee jopa neljää sulautettua laajennuskorttia, jotka laajentavat ominaisuudet kattamaan sarja- (RS485/RS232)- ja CAN-väyläliitännät, digitaaliset I/O-liitännät, langattomat lisäyhteydet ja tuen keskeytymättömälle virtalähteelle (UPS).

    Reply
  3. Tomi Engdahl says:

    The Arduino PLC Starter Kit aims to teach programmable logic control to high school and university students
    Arduino PLC Starter Kit combines the Arduino Opta micro PLC, the Arduino DIN Simul8 digital input simulator and power distribution board, and the Arduino DIN Celsius board with two independent
    heater circuits and one temperature sensor acting as a temperature laboratory.

    The kit is supported by the Arduino PLC IDE first introduced in 2022 and comes with various cables and a power supply that allows users to quickly get started.
    https://www.cnx-software.com/2024/04/04/arduino-plc-starter-kit-programmable-logic-control-education/

    Reply
  4. Tomi Engdahl says:

    https://etn.fi/index.php/13-news/16225-arduino-taipuu-logiikkaohjaimeksi

    Infinite Electronics -konserniin kuuluvat langattomien liitäntälaitteiden toimittaja L-com on esitellyt uuden sarjan avoimen lähdekoodin Arduino -logiikkaohjaimia ja virtalähteitä. Nämä tuotteet palvelevat keskeisiä toimintoja prosessiohjauksessa, kuljetus- ja liikennejärjestelmissä, ruoka- ja juomateollisuudessa sekä teollisuuslaitosten, maatalouden, rakennusten ja kotitalouksien automaatiossa.

    Reply
  5. Tomi Engdahl says:

    In this tutorial, Christopher Mendez demonstrates how you can use the new Opta Digital Expansions to extend your Opta-powered solution’s capabilities along with the Arduino PLC IDE: https://docs.arduino.cc/tutorials/opta-digital-exp/opta-expansions-plc-ide/

    Reply
  6. Tomi Engdahl says:

    Arduino Opta Serial and I2C Breakout
    This adapter kit enables serial and I2C access on the Arduino Opta micro PLC.
    https://www.hackster.io/news/arduino-opta-serial-and-i2c-breakout-a74dfb9f414e

    Reply
  7. Tomi Engdahl says:

    In this tutorial, discover how to enable Modbus RTU communication on the Portenta Machine Control using the Arduino PLC IDE: https://docs.arduino.cc/tutorials/portenta-machine-control/pmc-modbus-rtu-plc-ide/

    Reply
  8. Tomi Engdahl says:

    Sfera Labs Strato Pi Max DIN rail industrial controllers now support the Raspberry Pi Compute Module 5
    The Raspberry Pi Compute Module 5 (CM5) was launched at the end of last month, and we are starting to see companies slowly announce upgraded CM4 designs. Yesterday, we wrote about EDATEC ED-IPC3100 DIN-Rail mountable industrial computers, and today, we’ll cover Sfera Labs’ addition of the Raspberry Pi Compute Module 5 to their Strato Pi Max DIN rail industrial controllers.

    The controllers still feature a gigabit Ethernet port, a 10/100M Ethernet port, two USB 2.0 ports, a Raspberry Pi RP2040 microcontroller for power management and boot sequence control, and support expansion modules for up to sixteen RS-485 or RS-422 ports, four CAN V2.0B ports, digital and analog I/O, and more.
    https://www.cnx-software.com/2024/12/12/sfera-labs-strato-pi-max-din-rail-industrial-controllers-raspberry-pi-compute-module-5/

    Reply

Leave a Reply to Tomi Engdahl Cancel reply

Your email address will not be published. Required fields are marked *

*

*