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 optoisolated 24V digital inputs, 4 high quality relays, 8 analog inputs, PWM, I2C, RS485, Ethernet and more.
269 Comments
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/
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.
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.
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.
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.
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/
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.
huang eee says:
where can we get the box of arduino PLC ?
Tomi Engdahl says:
The article has links to Arduino PLC product homepages.
Use them to find your nearest distributor or web shop where you could get one.
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
Tomi Engdahl says:
Open source PLC
http://hackaday.com/2013/06/09/open-source-plc/
OpenPLC, for industrial automation to Halloween displays
http://hackaday.com/2012/10/27/openplc-for-industrial-automation-to-halloween-displays/
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.
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.
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/
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
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.
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
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/
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/
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.
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
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
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.
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
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.
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
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
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.
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
Tomi Engdahl says:
Interview With Arduino AtHeart Partner Industruino (Extended)
https://www.youtube.com/watch?v=VZ1I-A2PmIQ
Tomi Engdahl says:
https://controllino.biz/
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
Tomi Engdahl says:
LDmicro: Ladder Logic for PIC and AVR
http://cq.cx/ladder.pl
Tomi Engdahl says:
Arduino based plc from industrial shields
https://www.rs-online.com/designspark/arduino-based-plc-from-industrial-shields
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?
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.
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.
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/
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/
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/
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/
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/
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.
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.
Tomi Engdahl says:
Arduino as Raspberry PI’s remote IO (Codesys)
http://www.fleaplc.it/en/tutorials/33-arduino-as-raspberry-pi-s-remote-io-codesys
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,
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.
Tomi Engdahl says:
PLC Arduino ARDBOX 20 I/Os Analog 7.0
https://www.industrialshields.com/shop/plc-arduino-ardbox-20-ios-analog/
Tomi Engdahl says:
https://controllino.biz/programming/
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.
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.
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.