One of the most common questions I'm asked is if you need hardware to learn PLC programming. Here's my thoughts.
Since I've started offering PLC programming courses, a few students (and potential students) have written to me and asked if they need hardware to follow the courses. Rather than answering these questions individually, I have decided to put my thoughts down in a public post that everyone can refer to.
As a self taught PLC programmer, I wish someone had of explained this to me a long time ago.
In this post, I'll answer the question, "Do you need a physical PLC to learn PLC programming?".
Before diving into the meat of the post, I want to provide a few definitions to make sure that we are all on the same page.
A PLC, or Programmable Logical Controller, is a specialized industrial computer that is used to control automated processes. PLCs are designed to be easy to connect to sensors and actuators to understand and control a process, and easy to program using specialized programming languages like Ladder Diagram, Function Block Diagram, Structured Text, and Sequential Function Chart.
A PLC programmer is someone who writes software the software that allows a PLC to control a process. Although a PLC programmer's main job is to write software, they are expected to be comfortable working with hardware too. Variations of the job title "PLC programmer" are controls engineers, automation professionals, commissioning engineers, OT engineers, and more.
PLC programmers should be able to wire devices, install PLC modules, and be comfortable with troubleshooting hardware and electrical faults.
Now that we know what a PLC and a PLC programmer are, let's talk get down to the question - do you need hardware to learn PLC programming?
The short answer is yes, but not right away.
Here's the long answer:
When you first start learning PLC programming, you don't need to have a physical PLC.
To learn the basics of PLC programming like creating projects, defining hardware, and writing logic, you only need to have access to a PLC development system like Studio 5000 Logix Designer.
Every PLC platform has a development system that let's you write software without having access to a physical PLC. For Allen-Bradley Logix 5000 PLC's there is Studio 5000 Logix Designer, for Allen-Bradley Micro800 PLCs there is Connected Components Workbench, and for Siemens S7 PLCs there is TIA Portal. Unfortunately, many of these development systems need a very expensive software license to run that may be out of reach for an aspiring PLC programmer.
(At this point, I'd like to point out that I offer a free trial of Studio 5000 Logix Designer with the purchase of any of my courses. Head over to the courses page for more details!)
After writing your PLC software, you will want to test it. I firmly believe that testing is the best way to improve your PLC programming skills because it challenges your assumptions and let's you learn how to write better, less buggy software in a practical way.
Most PLC development systems provide a PLC emulator or simulator that let's you test your PLC software without a physical PLC.
For example, Studio 5000 Logix Emulate and FactoryTalk Logix Echo allow you to simulate a Logix 5000 controller on your computer that can be used to test Studio 5000 Logix Designer projects. Using these tools, you can download your project to a simulated PLC and go online with the running project to monitor, test, and debug your logic.
Using these tools, you can test PLC software without having a physical PLC.
Without a physical PLC, you can get really good at writing and testing PLC software but you probably won't become a master PLC programmer because.....
At the end of the day, your job as a PLC programmer is to get a piece of software to control an automated process.
Writing the software is only one half of the equation.
Eventually, you will be expected to go to a site, download the software, and check to make sure that it controls the physical equipment in a safe and reliable way.
To develop the skills involved in working with hardware and commissioning automated systems, you need to work with hardware.
You need to know how to download a project to a physical PLC.
You need to know how to configure an industrial network so that the PLC can communicate with other devices like HMIs, Remote I/O Blocks, and SCADA systems.
You need to be able to wire power to field devices and use a multimeter to check why some devices aren't powered or aren't communicating.
You cannot develop these skills without a physical PLC or some kind of hardware.
You don't need hardware to learn PLC programming, but you do need hardware to master it.
The reality is that any company will want to hire a PLC programmer with hardware experience over one without. That's because companies know that PLC programmers need to have practical skills to do their job well. Although a company may hire you without hardware experience, you will be at a major disadvantage during the interview process.
So when should you invest in hardware, and what hardware should you invest in?
I would encourage anyone to wait before purchasing PLC hardware.
Using a PLC simulator, you can learn a lot about PLC programming and testing and, once you are sure that you want to invest in your education, you can purchase PLC hardware that makes sense for your level and region.
Before investing in hardware, I believe that you should have used PLC simulators to learn some key concepts about PLC programming including:
Writing basic logic in Ladder Diagram using bit instructions (contact, negated contact, coil, set coil, reset, coil)
Writing intermediate logic using timers, counters, mathematical operators, comparators, and one-shot instructions
Once you have covered these basic PLC programming topics, you will know if you want to continue learning PLC programming and you can invest in a physical PLC to experiment with.
To sum it all up:
Yes, you need hardware to learn PLC programming, but you don't need to invest in hardware right away.
You can learn the basics of PLC programming using a development environment like Studio 5000 Logix Designer and a PLC simulator like Studio 5000 Logix Emulate.
Once you have mastered the basics, you can invest in a physical PLC to learn more about how PLC hardware works including downloading to a PLC, working with I/O, and potentially connecting to other devices like HMIs.
Although a company may hire you without PLC hardware experience, you will be at a significant disadvantage during the interview process if you have never worked with a physical PLC.
Get access to all my courses and priority support for free for 30 days.
Sign up to the mailing list to receive a 25% discount off all products.
Learn how to use program control instructions to change how logic is executed in a PLC
Learn how to compare and compute numeric data in your Studio 5000 Logix Designer projects
Learn how to build and test your first project in Studio 5000 Logix Designer using Bit instructions