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:

    plcLib – PLC Software for the Arduino
    http://www.electronics-micros.com/software-hardware/plclib-arduino/

    Our plcLib software turns your Arduino into a simple Programmable Logic Controller (PLC), allowing you to develop ‘PLC-style’ control-oriented software applications.

    Software Development Methods

    In the most familiar design method, an electrical circuit containing elements such as switches and lamps is first represented in graphical form as a ladder diagram – which must then be transformed into a text-based Arduino program (or sketch), before being compiled and downloaded in the normal way. You can also describe a system as a block diagram (function block diagram), or a sequence based system (sequential function chart), all of which can be mixed with native C/C++ code (structured text), so you are free to use the design approach which best suits the problem.

    The software is supplied as an installable Arduino library, which is included in the normal way at the start of your program. A number of text-based PLC-style commands then become available for use in your programs.

    Software features supported by the current plcLib version include inputs (digital / analogue), outputs (digital / PWM / servo), Boolean logic operators, latches, timers, and repeating waveforms. Further details are available from the User Guide

    http://www.electronics-micros.com/software-hardware/plclib-arduino-install/

    Reply
  2. Tomi Engdahl says:

    Here is link to one similar project that did not get funded but might give ideas:

    Arduino programmable PLC
    https://www.facebook.com/plcuno

    Arduino programmable PLC-Uno
    https://www.indiegogo.com/projects/arduino-programmable-plc-uno

    A 16 I/O Programmable Logic Controller (PLC) for Industrial and Home automation, built around an ATMega328P with Uno bootloader. Mega and Due cores out soon.

    The PLC-Uno has 8 x optically isolated 24VDC inputs (24VDC is the industrial standard across the globe), 1 x 0-5VDC analog input, 6 electrically isolated relay outputs rated 10A at 220VAC and 1 x analog output, selectable between 0-10VDC output or 4-20mA output, via a set of jumpers. We have plans to design similar PLCs around the Arduino Mega256 and the Arduino Due cores.

    The PLC-Uno will be open source hardware and will be compatible with the Arduino(tm) environment and with Bitlash(tm) scripting and anything else that is Arduino(tm) compatible.

    Reply
  3. Tomi Engdahl says:

    Tutorial Bmini: Arduino Advanced Relay Shield. The MCU
    https://www.youtube.com/watch?v=zqhSgqTDXFU

    This video shows how to plug the Arduino Ethernet board within the Advanced Relay Shield Bmini.

    Reply
  4. Tomi Engdahl says:

    It seems that there are also Raspberry Pi based devices for PLC applications:

    Raspberry Pi-based Fanless CANbus Controller
    http://www.eeweb.com/news/raspberry-pi-based-fanless-canbus-controller

    Saelig Company, Inc. rolled out its emPC-A/RPI – a compact, fanless embedded controller based on the Raspberry Pi 2 B board, but with Janz Tec add-ons to implement additional features needed for industrial applications. Intended for wall or DIN-rail mount, the emPC-A/RPI includes extra features that expand the usefulness of the Raspberry Pi computer, including a CANbus interface. The compact 24-pin multi-connector provides access to many of the emPC-A/RPI interfaces such as SPI, I2C, 8 x digital I/O lines, RS232/485, etc. Two USB interfaces are also available on the connector panel.

    The compact (4.0” x 3.8” x 1.2”) and lightweight ( 0.9lb) emPC-A/RPI is powered by a 900MHz quad-core ARM Cortex-A7 BCM2836 processor with 1GB SDRAM.

    The use of CODESYS runtime control system software is also possible for the emPC-A/RPI. This is a soft PLC program created by 3S-Smart Software Solutions GmbH. Using this IEC 61131-3 programming system in combination with the Janz Tec emPC-A/RPI system makes it ideal for test and educational applications because the controller can make use of the additional interfaces the emPC-A/RPI offers, such as digital IO, CAN, RTC, and RS232/RS485.

    Reply
  5. Tomi Engdahl says:

    Arduino/Raspberry Pi open-source formats meet industrial controls – in distribution
    http://www.edn-europe.com/en/arduino/raspberry-pi-open-source-formats-meet-industrial-controls-in-distribution.html?cmp_id=7&news_id=10007051&vID=1327#.VfE-8JdLZ4A

    RS Components has the Industrial Shields brand of PLCs (programmable logic controllers and panel PCs; the range builds on Arduino, Hummingboard and Raspberry Pi boards to deliver open-source advantages on ready-to-use, approved hardware.

    In the past few years the flexibility of open-source development boards has eased the design process for electronic engineers, enabling faster prototyping for cutting-edge applications, especially in the Internet of Things (IoT) space. “Our new distribution agreement with Industrial Shields brings this flexibility to industrial engineers with a series of ready-to-install open-source industrial products,”

    The Industrial Shields PLCs and panel PCs are based on the most popular open-source developments boards, such as Arduino, Raspberry Pi and Hummingboards, and can be programmed exactly in the same way. This unique characteristic allows engineers to go from prototype to industrialisation using the same flexible programming code.

    The PLC portfolio comprises ARDBOX compact PLCs based on the Arduino Leonardo board, and M-DUINO Ethernet PLCs based on the Arduino Mega board. All operate from a supply voltage of 12-24V DC, and can be programmed and monitored via the Arduino IDE platform. ARDBOX compact PLCs are available in two different versions with up to 20 I/Os giving a choice of digital, analogue and relay outputs. The M-DUINO series offers five different versions with up to 58 I/Os. All units support I²C communication allowing I/O expansion by connecting multiple units together. USB, RS232 and RS485 communication ports are also provided.

    The panel PCs are open-source programmable 10.1-inch capacitive touchscreens, available in three different versions. HummTOUCH Android and HummTOUCH Linux give a choice of popular operating systems running on the Hummingboard ARM-based single-board computer. TOUCHBERRY Pi, based on the Raspberry Pi, runs the Raspbian Linux operating system. All the usual communication ports including Ethernet, USB, SPI Serial TTL and I²C are provided, and the units can be programmed via the USB port using the Arduino IDE that is based on Processing.

    Reply
  6. Tomi Engdahl says:

    There are a surprising number of Raspberry Pis being used in industrial equipment. This means the Arduino is left behind, but no longer. There’s your PLCs that use Arduinos.

    http://www.industrialshields.com/

    Reply
  7. kenny Huang says:

    we are a manufacture of Aduino PLC in Taiwan, and looking for the cooperation opportunity from you.

    we could make the product for you(OEM model), or import your products to Taiwan for saling.

    Reply
  8. Tomi Engdahl says:

    Claims to be: The world’s first Arduino-control logic

    Component and tool vendor Conrad Business Supplies has increased the product line logic controllers which are based on the first in the world on the popular Arduino development board.

    Series has been given the name Controllino. It is a highly flexible controllers, which are suitable for a variety of automation applications including controlling the temperature control, lighting and multimedia.

    Control logic produces Austrian SG-Tronic GmbH, a subsidiary of Controllino. The range consists of three options: the Mini, Maxi and Mega models, each of which is compatible with the requirements and complexity for various applications. All models are based on the Arduino open-platform, as well as Atmel Atmega micro-controller.

    The device can be found for example. SPI, I2C, RS232 and RS485 interfaces. The internal real-time clock can be switched on and off. The front panel USB port allows for simple external programming.

    Controllino Mini offers a variety of I / O connections: 6 relay outputs, 8 analog / digital inputs and 8 digital outputs in a small package with dimensions of 94.5 × 59.4 × 36 millimeters. Maxi addition to providing 10 relay outputs, 12 A / D inputs and 12 digital outputs and an Ethernet interface and a second RS232 interface.

    Source: http://etn.fi/index.php?option=com_content&view=article&id=3659:maailman-ensimmaiset-arduino-ohjauslogiikat&catid=13&Itemid=101

    Reply
  9. Tomi Engdahl says:

    How about bioöding PLC with Raspberry Pi and stack of IO cards?

    PiFace Rack Stack ‘em up!
    http://www.piface.org.uk/products/piface_rack/

    PiFace started life as a light bulb moment of Dr. Andrew Robinson to make it easier to connect the Raspberry Pi with the physical world.

    Fitting PiFace Rack

    Adjust the address jumpers on your PiFace Digitals to the desired address (for most applications this will be at most one board per address).
    Click here for more information on the PiFace’s jumpers.
    Fit your PiFace Digitals onto the PiFace Rack’s male header pins (the ones bent at right angles).
    Fit the PiFace Rack’s female header onto the RaspberryPi’s male GPIO pins, oriented so the PiFaces shadow the RaspberryPi’s layout.

    Reply
  10. Tomi Engdahl says:

    Raspberry Pi Zero cap rail enclosure
    https://hackaday.io/project/9539-raspberry-pi-zero-cap-rail-enclosure

    USB hub, wide range power supply, protoboard and din rail enclosure for the Raspberry Pi Zero

    RasPiBox Zero is an accessory for the Raspberry Pi Zero. The heart is an additional pcb with integrated USB hub, voltage regulator and breadboard. It fits together with the PiZero in a 3 module DIN rail enclosure.

    RasPiBox Zero for Raspberry Pi Zero
    http://www.hwhardsoft.de/english/projects/raspibox-zero/

    RasPiBox Zero is an accessory for the Raspberry Pi Zero. The heart is an additional pcb with integrated USB hub, voltage regulator and breadboard. It fits together with the PiZero in a 3 module DIN rail enclosure.

    Overview:

    milled 3 module DIN rail enclosure
    assembled pcb with socket to plug a Raspberry Pi Zero
    integrated voltage regulator (input voltage 9..35V via 2 was terminal block)
    integrated 4 port USB hub
    breadboard / proto board for own circuits
    marked SPI, I2C and UART connectors beside the breadboard area
    2x 2 way terminal blocks to connect external componets to the breadboard

    The Raspberry Pi zero is connected via an internal USB cable to the internal USB hub.
    This USB hub provides 4 USB ports to connect WLAN sticks, USB memory sticks, keyboards, USB-Relays and other USB devices to the Raspberry Pi Zero.
    The breadboard area can be used to add other interfaces (RS485, RS232, inputs and outputs etc.) to the Raspberry Pi Zero.

    Reply
  11. Tomi Engdahl says:

    SCADA (Simple SCADA) and Arduino with OPC
    https://www.youtube.com/watch?v=XTih4utIWz4

    Arduino UNO
    OPC Library for Arduino+OPC Server http://www.st4makers.com/
    Simple Scada http://simple-scada.com/

    Reply
  12. Tomi Engdahl says:

    Arduino HMI with Visual Studio 2013 Graphical Interface
    https://www.youtube.com/watch?v=tR2EFbTW8wY

    Hmi Controller for Arduino example part 1
    https://www.youtube.com/watch?v=f87pRN3jsSs

    Hmi Controller for Arduino example part 2
    https://www.youtube.com/watch?v=v5uJicsZGUs

    Reply
  13. Tomi Engdahl says:

    Real-time Control (SCADA) on the Raspberry Pi 2
    https://www.youtube.com/watch?v=SkcBzkr_Z34

    This video shows the development of an industrail strength SCADA/DCS system on the Raspberry Pi 2. The aim is to bring a VERY LOW COST SCADA system to hobbyists and industry alike.

    Raspberry Pi PLC – Industrial Remote IO with Modbus/TCP Driver
    https://www.youtube.com/watch?v=EAXJ_3dfeNI

    How to setup the Raspberry Pi to use Modbus/TCP driver with Remote IO.
    Explains how to install Python Modbus (pyModbus) driver in a basic application.

    Reply
  14. Tomi Engdahl says:

    Raspberry Pi: 1 Channel Relay control with a Mobile Phone step by step
    https://www.youtube.com/watch?v=3u45htuQeag

    Raspberry Pi: 8 Channel Relay step-by-step with software examples for automation
    https://www.youtube.com/watch?v=oaf_zQcrg7g

    Raspberry Pi with 32 relays and 2 mcp23017
    https://www.youtube.com/watch?v=m83UdW67hVY

    Reply
  15. Tomi Engdahl says:

    OpenPLC is Ready for Hacking
    http://hackaday.com/2016/06/07/openplc-is-ready-for-hacking/

    OpenPLC can be programmed in all 5 IEC 61131-3 languages: ST, IL, LADDER, FBD and SFC. On top of that, it lowers the barrier of entry to developing this kind of industrial hardware by being compatible with all the favorites Arduino, Raspberry Pi, Windows, Linux, etc.

    “The OpenPLC is the first fully functional standardized open source PLC. We believe that opening the black-box of a PLC will create opportunities for people to study its concepts, create new technologies and share resources.”

    http://www.openplcproject.com/

    Reply
  16. Tomi Engdahl says:

    Home > Open Source Projects > Arduino as a programmable logic controller (PLC)
    Arduino as a programmable logic controller (PLC)
    http://www.open-electronics.org/arduino-as-a-programmable-logic-controller-plc/

    To turn Arduino into a Programmable Logic Controller, there are two approaches. The first one is to write our program using KOP language (ladder). To do that, we must use two more applications in addition to Arduino IDE: the first is LDmicro that is the editor and compiler of our ladder code (it can be downloaded from http://cq.cx/ladder.pl); the second consists of a web page that will help us creating the code for the ladder.h library (http://adam.horcica.cz/tools/ladder-gen); for simplicity’s sake, in this guide we’ll consider only the DIGITAL I / O with no special features. The second method is to use plcLIB (a library we suitably modified to take advantage of the IO shield coupled with Arduino UNO) so that you can edit our project code with a language similar to AWL (instructions: IF, AND, OR, …) having the control on timers and other functions; Here, too, our attention will be focused exclusively on using digital I / O without dealing with specific functions.

    Relay shield
    https://store.open-electronics.org/index.php?_route_=Arduino/Shield/Arduino%20Relay%20Shield

    LDmicro
    Ladder Logic for PIC and AVR
    http://cq.cx/ladder.pl

    LDmicro → Arduino
    https://github.com/ah01/LDmicro2arduino

    Write your program in LDmicro.
    Compile it as a ANSI C and save it as ladder.cpp.
    Generate header file ladder.h with ladder-gen.php.
    Create a sketch like this one and upload it to Arduino.

    ladder.h Generator for LDmicro → Arduino
    http://adam.horcica.cz/tools/ladder-gen/

    Reply
  17. Tomi Engdahl says:

    Mycodo | Environmental Regulation System
    Bringing industrial automation and regulation to everyone.
    https://hackaday.io/project/11997-mycodo-environmental-regulation-system

    Since the dawn of humankind, we’ve battled against and sought to tame nature.

    This understanding led to increased productivity in all aspects of life. Industrial automation and regulation allowed control of the exact variables to produce the tastiest fruits, the largest mushroom flushes, the most exquisite cheeses, the most amazing beers and wines, and other products.

    This is what I want to make accessible to the average person, and enable them to be their own producers. Mycodo is currently being used around the world, by regular people, to automate in ways that were once only possible with industrial control systems.

    Originally developed for cultivating gourmet mushrooms, Mycodo has since broadened its use to various other applications and now runs on the popular and inexpensive Raspberry Pi.

    Reply
  18. Tomi Engdahl says:

    Product Brief
    24V Protected Switch Shield
    with BTT6030-2EKA and BTT6020-1EKA for Arduino
    http://www.infineon.com/dgdl/Infineon-24V+protected+switch+shield_PB.pdf-PB-v01_00-EN.pdf?fileId=5546d46255dd933d015601e282682ac5

    Infineon’s
    PROFET™
    +
    24V
    family of protected high-side switches (BTT6xxx) drive resistive,
    capacitive as well as inductive loads (e.g. truck bulbs, car bulbs, valves, motors, relays,
    capacitors, LEDs). Using the 24V Protected Switch Shield for Arduino enables fast proto
    -
    typing and in-expensive evaluation of the pin-to-pin compatible
    PROFET™
    +
    24V
    devices.
    The shield is equipped with three
    PRO
    tected high-side power MOS
    FET
    s out of the
    PROFET™
    +
    24V
    family (2x BTT6030-2EKA, 1x BTT6020-1EKA). It can be controlled either
    by an Arduino board (e.g. Arduino Uno, Arduino Due) or the ARM® powered Infineon XMC™
    microcontroller kits using the Arduino form factor.

    The 24V Protected Switch Shield provides a fast and easy access to drive up to five 24 V
    loads with a nominal current of 4 A to 5 A each.

    http://www.infineon.com/dgdl/Infineon-PROFET+-24V-Shield-for-Arduino_Quick+Start-Guide_A6.pdf-GS-v01_00-EN.pdf?fileId=5546d46255dd933d015601ebe4152ad0

    Reply
  19. Tomi Engdahl says:

    Hackaday Prize Entry: Environmental Regulation
    http://hackaday.com/2016/09/14/hackaday-prize-entry-environmental-regulation/

    A while back, [Kyle] wanted to grow gourmet mushrooms. The usual way of doing this is finding a limestone cave and stinking up half the county with the smell of manure. Doing this at home annoys far fewer neighbors, leading him to create a device that will regulate temperature, humidity, and carbon dioxide concentration. It’s called Mycodo, and it’s one of the finalists for the Automation portion of the Hackaday Prize.

    Mycodo is designed to read sensors and activate relays, and when it comes to environmental sensors, there’s no shortage of sensors available. Right now, Mycodo has support for the usual DHT11 and DHT22 temperature and humidity sensors, HTU21D, AM2315, SHT* DS18B, and infrared sensors like the TMP006 and TMP007. These are connected to a Raspberry Pi equipped with a 7-inch touchscreen and a few relays to turn power outlets on and off. It’s not a complete system, though: think of it as a firmware for a 3D printer – the firmware doesn’t give you a 3D printer, it just makes building your own much easier.

    Mycodo – Environmental Regulation System
    Bringing industrial automation and regulation to everyone.
    https://hackaday.io/project/11997-mycodo-environmental-regulation-system

    Reply
  20. Tomi Engdahl says:

    The Ruggeduino
    http://www.rugged-circuits.com/ruggeduino/

    The Ruggeduino is a microcontroller development board compatible with the Arduino UNO.

    The Ruggeduino is directly compatible with the Arduino UNO SMD. It uses the same microcontroller (ATmega328P), same Arduino GUI, same USB interface (ATmega16U2), same clock frequency, same connectors and connector positions, and so on. The Ruggeduino adds several features to make it more rugged, making sure that it will last a long time.

    he Ruggeduino is powered from one of three sources:

    USB port: 5V is provided directly from the USB port. A 500mA PTC (resettable fuse) protects the computer from overcurrent.
    DC power jack: a 2.1mm center-positive DC power adapter can supply 7V – 24V.

    Every I/O pin is protected by a 5.1V zener diode and 220 ohm 30mA PTC (resettable fuse).
    This protection circuit means:

    Every I/O pin can have up to 24V applied to it and will still not be damaged.
    Every I/O pin can be short-circuited to ground and will still not be damaged
    Every I/O pin can be short-circuited to another I/O pin and will still not be damaged

    In addition, the 220 ohm PTC can take the place of series resistors in many applications, such as lighting LED’s, driving transistors, and so on.

    The 5V output connector pin is current-limit protected by the thermal shutdown feature of the on-board 5V regulator.

    Reply
  21. Tomi Engdahl says:

    Industrial Shields
    http://www.industrialshields.com/?gclid=CM-L8uzI-M8CFcYucgod4TMDVg

    Get into Industrial Internet of Things with our PLC’s, all equipped with original Arduino boards

    Reply
  22. Tomi Engdahl says:

    SIMATIC IOT2O2O
    https://www.rs-online.com/designspark/simatic-iot2020

    The IOT2020 is an open and flexible IoT gateway that is designed for continuous industrial operation and comes with the appropriate certificates. It can be used to retrieve, process, analyse and send data to almost any kind of device or network.

    The IOT2020 gateway is compatible with most Arduino sketches that can be uploaded directly from the Arduino IDE. Many other programs can be compiled and or run under Yocto Linux on the used controller X1000 SOC (X86). Third-party hardware such as PLCs and sensors from various different brands can be integrated via Ethernet or Serial (via USB adapter) using many available and open protocols including Modbus, Profinet, REST or MQTT.

    The IOT2020 is also compatible with Arduino shields and various programming languages, including high-level languages such as Java, C++ and Python via a range of IDEs that includes Eclipse and compilers for Yocto Linux. It is also expandable via an on-board mPCIe port. Node-Red, MQTT and SQLITE3 can also be used to connect and control local and remote peripherals, such as sensors on a device.

    Reply
  23. Tomi Engdahl says:

    New
    IoT2020 Educational Intelligent Gateway
    http://uk.rs-online.com/web/p/iot-development-kits/1244037/

    The Siemens Industrial IoT2020 Educational gateway unboxing and technical look
    https://www.youtube.com/watch?v=07I4A_LqC7g

    look at the Siemens IoT2020, here we will take the covers off and look inside

    Reply
  24. Tomi Engdahl says:

    Some Programmable Logic Controllers (PLCs) instroductions from companies that make chips for them:

    Programmable logic controller (PLC)
    http://www.infineon.com/cms/en/applications/automation/industrial-automation/programmable-logic-controller/

    Programmable Logic Controllers (PLCs)
    https://www.maximintegrated.com/en/solutions/plc/index.mvp

    Reply
  25. Tomi Engdahl says:

    Interview With Arduino AtHeart Partner Industruino
    https://www.youtube.com/watch?v=NxRqCVrvyZs

    Loic De Buck talks with Davide Gomba about the Industruino PROTO, a robust DIN rail mountable, Leonardo-compatible industrial controller with an LCD display. It enables you to take your existing Arduino projects and swiftly transform them into permanent installations. The prototyping area and screw connectors allow you to install your own circuitry and reliably connect to accessories.

    Reply
  26. Tomi Engdahl says:

    Industruino makes industrial automation easy, now AtHeart
    https://blog.arduino.cc/2015/09/21/industruino-makes-industrial-automation-easy-now-atheart/

    Industruino’s mission is to offer industrial automation components that have the simplicity of Arduino at its core. It’s created by Loic & Ainura, two product designers originally from Belgium and now based in Shenzhen, with a mission to help people make their own products, by creating an accessible platform.

    Today they are officially joining the Arduino AtHeart program with Industruino Proto, a Leonardo compatible industrial controller housed in a DIN-rail enclosure, with screw connector terminals to robustly connect to sensors and actuators.

    Industruino Proto Kit
    https://store.arduino.cc/product/AH00010

    With this product you will be able to permanently install your Arduino application in no-time. Whether you use it for automation projects, data loggers or an interactive art installation, Industruino offers you ruggedness, plenty of features and low cost.

    DIN-rail mountable Fully enclosed Prototyping area with re-routable connections using jumpers 14p IDC expansion port 7-28V->5V/2A switching voltage regulator. All I/O and power available through detachable screw connectors Enclosure made from biodegradable polymer 128×64 pixels LCD with backlight 3 button membrane panel Pre-loaded with interactive LCD menu firmware (code examples available for download below) Fully compatible with the Arduino IDE

    Reply
  27. Tomi Engdahl says:

    Interview With Arduino AtHeart Partner Industruino (Extended)
    https://www.youtube.com/watch?v=VZ1I-A2PmIQ

    Reply
  28. Tomi Engdahl says:

    Arduino as a programmable logic controller (PLC)
    http://www.open-electronics.org/arduino-as-a-programmable-logic-controller-plc/

    Today we’ll explain how to exploit the potential of Arduino as a programmable logic controller, connecting it to appropriate interfaces for I/O.

    We will use two sensors, twilight NO (normally open) and wind NO that will be connected to the IO shield. In addition, we will have to adapt and change the power scheme of the sunshades engines so that Arduino could manage them.

    Before writing the ladder code (contact diagram), similar to that in figure, we need to download the LDmicro executable from the link http://cq.cx/ladder.pl.

    To insert a new segment, click on “Edit->Insert segment behind”. After having completed the configuration, from the menu “settings” we shall select “Microcontroller->ANSI C Code”, then we can compile choosing from menu “Compile->Compile as”.

    We choose to save the file on “Desktop” with these settings:

    Save as: All Files
    Filename: ladder.cpp

    After saving the file, a popup windows will warn us to configure the I/O addresses map: we click on “OK”, save our LDmicro project (menu File->save as) always on Desktop naming it as “ladder.ld”.

    Then we need one-step further. Open the ladder.cpp file with notepad, select all the text and copy paste it on the website http://adam.horcica.cz/tools/ladder-gen. After clicking on “Generate”, we will get a new code. Copy and paste this code to a new notepad file, saving it with the following parameters:

    Save as: All Files
    Filename: ladder.h

    Reply
  29. Tomi Engdahl says:

    LDmicro: Ladder Logic for PIC and AVR
    http://cq.cx/ladder.pl

    Reply
  30. Tomi Engdahl says:

    PLC Vs. Arduino
    https://www.linkedin.com/pulse/plc-vs-arduino-assem-zakaria

    Question: Can we replace a PLC with an Arduino in industrial applications? Both got Digital/Analog IOs, user program and a scanning cycle. Clarify your answer.

    Answer: No, But before we discuss the reason of Arduino’s invalidity for the industrial automation applications, there are some essential information should be known about the Arduino platform, that the Arduino is kinda categorized as a DIY or HobbyKit open source environment for creating interactive electronic objects, small scale projects, lab applications and simple home automation applications.

    Why is PLC better for industrial automation ?
    https://www.researchgate.net/post/Why_is_PLC_better_for_industrial_automation

    I am interested in the advantages and disadvantages of the use of Programmable Logical Controllers in industrial automation. Does the industrial automation depend on them and are any other solutions possible?

    Reply
  31. Tomi Engdahl says:

    Settimino
    Arduino Ethernet library for communicating with S7 Siemens PLC
    https://sourceforge.net/projects/settimino/?source=directory

    Small but efficient communication library that allows your sketches the interfacing with Siemens PLC.
    Works starting from Arduino UNO with the W5100 ethernet shield.

    Features

    S7 200/300/400/1200/1500, WinAC, LOGO 0BA7 are managed.
    Full PLC memory access (E/A/M/DB/T/Z)
    PDU independence :large data transfer in a single call (depending only on the Arduino memory)
    Helper functions for data conversion (Big Endian –> Little endian)
    Three memory models for footprint optimization.
    Uses standard Arduino Ethernet library i.e. it can coexist with other clients/servers.
    3 ms to read a PDU into the internal buffer, 24 ms for 1024 bytes into the external.

    Reply
  32. Tomi Engdahl says:

    M-DUINO PLC 58 I/Os Analog/Digital Industrial Arduino Module
    http://www.robotshop.com/en/m-duino-plc-58-i-os-analogdigital-industrial-arduino-module.html

    36 Inputs and 30 outputs
    Arduino Mega microcontroller included
    Offers immense safety through Industrial Communication mechanism
    Connect up to 127 modules

    The M-DUINO PLC 58 I/Os Analog/Digital Industrial Arduino Module is programmed through the USB ports. This offers an immediate access to program, maintain and control. Also, you can continuously monitor the status for all the variables, inputs, outputs, etc. It is compatible with the Arbosx and the Touchberry Pi with instantaneous connection.

    Reply
  33. Tomi Engdahl says:

    Electrical noises. The most important rules

    Maximization of PCB Ground area
    Functional grouping of components for EMI control
    Optoisolated digital inputs
    Short tracks for limiting radiation and crosstalk issues
    Analog inputs far from noise sources
    Capacitors split for removing any high frequency noises

    Source: http://www.biemmeitalia.net/plc-arduino-relay-shield-bmini/

    Reply
  34. Tomi Engdahl says:

    plcLib – PLC Software for the Arduino
    http://www.electronics-micros.com/software-hardware/plclib-arduino/

    Our plcLib software allows you to develop ‘PLC-style’ control-oriented software applications for the Arduino and compatibles.

    Software Development Methods

    In the most familiar design method, an electrical circuit containing elements such as switches and lamps is first represented in graphical form as a ladder diagram – which must then be transformed into a text-based Arduino program (or sketch), before being compiled and downloaded in the normal way. You can also describe a system as a block diagram (function block diagram), or a sequence based system (sequential function chart), all of which can be mixed with native C/C++ code (structured text), so you are free to use the design approach which best suits the problem.

    The software is supplied as an installable Arduino library, which is included in the normal way at the start of your program. A number of text-based PLC-style commands then become available for use in your programs.

    plcLib (Arduino): Installing the Software
    http://www.electronics-micros.com/software-hardware/plclib-arduino-install/

    Reply
  35. Tomi Engdahl says:

    Arduino PLC Software
    https://zuzebox.wordpress.com/2011/10/28/arduino-plc-software/

    So, I’ve begun looking at ways to make a full PLC programming environment for the Arduino PLC.

    A developer will write their PLC statements using a PC based environment such as free automation tools from and Beremiz and CoDeSys. Once the plc program is complete, it can download the control program to a IEC-61131 run time such as LDmicro, executing on the Arduino PLC hardware.

    Some useful sites:

    http://www.plctutor.com
    http://www.plcmanual.com
    http://www.beremiz.org
    http://www.cq.cx/ladder.pl
    http://www.3s-software.com/

    Reply
  36. Tomi Engdahl says:

    Autoware Ladder Tool per Arduino:

    allows you to edit a logic in Ladder language and/or STL ( AWL) – style Siemens Step7 ®
    simulates on the PC the programmed logic
    allows you to load the logic on any Arduino board which runs this logic as a real PLC

    http://autoware.com/mainalt/autoware-ladder-tool-it/autoware-ladder-tool-en/

    Reply
  37. Tomi Engdahl says:

    Heat Pump Gets Brain Transplant; Such is Life in Latvia
    http://hackaday.com/2017/02/28/heat-pump-gets-brain-transplant-such-is-life-in-latvia/

    If you buy a used heat pump that was made in China and try to use it in Northern Europe, there are bound to be issues. If said heat pump ends up encased in a block of ice that renders it ineffective, you’ve got two choices: give up and buy a proper heater, or hack a new ice-busting brain board into the heat pump and get back to life.

    Of course it wasn’t as smooth as all that — [Evalds] has some hoops to jump through, including EMI problems and a dodgy Arduino clone. But he stuck with it and brought the heat pump back online, likely at far less expense than HVAC techs would charge for a service call.

    Air source heat pump robot – Brain Implant – Arduino
    http://www.instructables.com/id/Air-Source-Heat-Pump-Robot-Brain-Implant-Arduino/

    Reply
  38. Tomi Engdahl says:

    Industrial computer from Raspberry Pi card

    Kunbus has developed a genuine industrial computer based on it. RevPi machine is suitable for small industrial control applications.

    Revolution Pi Raspberry Pi enters service on the base version of the card B +. Its driving force is, like the other RPI cards Broadcom processor. The clock frequency is 700 MHz.

    Source: http://www.etn.fi/index.php/13-news/6068-teollisuustietokone-raspberry-pi-kortista

    More:
    https://revolution.kunbus.com/revpi-core/

    The heart of the revolution

    The base module of Revolution Pi called RevPi Core is equipped with Raspberry Pi Compute Module. The compute module basically consists of two ICs: a Broadcom BCM2835 SoC with 500 Mbyte RAM and a 4 Gbyte eMMC Flash memory. The module is supplied with 1.8 V, 3.3 V and 5 V via the mainboard socket. All IO signals are passed to the mainboard using this single 200 pin wide socket.

    RASBIAN (a Debian variant), using version Wheezy and an RT patch of kernel 4.1.13 is preinstalled.

    But our Core module does not only run on the standardized supply range of 20.4 V to 28.8 V but also runs on as little as 10.7 V input voltage*. That means you can even use car batteries or solar panels as power supply. At 24 V input any power loss of up to 10 ms will not influence operation of RevPi Core (drawing full current from both USB ports) and even up to 25 ms without USB load.

    The data highway connecting all RevPi modules is called PiBridge. The modules are physically connected to each other, using a system connector on the top side. Three signal types are exchanged via this connector:

    4 pins of the PiBridge are used for automatic module detection during start up phase. After this phase RevPi Core exactly knows which modules are connected and in which physical position they are.

    Reply
  39. Tomi Engdahl says:

    Programming Raspberry Pi With CODESYS
    https://www.google.fi/amp/www.instructables.com/id/Programming-Raspberry-Pi-With-CODESYS/%3famp_page=true

    For those who don’t know, CODESYS is a PLC programming environment and is utilised by many industrial automation companies such as Bosch, Beckhoff, Festo, Eaton, Wago and many more. You can program using the traditional Ladder Logic to the more modern Structured text and Continuous Flow Chart (IEC 61131-3 standards).

    Although usually very expensive and aimed at industrial environments, CODESYS released a target which essentially turns a RPi into a £25 PLC.

    Reply
  40. Tomi Engdahl says:

    ArduEcu: the groundbreaking waterproof and rugged Arduino ECU
    https://www.open-electronics.org/arduecu-the-groundbreaking-waterproof-and-rugged-arduino-ecu/

    ArduECU is an IP69K-rated waterproof, rugged and impact-resistant electronic control unit (ECU) based on an ATmega328.
    The ECU can be programmed with the Arduino IDE and also supports CoDeSys, meaning you can now configure your ArduECU with ladder logic, functional block, structured text, instruction list, or sequential function charts.

    ArduECU, now on Kickstarter,

    Reply
  41. Tomi Engdahl says:

    24V Industrial I/O Shield- PLC Alternative
    https://www.rugged-circuits.com/24v-industrial/24v-industrial-shield

    Many customers requested a ruggedized shield for the Arduino UNO/Ruggeduino and Rugged MEGA that could be used in an industrial setting as an alternative to PLCs. We listened and constructed a shield that offers many of the features found on PLCs.

    The 24V Industrial I/O Shield allows Arduino users to enter into the realm of PLCs at a fraction of the price. and directly integrate with 24V sensors. The feature set on the Rugged Circuits Industrial Shield is very similar to PLC offerings; 4 Analog Inputs, 8 ISOLATED Digital Inputs 3.3V-24V, 8 ISOLATED Digital Outputs 5V-28V, Status LEDs, and RS-232.

    Reply
  42. Tomi Engdahl says:

    SIMATIC IOT2O2O
    https://www.rs-online.com/designspark/simatic-iot2020

    The IOT2020 is an open and flexible IoT gateway that is designed for continuous industrial operation and comes with the appropriate certificates. It can be used to retrieve, process, analyse and send data to almost any kind of device or network.

    The IOT2020 gateway is compatible with most Arduino sketches that can be uploaded directly from the Arduino IDE. Many other programs can be compiled and or run under Yocto Linux on the used controller X1000 SOC (X86). Third-party hardware such as PLCs and sensors from various different brands can be integrated via Ethernet or Serial (via USB adapter) using many available and open protocols including Modbus, Profinet, REST or MQTT

    The IOT2020 is also compatible with Arduino shields and various programming languages, including high-level languages such as Java, C++ and Python via a range of IDEs that includes Eclipse and compilers for Yocto Linux. It is also expandable via an on-board mPCIe port. Node-Red, MQTT and SQLITE3 can also be used to connect and control local and remote peripherals, such as sensors on a device.

    Reply
  43. Tomi Engdahl says:

    eCosCentric Limited’s eCosPro
    http://www.linuxjournal.com/content/ecoscentric-limiteds-ecospro

    In contrast to general-purpose operating systems for the Raspberry Pi, the new eCosPro from eCosCentric Limited is a lightweight, multithreaded, industrial-strength RTOS delivering reduced latency with bounded response times. eCosPro’s resource requirements are a fraction of those demanded by a general-purpose OS and maximize the RAM resources available to applications. The RTOS environment is ideal for time-critical control systems, and by leveraging the ultra-low-cost Raspberry Pi range of single-board computers, eCosPro provides cost-effective, full-featured performance ideal for IoT and M2M applications.

    Direct boot from an SD card provides an “instant-on” capability, enabling embedded applications to be responsive within milliseconds. eCos is portable across a wide range of embedded architectures and microcontrollers, such that applications prototyped using eCosPro on Raspberry Pi can be readily ported to other targets. eCosPro delivers deterministic, real-time performance on the Raspberry Pi 3, Pi 2, Pi 1, Pi Zero and Pi Zero Wireless boards, as well as the Pi Compute Modules 1 and 3.

    Reply
  44. Tomi Engdahl says:

    PLC vs Arduino Show Down
    http://hackaday.com/2017/07/17/plc-vs-arduino-show-down/

    Hackaday readers don’t need an introduction to the Arduino. But in industrial control applications, programmable logic controllers or PLCs are far more common. These are small rugged devices that can do simple things like monitor switches and control actuators. Being ruggedized, they are typically reasonably expensive, especially compared to an Arduino. [Doug Reneker] decided to evaluate an Arduino versus a PLC in a relatively simple industrial-style application.

    Although the Arduino has a good selection of I/O pins, it doesn’t have common I/O capabilities you’d expect in an industrial controller. For example, the flow meter used in the demo produces a current proportional to flow ranging from 4 mA to 20 mA. That’s a very common set up in an industrial device since current loops are able to handle long wire runs, along with other reasons. [Doug] found he had to create a converter to get the data to the Arduino. He also needed a way to convert the Arduino’s PWM output to a 4-20 mA output, which was even more complicated.

    Of course, the PLC had all of these options already, along with a user interface suitable to the task.

    Arduino vs. PLC for industrial control
    Can a $20 micro-controller equal a PLC for a real-world industrial control application?
    http://www.controldesign.com/articles/2017/arduino-vs-plc-for-industrial-control/

    A large number of boards, including micro-controllers, field programmable gate arrays (FPGAs) and single-board computers, have emerged. Among these, Arduino and Raspberry Pi are two leading names

    Some industrial users might envision these platforms as a substitute for an entry-level PLC. After all, if an Arduino can control a robot for a STEM competition entry, why can’t it control an industrial robot, or a simple machine? If it’s possible to buy an Arduino for as little as $20, why spend hundreds on a PLC? An Arduino can do lots of things, but as I discovered, making it work in even a simple industrial application is easier said than done.

    Real-time industrial control with an Arduino

    The Raspberry Pi is effectively a miniaturized Linux-based single-board PC, whereas an Arduino is more like a PLC. While either platform looked suitable, I settled on the Arduino for our project: closed-loop control of flow generated by a pump.

    Reply

Leave a Comment

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

*

*