Electronic – arduino – Reliability of the Arduino platform for industrial use


I'm no electrical engineer (just mechanical) but I would like to apply some of my hobbyist experience to my job and implement various automated systems in an industrial (manufacturing) environment.

Traditionally, automation in the industrial setting consists of either engineered systems or PLCs. Engineered systems are too expensive and PLCs lack flexibility (and they can get pretty expensive as well).

I would like to replace traditional PLCs with more flexible, powerful, and cheaper Arduinos but I'm concerned about the Arduino's reliability. PLCs evolved in the industrial setting and are thus very rugged and reliable but how does the Arduino platform compare?

Assuming that proper measures are taken to protect the Arduino from mechanical and electrical damage, how reliable is the platform? Would you trust it to replace a traditional PLC that controls say a machine's safety interlock system to prevent people from getting too close to a machine in operation?

Edit: What about non safety critical systems? For example, introducing intelligence into say a fixture which a PLC would not be capable of?

Best Answer

PLC manufacturers would like you to believe that their software is more reliable and more thoroughly tested. My impression is that the core OS components of PLCs are usually quite well designed and tested, but the drivers for external hardware (motion systems and the like) are often libraries hacked together by applications engineers and then passed around the company. The hardware in PLCs is often antiquated-- a lot of them are running old, hot Geode processors.

When you buy a PLC from Allen-Bradley, B&R, Siemens, or any of the other big players, you're mostly paying for support when things go wrong. Their hardware is made with the same manufacturing processes as Arduinos, and there's nothing magical about the real-time operating systems running on PLCs that makes them bug-free. But, I think that support is often worth paying for. If it's a machine that costs the company $1M every day it's not operating, I'd be damn sure that when something went wrong, there was a team of professionals who could help fix it, not just me and Google. For the specific case of light curtains or other safety interlocks, I would want to make sure that the manufacturer had a hefty insurance policy in place, rather than a statement that tries to disclaim all merchantability for any particular purpose.

Even so, if I were designing (for example) a bit of simple pneumatic actuation for some fixture, and I was willing to shoulder the support burden of fixing the machine when it broke (or if I wasn't able to get the resources allocated to pay for the PLC), and safety wasn't an issue, I'd happily use an Arduino.

I'd probably prototype the system with an Arduino and then rewrite the code in pure C once it was working, so that my code was the only code on the microcontroller.