Considering testing to replace PLC units

Looking at a long term replacement for our aging PLC units we have. These systems use a ladder logic Automation direct PLC that controls wash units. The issue is the company hasn't upgraded their software since 2007ish and is pretty much fully incompatible with Windows 10. So programming these units is a huge pain in the ass.

My question is how difficult would the change over from ladder logic PLC's to an Arduino be? How difficult does everyone think the change in physical units, going from 20+ connections to this board, be?

Anyone ever do anything similar to this?

How rugged and hands off are these? If we were to set them up and ship a unit half way around the world, in any environment, what kind of issues might we see?

Still very early in the "Huh I wonder" phase, so any information would be helpful. I am still reading more about these and I have bought the Humble book bundle they offered from MAKE! Thanks in advance.

The ARDUINO platform is not that that expensive. Pick one up and try out the hardware and programming. The interfacing to existing hardware might be the most difficult part. For updating software I believe Crossroads has a simple to use programmer.

How rugged and hands off are these? If we were to set them up and ship a unit half way around the world, in any environment, what kind of issues might we see?

Arduinos are designed for the hobby market, not for an industrial environment which might involve any, or all, of: power supply fluctuations, EMI, dust, moisture, vibration/shock, temperature variations and probably other environmental factors.
If you use an Arduino you will spend a lot of time re-packaging and re-engineering it to withstand such problems.


What you are wanting to do - it sounds like - is replace some industrial controls with a hobbyist-oriented board. So keep that in mind.

Can an Arduino do what you want to do? Certainly (for your number of connections, though, you might want to go with a Mega). Is the Arduino reliable enough for the task? Possibly - even probably. That will depend on a number of external factors, along with how it is set up in the environment. There are larger issues, though:

  1. How to deal with the various industrial voltages - both for output, and input; usually with PLCs you are looking at both AC and DC, at a variety of voltage levels.

  2. How to deal with any communications that need to happen between machines (5 volt TTL is probably not going to work well in an industrial environment).

  3. What proof or certification will you have that a system based on the Arduino will work flawlessly under a given set of conditions, until the MTBF? Industrial controls go through an extensive testing and certification procedure, from what I understand...whereas a control system made with an Arduino - well, wouldn't.

  4. Probably the biggest hump will be "liability" - should something go wrong with the system, who has liability? For instance, if someone is injured on the job by a machine being controlled by a standard PLC, and it was found that the machine failed due to a spurious signal from the PLC (or a mis-read of a sensor), where all other factors are accounted for as "working" - generally liability would fall to the manufacturer of the PLC. In the case of an Arduino replacement? Who knows - but probably whoever implemented the system. Then there's the larger question of "what does the company's liability insurance policy read?" - Does it specify that the policy only covers issues that arise due to faults with certified (by some named industrial certification group - like ISO, UL, or such) equipment? Would using an Arduino void the insurance claim in the event of a failure?

All that said - if you still plan to go down this route - there are some options and ways to make things as best as possible for industrial control.

First - check out Rugged Circuits - who sell "ruggedized" Arduinos and such. The owner also posts here in the forums on occasion. They have several products that will probably interest you.

Also check out Industrial Shields, who sell Arduinos designed for industrial PLC control. They might actually be your "go-to guys" for your application, as you will see once you browse around the site.

You might want to also google "arduino PLC", "industrial control arduino", and "rugged arduino" for more.

From a software standpoint, you can control things using C/C++ on the Arduino, or you might want to stay with ladder logic. Fortunately, there are options here for the Arduino - for example:



I'm sure you can find more by googling "Arduino PLC library" and "Arduino PLC software". Another alternative might be to install Firmata on the Arduino, and control the Arduino using a PC running custom or proprietary software (provided it has a way to interact with the Arduino - whether through Firmata or some other library).

So, there are options available for the software side of things, too. Know that there are more than a few people working on the same problem(s) as you are finding - and have an interest in solving them and/or providing solutions (and help, I would imagine). You can even find a few threads here on the forums about industrial-level control and using the Arduino as a PLC (as you google, you should be able to find these threads, if you haven't already).

Still - the one "nut" that hasn't been cracked (due to the insane cost) is certification of the hardware for industrial control use. It isn't so much that the Arduino can't be made rugged and robust enough to handle the environment or the tasks placed on it - it's more that to get the needed certs (which again, might be needed for insurance purposes) - costs a fair amount of money for the testing (often destructive testing to boot). Look into what it costs (and the process) to get UL certified - that's the kind of gauntlet that would need to be run by companies trying to sell "Arduino PLCs" - it's also why industrial controls and PLCs that -are- certified cost so much; the costs cover the liability and testing, to an extent (there's also the niche product factor, too).

Good luck - and I hope I have helped. :)

Excellent post, cr0sh!

Nothing to add, /dev

The processor inside the Arduino is a serious industrial-grade processor. Atmel didn’t get to sell more chips than there are people on the planet by just selling to hipsters.

The Arduino boards such as the Uno, Nano and Mega are just an easy way for highschool kids to get started in programming, without having to buy a $100 programmer cable and $3000 compiler. These boards prioritise ease-of-use over features that professionals might want. But the magic of the Arduino system is that it doesn’t lock out the professionals. You can still use these boards for development in any kind of industry.

But when it comes to a product that you’re shipping to customers, you really should consider getting your own boards made, using the Atmel processor of your choice.

For the hardware you can take look at Controllino, at least has some industrial certifications.

Cheers, Ale.

regardless of the age, you can send your ladder logic to almost every plc programmer on the planet and he can adjust or modify or fix it.

with the Arduino, you can blink and LED in any of about 20 plus software ways, from a simple 'digitalWrite(LED1,ON)' to creating hygroglfix lookings code that few could understand.

the beauty is that it all works, for the one person on the planet who wrote it and the tens of thousands that understand the direct command to the fewer and fewer who understand the esoteric commands one learns as they become more skilled.

this is either a blessing or a curse. I can guarantee without reservation that no one ever has to hack into and modify the code to a cheap alarm clock, it is fixed permanently for life.

I use a simple board with some sensors and relays and such, all pluggable inputs. keep 2 in boxes, ready to overnight. the field only does swap outs. every failure (both) to date have been field wiring that was horrific. replacement was next day, but down time of a week would pass with a yawn.

The beauty of you building your own boards, is that you probably can talk to the I/O boards you have now and just replace the CPU.

titanicx: The issue is the company hasn't upgraded their software since 2007ish and is pretty much fully incompatible with Windows 10. So programming these units is a huge pain in the ass.

Buy a cheap laptop with Windows 7 (or whatever works) and dedicate it to maintaining your PLCs.