Comparing PLC vs Arduino is a tricky subject and now that there are Industrial Arduino platforms
like Productivity Open, it has become even more challenging.
To say one is better than the other is just not honest.
Both platforms have their advantages and disadvantages and which one is better is really based upon
the developer’s preference or the environment that it will be implemented in.
PLCs have been in the industrial world for decades, and has added many basics processes
that come pre-installed in the CPU that makes setting it up and maintaining it more user
friendly.
Whereas the Arduino platform comes as a blank slate and it is upon the program developer
to add these processes that will allow it to function and interact in its environment.
Now that is the major difference here.
Arduino can do many of the same things that a PLC can do but has to be programmed to do
so.
Some of the differences in Arduino will not be apparent to the typical PLC user.
Here are 7 things you that you should be aware of and find the best method to overcome as
you move your Arduino project into the industrial PLC world.
First, and this is a big one for most Typical PLC users,
there is not a way to get connected to an Arduino microcontroller and download the current
project that resides inside the Arduino.
On Arduino, only the machine code for the processor is stored on the Arduino microcontroller.
Whereas with most PLCs, the complete project is stored on the PLC with comments, variable
names, instructions, and you can even connect to the PLC, download the project and then
make edits or troubleshoot your code.
This difference introduces a few challenges when using an Arduino.
If you are using an Arduino, make sure that you always keep a known current copy of the
project saved and on-site at all times.
If this saved copy is lost, there is not a way to recover it directly from the Arduino
microcontroller.
And since you cannot connect with the Arduino and see which project version is running,
it is advisable to incorporate version control into your project.
Some other best practices are labeling project source code with a version number and/or date
code and then programming this information to be seen from the debug monitor or other
means of communication.
Now for some of you OEMs, the fact that you cannot suck the project out of an Arduino
may be a positive, as this will help in protecting your intellectual property.
Next, there are not runtime edits with Arduino.
With most PLCs today, you can make some changes to your process without having to stop your
project and load the new update.
This is very handy if you need to make a small tweak to your system without having to stop
production for that change.
With Arduino, just make sure that you are aware that any changes to the Arduino will involve
a complete new machine code being written to the Arduino so the process will be stopped
during this loading process.
Next is that Arduino does not have a true data view or monitoring like there is with
a PLC.
With a PLC you can get connected to the PLC and set up tables to monitor the current values
of variables or IO and also monitor the status of the ladder code from the development window,
which is a huge help when testing, developing or troubleshooting your system.
These tools are all part of the PLC and do not require any extra code being developed
to do so.
With Arduino, there are some debugging tools like Serial Monitor and Serial Plotter, but
this requires prior programming to implement.
Only what is programmed to be sent to this serial monitor or other communication
method can be evaluated by the troubleshooter.
When developing your Arduino project make sure to implement fault recovery into your
project. That will help the technician troubleshoot this process later.
This kind of leads to the next major point.
Arduino is a blank slate when you start and its performance is based upon what the developer
programs into the Arduino whereas with most PLC suppliers, they have attempted to simplify
this development process by managing most of the core microprocessor functionalities, and
then only exposing a set of filtered functions and with Arduino, the developer has more control
over the hardware capabilities.
There are both positives and negatives with both approaches.
Auto Config of IO.
With most PLCs, before you even start a project, the IO is already mapped to a variable so
the configuration of the IO is already handled without the programmer’s intervention.
With Arduino, you will need to set up the IO to be read or written to.
All IO is immediate in Arduino.
When you turn something on in a line of code, it happens at that moment.
Whereas most of the IO in PLCs, the on or off condition is handled at the end or the
beginning of the ladder scan, with only some specialized IO being immediate.
This is neither negative or positive, just handled differently.
Just be aware that there are some differences that might cause a little confusion in your
timing routines.
With PLCs, there are CPU, IO, and communication watchdogs.
This will limit the CPU from getting stuck in a loop and going into a runaway condition.
Helping to minimize the risk of unsafe operations that could cause damage to equipment or personnel.
With Arduinos, these can be done, but the programmer will need to implement them in
their code.
This truly comes down to preference.
Some people would like complete control over how their hardware can operate and function,
and for them the Productivity Open Industrial Arduino would be the product for
them.
Or maybe that type of control is not necessary for your project, you just need the robust
embedded operations of a PLC and get your system running.
For you, the PLC is your best bet.
The great thing here is that AutomationDirect has both options for you.
So, once again AutomationDirect has the products and solutions for you.
If you have any questions or comments, we would love to hear from you.
If you want to see more on the Productivity Open product line, select here.
To see more on the Productivity PLC line, select here.
And make sure to subscribe to our Youtube channel to keep up to date with all of our
products and solutions.