The PLC vs Arduino & Other Microcontrollers for Industrial Controls & Automation question was always at hand. However, the popularity of microcontrollers has grown tremendously thus making the debate that much more relevant. Which one should you choose for your project, plant & the reasons behind those choices?
PLC vs Arduino / Microcontroller Constraints
Before we dive into details, it’s important to get some of the overall constraints out of the way.
First of all, the PLC market has grown in the recent years. You can find products of all shapes, sizes, capabilities as well as cost. However, for the purpose of this comparison, we’re going to make the assumption that we are talking about the “high-end” PLC platforms: Allen Bradley, Siemens, Mitsubishi, etc.
In terms of microcontrollers, we’re going to reference platforms rather than Integrated Circuits (IC). There’s no reason to compare a board level device to a full platform; therefore we will look at the ecosystem as a whole.
The Advantages of Microcontrollers
Microcontroller platforms come in several commonly known flavors. There are a few more, but here’s a list of the most popular ones:
Although the boards may seem the same, there is a distinction between them: Arduino and the Launchpad boards will primarily run C based code while the RaspberryPi and the Launchpad will feature a complete Linux stack.
Incredible Computing Power
Microcontroller platforms have evolved quite a bit in the last few years. A beaglebone black now features a 1GHz ARM Cortex-A8 processor capable of running a complete operating system with most features, programs and more.
Other platforms have shown themselves to be fierce competitors by releasing boards which are comparable in features, capabilities and processing power.
Relative to a PLC system, microcontrollers have a very low cost. Some of the platforms we’ve covered can be acquired for as low as 10$! Arduino has 3rd party suppliers which have reduced the cost of the main board down to 2-3$ while the RaspberryPi released a full board (without peripherals) at an astonishing 5$.
You may be wondering about external hardware when it comes to there boards. In most cases, you can get “extension modules” which have their respective name within each platform (Ex: Arduino has shields) for a relatively low cost.
Every single engineer should learn how to write software in C. This knowledge will benefit them in many ways, provide a foundation and allow them to translate this knowledge into other languages.
Exploring advanced features of a microcontroller is highly advised. You can easily create systems which rely on new technologies such as cloud computing, remote servers, sockets and much more. Being able to configure such operations on a PLC will set the user back thousands of dollars.
Furthermore, certain microcontrollers may be used to learn PLC programming. A layer on top of a Beaglebone or a RaspberryPi can allow the user to interface the GPIO (General Purpose Inputs and Outputs) through ladder logic.
For most of my projects, half the battle is being able to find the right documentation, datasheet or manual. The other portion is spent on understanding what is being covered in the said manual and how it will apply to my particular case.
An Arduino Uno R3 has a vast userbase which has grown consistently over the last few years. These users have created databases, tutorials & videos on how to do certain tasks. As far as I’m concerned, PLC manufacturers are far from being as collaborative about their own equipment.
The Drawbacks of Microcontrollers
Based on the above points, it may seem like a microcontroller may be the perfect solution to control industrial equipment. However, that’s definitely not the case. The main drawback of such a platform is the fact that it simply isn’t durable enough to withstand the demands of manufacturing plants.
Due to the low cost of microcontroller boards, a lot of protective devices have been avoided.
Microcontrollers often fail due to the following
- Short circuit faults
- Static shock from the environment
- Physical damage
- Moisture & fluid damage
The bottom line is that an Arduino may last in a manufacturing plant for a short period of time, but it certainly will not survive there for 30 years like a PLC would. Furthermore, microcontrollers may have a much more difficult time working in hot or cold environments as they are not equipped with adequate “mechanical” protection.
Poor Recovery and Fault Handling
A microcontroller can easily get stuck in an infinite loop or waiting for a certain transmission to come in. The software was not built to handle errors, avoid hang-ups and to continue working if something is wrong.
There are many ways to get your microcontroller to be more robust than it is by default, but unless you cover all the bases, it will not be nearly as performant as a PLC system.
A Programmable Logic Controller (PLC) is the primary way of controlling manufacturing equipment. These devices have evolved quite a bit in the last few decades. The top manufacturers of PLCs have managed to grow into multibillion-dollar companies by providing their users the best of hardware as well as software. However, they come with their own advantages as well as drawbacks when compared to microcontrollers.
PLCs come in families and allow the user to select hardware based on their requirements. In most cases, the manufacturer will be able to provide the end user with everything starting from the controller and finishing with each and every sensor.
A ControlLogix platform will have a detailed page on how to select the controller, which peripherals to use in each situation and what needs to be installed.
Unlike a microcontroller, manufacturers will guarantee that certain hardware will work within their platform. This makes it extremely simple to pick what you need, connect the pieces and have a full system running.
The big players within the PLC world are ready to provide support to their customers. Allen Bradley, as well as Siemens, have programs through which anyone can call at any time and obtain an intelligent answer about an issue they are having.
The service described above does come at a cost, but you are speaking with an experienced engineer who has access to hardware, software as well as piers. A technical answer is found incredibly fast by these individuals. Furthermore, an experienced engineer will provide you with suggestions on how to improve the system, configure something in a different way or give you tips on how to accomplish your task easier.
I love PLC based platforms, but they do have their set of drawbacks which need to be discussed. The most frustrating part for someone looking to get into programming PLCs is the cost. Another drawback is being locked into a system which communicates poorly with others. I will elaborate on my last statement below.
PLC manufacturers control the market with high prices on hardware, software as well as services they provide.
It’s thus no surprise that the prices are extremely high when compared to microcontrollers. A reliable PLC can set the user back thousands of dollars. Peripherals which will often need to be purchased for a full control system will cost just as much if not more depending on the project. The bill does not end with the hardware, the software is just as expensive. Furthermore, constant updates and different revisions of software keep the customers paying if they need the latest features.
Although the costs are high, they aren’t as monstrous as one may think when it comes to a manufacturing environment. After all, the electrical equipment in most instances is just a drop in a bucket when compared to some of the mechanical devices.
A microcontroller is a blank canvas. An experienced programmer or engineer can create anything they wish through their code. However, it’s not the case with PLCs. You have access to a set of pre-defined routines, instructions, and commands which limit what you can do with the platform. The limits come from the fact that manufacturers want the users to follow a set of guidelines on how to work on their platforms as well as how they interact with each other.
For someone who’s used to working in C, this may be quite frustrating and limiting.
When to Buy a PLC System?
Large manufacturing facilities should definitely invest in PLC based systems. They are reliable, easy to maintain and have good support systems in place. The challenges such users will face are cost, integration with existing platforms as well as version & obsolescence control.
If you’re an experienced developer who’s ready to invest in their own system, knows the associated costs of hardware as well as software and is perhaps working on real-life projects.
When to Buy a Microcontroller System?
If you’re looking to get into the programming or hardware world, microcontrollers are absolutely the right choice for you. They offer a lot of challenges for a curious mind while being backed by large communities of those who can aid you along the way.
If your goal is to learn PLCs; I would still recommend using a software layer on top of a microcontroller in order to get familiar with the basics.
Arduino vs PLC the Conclusion
In my opinion, these two platforms are extremely far apart. On one hand side, the microcontrollers, are extremely fragile, yet pack quite a processing punch. They are ideal for developing test systems, small projects, and almost any DIY application. On the other side, we have the Programmable Logic Controllers, systems which cost thousands of dollars but are worth every penny for an industrial juggernaut.
The bottom line is that for an individual, a microcontroller should be an obvious purchase. In certain instances, it may be wise to invest in a PLC controller as well.
For a manufacturing facility, I would steer away from using an Arduino for controls. Definitely purchase a reputable PLC.