PLC or Open-Source Controller?

Deciding between a PLC or Industrialized Open Source Controller can be difficult. These two control platforms are often compared against one another in the battle for which is better. Saying that one platform is better than the other is impractical. Both platforms have advantages and disadvantages dependent on the environments that they will be used in.

open-source controller, arduino

Traditionally, PLCs have been applied in industrial work but have recently become more user friendly by adding basic processes that come pre-installed to ensure an easy setup. On the other hand, Industrial Open-Source Controllers, like Arduino-compatible platforms, do not have any pre-installed programs. This allows the developer to add in the processes needed for it to function properly and interact in its particular environment. This does not mean that these Arduino-compatible controllers can’t function like a PLC, they can do many of the same things as a PLC, but they have to be programmed to do so.

Before jumping into an industrial project, there are other areas to be aware of when designing an open-source project for the PLC world. The biggest one for typical PLC users is there is no way to get connected to an open-source microcontroller and download the current project that resides inside the CPU. Only the machine code for the processor is stored on the microcontroller. That contrasts with most PLCs that store the complete project with comments, element names, instructions, and once connected will allow you to  make edits or troubleshoot the code within the controller itself. To combat these challenges with an open-source controller, make sure to always keep a current copy of the project saved and on-site. It is also advised to incorporate version control into the project, since Arduino-compatible controllers cannot connect to see which project version is running.

Additional Best Practices for an Arduino-Compatible Controller

  • Labeling the project source code with a version number and/or date code and then programming this information to be seen. This method can help improve privacy and protect certain aspects of the property.
  • Remember that all changes are final. There are no runtime edits with open-source controllers. So, any changes will require a completely new machine code to be written. With PLCs, small changes can be made throughout the process.
  • Arduino-compatible controllers do not have a true data view or monitoring but do offer debugging tools like a Serial Monitor and Serial Plotter, but they require prior programming.
  • Since PLCs have built-in tools for monitoring the current values of variables or the status of the ladder code, they offer a tremendous help when testing, developing, or troubleshooting the system.
  • Open-source controllers are blank slates when starting a project and their performance is based upon what the developer programs into them. When developing with these controllers it is extremely important to implement fault recovery.

It all comes down to preference and what is needed for the specific task. That’s why AutomationDirect offers both options. We have the solutions for your product needs and would be happy to answer any questions about which option is right for the job. 

Want to learn even more? Check out more on PLCs vs Industrialized Open-Source Controllers in this video!