November 18, 2024
Learning

What Skills Does a PLC Programmer Need?

In this post, I outline the key technical, soft, and future skills that every PLC programmer should have to excel as an automation professional.

In this post, I'm going to outline the key skills that PLC programmers and controls engineers need to excel as automation professionals. This list is based on my personal experience as a self-taught controls engineer who has been working in the automation industry for the last decade.

Hopefully this list will help you to prioritize the skills that you focus on developing and to get the job or promotion that you have been thinking about.

Let's start by talking about the technical skills that PLC programmers are expected to have.

Technical Skills

PLC Programming

It probably goes without saying, but PLC programmers are expected to be able to program PLCs.

A few years ago, companies may have taken a junior engineer on with no PLC programming experience and trained them up, but these days most companies want to hire someone who can hit the ground running. That means that if you want to work as a PLC programmer, you are expected to go out and get a little bit of experience with PLC programming before getting your first job.

In general, a PLC programmer should specialize in one language and have a good understanding of the other languages. Your primary language will depend on the industry that you are working in. For example, the Function Block Diagram programming language is very popular in process industries.

PLC Hardware

PLC programmers should have a good understanding of PLC hardware.

This means that you should know what modules are available for the PLC system that you are working on and you should know how to install, configure, and troubleshoot modules.

The responsibility for selecting PLC hardware usually falls on the electrical engineer in a project, but the responsibility for installing, configuring, and getting a module working may fall on the PLC engineer.

Electrical Systems and Components

A project is made up of more than PLC hardware, and a PLC programmer is expected to know about more than PLCs.

I am not an electrical engineer but one thing that has helped me to excel in my career is my knowledge of electrical systems. Every PLC programmer should have a basic understanding of electrical components like relays, sensors, circuit breakers, motors, and valves. They should also be able to read and understand electrical schematics and wiring diagrams to understand how the control system is built.

Networking and Communication Protocols

Most projects are made up of multiple devices that communicate using an industrial network or fieldbus. As a PLC programmer, you will be expected to configure the devices in the project to communicate with each other and to troubleshoot the network when it is not working.

PLC programmers should know what common industrial communication protocols like EtherNet/IP, PROFINET, Modbus, and DeviceNet are and should understand in detail how a handful of these networks work.

If you are working with Allen Bradley hardware, then you should know a lot about EtherNet/IP. If you are working with Siemens hardware, then you should know a lot about PROFINET.

The projects you work on may use other communication protocols as well and the protocols that you are expected to know will depend on the industry that you work in. Do your best to research your industry to understand what communication protocols are used and be informed about those protocols.

Troubleshooting and Debugging Skills

Almost anyone can do a design on paper. Getting that design to work in the real world is much harder.

A lot of your time working as a PLC programmer will be spent debugging and troubleshooting. If you are planning to work as a PLC programmer, you should be comfortable using the tools that are available to you to debug issues. You should also be comfortable with searching for answers in documentation and solving issues through trial and error.

Other Technical Skills

Finally, PLC programmers do more in a project than program PLCs.

Very often, it is the PLC programmer who configures the variable frequency drives, sets up the servo drives, configures the HMI, and tests the SCADA system.

Although PLC programmers specialize in programming PLCs, they are involved in the whole project. If you want to excel as a PLC programmer, you should have basic knowledge about all of the other intelligent devices in a project and be comfortable working with them.

Now that we have talked about the technical skills that a PLC programmer needs, let's talk about the soft skills that are required.

Soft Skills

Problem-Solving and Critical Thinking

There are very few projects where the client has defined exactly what they want from a machine or system.

To excel as a PLC programmer, you have to be able to read a set of functional requirements and decide how to build the best system using the information that you have.

This requires critical thinking skills.

Even when you know what you want to build, there are challenges and limitations that you did not plan for. To get around these problems, you need to have good problem solving skills.

Attention to Detail

Clients often define how a process should look when things go right.

A good PLC programmer also pays attention to what should happen when the process goes wrong.

How will the PLC detect when a sensor has failed? What should the PLC's reaction be?

During commissioning, this attention to detail is also very important since the PLC programmer is responsible for checking that every sensor and actuator is working correctly and that the whole system works as intended when the process is going well and when the process is going wrong.

Project Management Skills

Most PLC programmers look after their own time budget on projects.

You are ultimately responsible for making sure that your work is done within the allocated time.

Part of this work includes aligning with other members of the team to get inputs and agree on how to proceed.

Although you are not a project manager, you will have to do quite a bit of project management to ensure that your work is done on time and to the standards expected.

Communication Skills

Communication skills go hand in hand with project management skills.

Ultimately, a PLC programmer needs to be able to communicate how the work is going, and what sticking points she needs help resolving.

Very often, you will have to convince a client that your approach is correct, you will have to report your progress to project managers, and you will have to work with operators to understand how they work and what they need from the PLC program.

PLC programmers need good communication skills.

Ability to Learn

Possibly the most important skills for PLC programmers is the ability to learn.

In industrial automation, technology changes slowly but it still changes. In the last few years, we have seen the rise of IO-Link and OPC-UA on the communication side of things.

Companies like Rockwell Automation and Siemens are releasing APIs for their products so that automation engineers can use version management tools like Git and do automated testing with their code.

New platforms like FactoryTalk Design Studio and FactoryTalk Optix are coming out that require a skill refresh to master.

If you want to have a long career in automation, you have to be ready to be constantly learning.

Skills of the Future

Finally, I'll highlight some of the skills that I think will be important in the future for PLC programmers. If you master these skills, you will be in high demand for a long time to come.

Industrial Networks

More and more devices communicate over Ethernet and many companies want to connect their OT and IT networks.

This leads to complex networks and collaboration between OT and IT teams. If you are a PLC programmer who knows a lot about industrial networks, you can add a ton of value here.

Cybersecurity

As well as unlocking data, connecting OT and IT security introduces risks to an automation system.

We are already seeing a lot of demand for PLC programmers who know about cybersecurity to help ensure that OT systems are secure. This trend will only continue as we see more OT cybersecurity threats.

Data Analytics

OT devices are getting more intelligent and modern industrial networks makes it easy to pull data from devices and push that data to a database.

Companies want to use this data to improve their processes and any PLC programmer who can analyze this data using AI or standard tools will be in high demand.

Software Development

Automation companies like Siemens and Rockwell Automation are introducing tools that let PLC programmers work like traditional software developers.

IDEs now have APIs that let you automate repetitive tasks.

PLC programs can now be written in text based languages.

This trend will continue as automation projects get more complex. To stay ahead of this trend, PLC programmers should focus on spending some time learning about traditional IT tools and methodologies.

Wrap Up

In this post, I have outline the key technical and soft skills that all PLC programmers should have.

I have also outlined the skills that I think will be important in the future for PLC programmers.

If you are interested in learning how to write PLC programs, check out PLC Bootcamp, my free mini-course that teaches you how to write and test your first PLC program for free.

30 Day Free Trial

Get access to all my courses and priority support for free for 30 days.

Learn More

Claim your discount

Sign up to the mailing list to receive a 25% discount off all products.

Thanks for joining our newsletter. Use the code "LIST25" at checkout for your discount.
Oops! Something went wrong while submitting the form.
Subscribe to Our Weekly Newsletter - Courselify X Webflow Template
Subscribe to Our Weekly Newsletter - Courselify X Webflow Template
Subscribe to Our Weekly Newsletter - Courselify X Webflow Template

Related courses

Working with Numeric Data in Studio 5000 Logix Designer

Learn how to compare and compute numeric data in your Studio 5000 Logix Designer projects

15 Lessons

Work with Logix 5000 Hardware

Learn how to assemble,wire, and configure Logix 5000 hardware.

Coming Soon

Function Block Diagram in Studio 5000 Logix Designer

Learn how to write logic using the Function Block Diagram programming language

Coming Soon