Overview of PLC and Various Arduino based PLC Boards

Published  January 6, 2020   0
Dilip Raja
Author
Arduino PLCs

Arduino was first introduced in 2005 aiming to provide a low-cost and easy way for novices and professionals to create devices that interact with their environment using sensors and actuators.

Before Arduino was introduced, the embedded design was viewed as a complex subject and hobbyists (or engineers) had to find a professional to get a working model for their problem. Like if you want a simple 3D printer then you have to get professional help as there are thousands of controllers with their compatible IDE. And the hobbyist cannot learn about all microcontrollers and their programming ways. This situation came to an end when universally accepted ARDUINO was introduced. And with this, the hobbyists or engineers can design and develop their own projects without much professional help.

And the reason for it becoming so universally accepted because it is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs like light on a sensor, a finger on a button and turn it into a programmable output such as activating a motor, turning on an LED and publishing something online.

Over the years Arduino has become more popular and with that many advanced boards with similar purposes are developed like Raspberry PI, Panda, etc. Arduino is used as the brain in thousands of projects, from everyday objects to complex scientific instruments. Students, hobbyists, artists, programmers, and professionals around the world have gathered around this open-source platform and developed many projects thereby amassing an incredible amount of knowledge that can be of great help to novices and experts alike.

With the amassed knowledge and recent introduction of IoT, the hype on Arduino took another forward step thereby becoming a necessary tool of learning for engineers and hobbyists. Now Arduino board started changing to adapt to new needs and challenges like IoT applications, wearable, 3D printing, embedded environments and lastly PLC (Programmable Logic Controller). Here in this article, we will learn about What is PLC and how Arduino can be used as PLC.

Introduction to PLC (Programmable Logic Controller)

First, let us understand the term Industrial Automation before going for PLC. As we all know using machines for work in industries is more cost-effective than using humans since machines do not need money, holidays or breaks so if machines are used in place of humans than the industries can produce their products 24*7 without an issue. Now, this setup of replacing humans with machines or robotic arms is called Industrial Automation.

PLC is a controller unit specially designed to operate the machines used for Industrial Automation. They are designed to be reliable under harsh industrial environments (like extreme temperatures, humid, wet, dusty conditions). PLC applications can be seen at the manufacturing plant’s assembly line, an ore processing plant, robotic welding, CNC carving, etc. Since this equipment is designed for high efficiency and the rugged environment they are costly for both installing and repairing.

PLC (Programmable Logic Controller) has many features similar to our personal computer at home. They both have a power supply unit, a CPU (Central Processing Unit), Inputs & Outputs (I/O) ports, RAM and ROM memory, and control software. The biggest difference between the two is PLC can perform discrete and continuous functions in a harsh environment which a PC cannot do. You can also read difference between PLC and microcontroller to get an overview of its comparision with microcontrollers.

There are many different types of PLC in the market according to the requirements of the customer. Although there are many types of PLC present they do follow certain standards for the user to choose easily.

Basic Function of PLC

For understanding the basic PLC working let us assume a simple example as shown below.

Basic PLC Function

Let us say in this setup we have to turn ON the bulb for the first fifty seconds and turn OFF the bulb for the following twenty seconds then we have to use the switch in the circuit to close and open the loop continuously. This is a simple but very tiresome task for a human and it is not cost-productive to buy a timer relays for this type of issue every single time. In all those cases we can use a single PLC to solve the problem.

PLC Function

Here you can see a PLC is connected in the loop of the setup while keeping the switch closed. We can use the programming to set the timer for the PLC in the circuit. Once it is done the PLC can close and open the loop continuously which replaces the need for human intervention. Once the PLC starts executing the program it will not stop until an interrupt is given. 

This is just a simple setup and a PLC has the ability to control much larger and more complex processes like PWM control, Sensing, etc. A PLC is usually designed in a way for the customer so that he/she will be able to customize the PLC functioning depending on the application and need.

Block Diagram of PLC

Now let us look at the important modules present in the PLC.

PLC Block Diagram

Power Supply Module: This module is sometimes placed as a separate setup like an adapter and in other cases, it will be designed directly on the main PCB. The function of the module is to provide the required power to the whole PLC (Programmable Logic Controller) setup. The module is a converter that converts available AC power to DC power which is required by the CPU and other modules. Usually, PLC works on 12V and 24V power rail.

Central Processing Unit: This module is the most protected as it is the core of functioning for the entire PLC. CPU module consists of a microprocessor or microcontroller, program memory, flash memory & RAMS memory. Flash memory or ROM memory stores operating system, driver and application program. RAM is used by the microprocessor to access data and information.

The function of CPU is to execute the program stored in the memory and act according to the written instructions. So basically CPU reads the input data from sensors to process and finally sends an appropriate response based on the program.

Input and Output Module: Input module is used for establishing a link between various sensors and keypads to the CPU and the Output module is used by the processor for providing a response to the outside world.

Programming Device Module: This module is used for establishing communication between PC and PLC. The basic function is to reprogram the microprocessor of PLC.

Types of PLC (Programmable Logic Controller)

The PLC is divided into two types namely fixed (or compact PLC) and modular PLC.

1. Compact or Fixed PLC: It is usually a low-end PLC which is popular in many industries. Compact PLC has a fixed number of I/O modules and external I/O cards and they cannot be extended later to make a more complex setup. You can see a fixed PLC in the below figure.

Compact or Fixed PLC

2. Modular PLC: Modular PLC permits multiple expansions by stacking ‘Modules’ parallel. I/O ports of the modular PLC can be increased for more complex operations in the industry. Modular PLC is also easier to use because each component is independent of each other. This type of PLC is popular in many industries

Modular PLC

Arduino vs PLC (Programmable Logic Controller)

As we mentioned earlier the important modules of a PLC are similar to a PC (Personal Computer) and are even more similar to single board computers like Arduino. So internally at a certain level working of both the PLC and Arduino are the same and we can use this Arduino to design a PLC (Programmable Logic Controller). The Arduino PLCs are already present in the market and are available cheaper  compared to conventional PLC. So Arduino-PLC is becoming popular these days and its applications will increase more in the future. These are certain differences between the Arduino PLC & conventional PLC and a few of them are mentioned below.

Arduino PLC

PLC (Programmable Logic Controller)

Needed External Components to Work as PLC

Does not need additional external components

Universally accepted

Promoted mainly in Industries

Low cost

High cost

Need to learn basic programming to rewrite the Arduino program

Only needed basic operating technique for reprogramming the PLC

Reprogramming is relatively difficult

Reprogramming is relatively easy

Satisfactory performance

High performance

Cannot work in harsh conditions

Can work on harsh conditions

Compact and Small

Bulky and heavy

Stacking cannot be used to further the PLC operation of Arduino PLC

Stacking can be used to further the PLC operation of  normal PLC

More communication options

Less communication options

Easy to replace and repair

Hard to replace and repair

Lesser options for choosing

Many options for choosing

Now let us discuss briefly about popular Arduino based PLCs that are presently in the market.

1. Industrial Shields Arduino PLCs

Industrial Shields is a popular company that provides Arduino based PLC shields for many industrial applications. The shields that are popularly used are briefly discussed below.

Industrial Shields ARDBOX: 

ARDBOX is an Arduino based PLC designed for small and medium-scale industrial applications. The picture of ARDBOX is shown below.

Industrial Shields ARDBOX

The ARDBOX is designed based on ARDUINO LEONARO so basically, all the technical specifications of ARDBOX are LEONARO specifications. The basic features and technical specifications of ARDBOX are given below.

Input Voltage

12Vor 24V

Rated Power

30Watt

Maximum Current

1.5A

Clock Speed

16MHz

Size

100x45x115 mm

Programming language

Arduino IDE.

Flash Memory

32KB of which 4KB are used by bootloader

SRAM

2.5KB

EEPROM

1KB

Communications

I2C -- USB -- RS232 -- RS485 -- SPI -- TTL

 

TOTAL Input points

10

TOTAL Output points

10

PWM Isolated Output

to 24Vdc

I max: 70 mA

Galvanic Isolation

Diode Protected for Relay

Rated Voltage: 24Vdc

Industrial Shields M-Duino: 

M-DUINO is an Arduino based PLC designed for small and medium-scale industrial applications. The picture of the PLC is shown below.

Industrial Shields M-Duino

The M-DUINO is designed based on the ARDUINO MEGA board, so all the technical specifications of the MEGA board are M-DUINO specifications. The basic features and technical specifications of M-DUINO are given below.

Input Voltage

12V or 24V

Rated Power

40Watt

Maximum Output Current

0.5A

Clock Speed

16MHz

Size

101x119x70mm

Programming language

Arduino IDE.

Flash Memory

32KB of which 0.5KB are used by the boot loader

SRAM

2KB

EEPROM

1KB

Communications

I2C1 – Ethernet Port – USB – RS485 – SPI –

(3x) Rx, Tx (Arduino pins)

TOTAL Input points

13,26,36

TOTAL Output points

8,16,22

PWM Isolated Output

24Vdc (3,6,8)

I max: 70 mA

2. PLDuino Arduino PLCs

PLDuino is an Open Source Arduino based Programmable Logic Controller (PLC) from Digital Loggers that is available in the market for about $150. This PLC combines the Arduino Mega (ATmega2560) with ESP8266 Wi-Fi module and a 2.4” TFT Touch Screen, in order to make it suitable for Industrial IoT Applications and other factory robotics applications.

PLDuino - Arduino Based PLC

PLDuino can be easily programmed by using a simple USB cable, also along with the popular Arduino IDE the PLDuino can also be programmed using Lua, GNU or even AVR Studio. PLDuino also provides demonstration codes and libraries to help beginners quickly get started development. For advanced users, PLDuino has also made it possible to pop the cover and explore inside the PLC so as to customize the hardware as required for their application, the full schematics and component specs are also available online. The complete specifications of PLDuino is show in the picture below

PLDuino Specifications

3. Controllino Arduino ​PLCs

Controllino is nothing but an industrialized Arduino. It combines the flexibility and open-source nature of the Arduino ecosystem with the safety and reliability of industrial-grade PLCs.

The company provides three modules which are designed based on three Arduino boards.

Controllino MINI

It is designed on Arduino Uno board.

Controllino MINI

Input Voltage

12V or 24V

Operating temperature

5ºC to 55ºC

Maximum Relay Current

6A

Clock Speed

16MHz

Size

36x90x60 mm

Programming language

Arduino IDE.

Flash Memory

32KB of which 0.5KB are used by the boot loader

SRAM

2KB

EEPROM

1KB

Communications

I2C1– USB – SPI

TOTAL Input points

8

TOTAL Output points

8

Controllino MAXI: 

This is designed on ATMEGA2560 Atmel microcontroller or on the Arduino Mega board.

Controllino MAXI

Input Voltage

12V or 24V

Operating temperature

0ºC to 55ºC

Maximum Output relay Current

6A

Clock Speed

16MHz

Size

72x90x62mm

Programming language

Arduino IDE

Flash Memory

256KB

SRAM

8KB

EEPROM

4KB

Communications

I2C1,Ethernet Port, USB ,SPI 

TOTAL Input points

12

TOTAL Output points

12, relay output-10

Controllino Mega: 

Mega PLC is designed on ATMEGA2560 Atmel microcontroller or on Arduino Mega board.

Controllino MEGA

Input Voltage

12V or 24V

Operating temperature

0ºC to 55ºC

Maximum Output relay Current

6A

Clock Speed

16MHz

Size

107x90x62mm

Programming language

Arduino IDE

Flash Memory

256KB

SRAM

8KB

EEPROM

4KB

Communications

I2C1,Ethernet Port, USB ,SPI 

TOTAL Input points

21

TOTAL Output points

24, relay output-16

Advantages of Arduino PLC

  • Can be purchased at a low cost.
  • Can be programmed using Arduino IDE software.
  • High compatibility.
  • High room for adjustments.
  • Easy to replace compared to conventional PLC.

Disadvantages of Arduino PLC

  • Very few choices are available for selection.
  • Not suitable for high scale applications.
  • Sensitive compared to conventional PLC.
  • Required more maintenance.
  • Less professional.
Have any question realated to this Article?

Ask Our Community Members