Automation and control come in a lot of different varieties and flavors. On the surface, Arduinos, PLCs, and embedded controls all appear to do the same function. So how do you determine which is best for your application?
In this post, I’ll detail some of the pros and cons, as well as the typical applications of Arduino microcontrollers, PLCs and custom embedded projects.
What's the Difference?
Arduino is a common brand of microcontroller with built-in digital and analog, inputs and outputs. Their specific performance, memory, and input/output (IO) capabilities vary from model to model, making it easy to switch from one to another as changes are needed.
The tremendous number of tutorials for Arduino platforms also make them a great choice for learning programming and quickly prototyping early design. For this reason, Arduino’s an excellent choice for rapid prototyping and small-scale hobby projects.
PLC stands for Programmable Logic Controller. PLC manufacturers include Siemens, Allen-Bradley, Honeywell, Omron, Beckhoff, and countless others. Like Arduino, the performance memory and IO capabilities all vary from model to model, but, unlike Arduinos, most PLCs have little to no built-in IO.
Instead, most PLCs use IO cards that add digital and analog, inputs and outputs. These features contribute to PLCs for being known as more rugged then Arduinos since individual parts can be replaced as they wear out or are damaged. In general, PLCs are the solution of choice for rugged environments like factories, where reliability is paramount.
Custom hardware solutions, often called embedded solutions, is a generic name given to custom hardware and software designs made for specific applications. As a whole, it’s the most versatile of the three groups presented here, but individually each solution is typically tailored to do only one particular task. Because the processor(s), and hardware are largely designed specifically for the project the performance, memory, and IO can all be adjusted independently to suit the project’s needs.
Why are these Devices Used?
Arduino provides a free IDE (Integrated Develop Environment), that uses a slight variation of the common C programming language, making it a good starting point for new and experienced programmers alike. Most Arduino hardware is based on TTL (Transistor-Transistor Logic), with voltages of 5V or less (relative to ground), and current sourcing and sinking abilities of a few hundred milliamps total. This makes Arduinos well suited for battery or low power applications, although it limits their ability to control relays, motors, and solenoids.
Below is an example of a text based language used by Arduinos and most embedded projects.
display.clearDisplay(); // clears the screen and buffer
DisplayString("DMC inc.", 8);
DisplayString("Do-Dad Box", 10);
DisplayString("(303) 223-1801", 14);
Below is an example of Ladder Logic used by most PLCs.
Arduinos vs. PLCs
The most striking difference between Arduinos and PLCs is the size. PLCs have been ruggedized to work in industrial environments to work at higher voltages (typically 12V-24V) and use differential voltages to reduce noise and interference on communication lines. The output cards also have the capability of sourcing or sinking multiple amps, specifically for relays.
Most PLC applications are expected to work for years if not decades without interruption, and for the most part, they do. Programming PLCs is mostly done in Ladder Logic, an easy to read and modifiable language based off relay wiring. Combined with the visualization tools most modern IDEs have, it’s relatively easy to identify and fix faulty wires, sensors, and actuators.
While Arduinos and PLCs are prebuilt controllers, with pre-selected processors and IO capabilities, embedded projects have a near limitless variety of processor, IO, and hardware. This variety makes custom embedded projects the solution of choice for large volume or consumer goods, where even small savings on part costs can quickly add up to significant overall savings. The downside to embedded programming is the longer development time. Every aspect that is designed custom takes time and upfront cost.
Whether you’re using an Arduino, a PLC, or designing everything from scratch, it’s important to know your tools and be able to select the best tool for the job.
DMC provides solutions for all three of these controls. Contact us today to learn about how we can help you with your automation and control project.
Learn more about DMC's Manufacturing Automation and Intelligence Services.
Learn more about DMC's Embedded Development and Embedded Programming Services.