I have developed a prototype of a CNC Machine with Arduino and Raspberry Pi for my first client, I now need to use industrial grade components, but I struggle with the hardware, I am confused.

I just learned about PLC, and I don't know anything about them. What it takes to make an Industrial-Grade CNC ?

Should I use a PLC for my CNC ? What PLC to use ? What modules ? What is the hardware configuration ?

I want to learn, But I struggle to find informations for this on the web. Do you have some documentations ?

I need your help, I am a little bit lost I have to admit.

Thanks !


2 Answers 2


Arduino and RPI can take the role of control systems hardware. They are not what someone would call industrial grade (although, in some cases, they are used in industrial context).

It is hard to define what industrial grade means, it is in many cases subjective, but here are some aspects which I think are mostly agreed upon:

  • Hardware and Software interfaces compatible with industrial equipment. Industrial equipment communicate to each other using specific protocols like CanOpen, Sercos, EtherCAT, etc. These require a hardware interface and a well suited communication stack (on the software side)

  • Usable in an industrial setting (housing, rail-mountable, screw connector, no soldering needed for use, UL or CE certification (depends on country), 24V DC or 110V/230V/400V AC - depends on country)

  • Programming by the end-user. Industrial control systems are programmed by the system integrator or by the end-user. They need to be familiar with the programming language. CNCs are programmed in some G-Code dialect, PLCs have dedicated programming languages like Ladder diagram, Structured Text, etc. This is the application program, similar to a script, running on the PLC, CNC or RC (Robot Controller) on top of the manufacturer provided "firmware".

  • Technical support is required, since the end-user might have questions or problems in the exploitation of the system and if production stops at the end-user that can be costly. End-users want to be sure that there is long-term technical support available.

PLCs are used for controlling industrial systems, but they are not the first choice for controlling synchronized motion (this is somewhat changing with the PLCOpen Motion Blocks for very simple applications, not for machining applications). CNC-controllers are the first choice to control synchronized motions. CNC-controllers also include PLC functionality for dealing with non-motion related tasks (e.g. switching coolant on or off during machining).

A high-end industrial grade CNC Controller would be a Siemens CNC Controller, a Beckhoff Controller with a CNC Module, Mid-range e.g. Fagor CNC Controllers. On the very low-end (low-cost) side a CNC controller like the Mach3 or Mach4 might (!) pass as industrial grade, depending on the client requirements. As for open source there is LinuxCNC, which migh(!) pass as industrial grade, and the GBRL project which will probably not pass as industrial grade, due to its arduino target. Again, what is and what is not industrial grade is somewhat subjective.

CNC Controller communicate with drive amplifiers. Some examples here are overlapintg with the ones above (Siemens, Beckhoff, Bosch, Lenze, ABB). Most of these also have matching motors for the drive amplifiers.

As for mechanical hardware, gearboxes (e.g. Nabtesco), linear guide rails (e.g. SKF).

Usually all companies mentions have pre-sales technical support to assist you in picking the right equipment for your application. Please note that brands in my answer is biased towards the EU market. There might be other comparable brands well known in other geographical regions)


CNC machines are usually used for moving a tool using multiple axes in a coordinated way. If you want to do the same with a PLC, the program gets very complicated and that's why it does not make sense to use a PLC instead of a CNC machine.

PLCs are usually used BEHIND the CNC for controlling more PLC like functions for the machine such as hydraulics, clamps, etc. So the CNC does the more complicated moving stuff but the PLC controls the general functions of the machine in the "back end". That being said, CNC's and PLC's are two different tools that are used for two different jobs.

The PLC is also commonly used in civil applications such as in washing machines and for controlling traffic signals and elevators. They are used in many industries to monitor and control production processes and building systems.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.