The ultimate PLC programming starter guide: nearly everything you need to know

In this guide, you will learn about:

1
What is PLC Programming
2
PLC Programming Careers
3
How to Pick a PLC Programming Platform
4
How to Learn PLC Programming
15 min read

Introduction

Most consumer goods, from food to cell phones, are manufactured at a production facility, shipped through a distribution channel, and delivered to a retailer or directly to your door using automation. The process of eliminating the human element from this process is not a new concept. Machines are capable of producing more, have a higher tolerance level, and have a higher quality level of craftsmanship when it comes to repeated production. Thus, there is a constant strive to automate every step of the manufacturing process.

Different systems are used in each segment of the automation. However, they have many common goals: high reliability, high repeatability, and ease of deployment and maintenance. Based on these principles and the demand of the manufacturing segment, Programmable Logic Controllers (PLCs) were created in the last century. Their goal was to replace the relay-based circuits, simplify the process of changing operations, and improve the reliability of the system.

What is a Programmable Logic Controller (PLC)?

Programmable Logic Controllers were created as a cost effective alternative to relay-based systems a few years after transistors become more commonplace. A Programmable Logic Controller at the core is a computer with a high degree of reliability capable of running a program without interruption in a 24/7/365 environment. At first, PLCs were simple and easy to setup. However as the needs of the business changed and manufacturing floor complexities became apparent, PLCs evolved. They now required a dedicated person that knew PLC programming in order to create the program, optimize it for a specific project and change it depending on business needs.

A Programmable Logic Controller is typically the hardware that will control the process. In case you're wondering, a PLC looks like a box filled with electrical circuits similar to your desktop computer. A PLC is typically housed in what's called an electrical enclosure in order to protect it from the harsh environments they may control. For the context of discussion, it's not uncommon to reference to PLCs as the entire plant floor control system as they're always tied to sensors, motors, switches, valves, etc.

Since their inception, PLCs have come a long way. They're still robust, process-driven machines. However, they're starting to incorporate some of the features we'd typically see in an Information Technology (IT) environment. Examples include Ethernet connectivity for data collection, sensor monitoring through technologies such as IOLink, MQTT protocols allowing server-based connections to be made, and much more. In other words, PLCs aren't what they used to be a few decades.
Different systems are used in each segment of the automation. However, they have many common goals: high reliability, high repeatability, and ease of deployment and maintenance. Based on these principles and the demand of the manufacturing segment, Programmable Logic Controllers (PLCs) were created in the last century. Their goal was to replace the relay-based circuits, simplify the process of changing operations, and improve the reliability of the system.

PLC Programming Careers

As manufacturing facilities around the globe rely heavily on PLCs, and the technology continues to evolve, there is an increasing need of experts capable of developing, supporting, and managing these systems. The opportunity to learn PLC programming has pushed many toward higher-paying jobs, secure work environments, and excellent career growth.

74

K+

Average US Salary

110

K+

Top 10%

0

Degree Required

It's essential to understand the manufacturing job landscape to see how the PLC programming skillset may impact your job, salary, and career progression. Here's an overview of each function from a North American perspective. Keep in mind that job titles as well as salaries may differ in other regions, companies and industries.

PLC Programming for Line Operators

Factory-line-operator

A line operator would typically have little knowledge about the systems behind the process. In other words, they're concerned about the overall functionality of the production line but aren't aware of how the system executes the specific steps of the manufacturing process.

Operators are generally aware as to when they need the help of a mechanic or electrician because of their extensive knowledge of the process. However, they typically are not familiar with the tools or the know how of those individuals. In other words, line operators would not be involved in PLC programming, machine design, or other tasks reserved for mechanics, electricians, and engineers.

The barrier of entry into manufacturing as an operator is low. It's possible to land an operator position after completing high-school education. For this reason, the salary of an operator is typically in the lower range. However, depending on the circumstances and the drive of an individual, it's possible to see significant increases in salary for those who excel in this position. They play a vital role within the operations department

PLC Programming for Mechanics

Manufacturing Technician

Mechanics are typically seen on the production floor when there's a breakdown or issue that an operator wasn't able to solve. However, mechanics play a vital role in engineering, research & development, and preventive maintenance. Their primary knowledge lies in the mechanical aspects of the operations. However, most mechanics learn electrical aspects of control systems through osmosis. In other words, they're exposed to the electrical infrastructure regularly, which allows them to learn those valuable skills, including PLC programming.

Based on our experience, the title of the mechanic would indicate that the person is able to work with tools and aspects related to the "visible" portion of the line and machines. However, as mentioned above, some of these individuals exhibit advanced skill sets depending on the needs of the company and their drive.

Mechanics are required to have either formal education through an apprenticeship program or have a high average inclination of working with such systems. Their skill set is in high demand in maintenance departments, which may pay a premium rate depending on operational needs. However, mechanics are typically the last defense against breakdowns, which in our experience leads to extended work hours, demanding work environments, and a higher turnover rate. For this reason, the compensation for a mechanic can range from minimum wage to over six figures accounting for experience, overtime, and knowledge.

PLC Programming for Electricians

Manufacturing Electrician

An electrician within a production facility is typically an invaluable asset for the company. This individual would know the visible as well as the invisible components of the production floor. An electrician typically requires formal training to ensure safe behavior within a medium voltage environment. This training may take place outside or within the company. However, a licensed electrician typically requires formal education and an apprenticeship program.

Electricians range in skill. Some are capable of working with electrical systems only while others are capable of programming PLCs, field devices, and even network infrastructure. In addition to working safely, electricians are trained in tools such as a multimeter, oscilloscope, wire crimping, megohmmeter, and more.

The salary of an electrician would typically be higher than that of a mechanic. They'd typically be well versed in the mechanical domain but rarely assigned on those tasks. Electricians are valuable assets in operations, engineering, and maintenance departments. Their hours range from an average 8 hour day to 12-hour shifts depending on business needs. Electricians who know PLC Programming would typically have a better work environment, higher flexibility, and a higher hourly rate.

PLC Programming for Control Systems Engineers

PLC Programming for Control Systems Engineers

A control systems engineer typically has a general understanding of the process, understanding of control system theory, and a project-oriented mindset. Engineers aren't necessarily better than electricians at applied execution, but their focus is on long term project deliverables rather than day-to-day operations of the manufacturing floor. However, they are called upon if an electrician requires support or isn't able to solve a particular problem associated with control systems.

Control Systems Engineers generally know PLC programming very well. They can implement programs from start to finish, troubleshoot existing systems and modify them as needed. However, based on our experience, the need for manufacturing plants may fluctuate, thus making the skillset uneven across locations.

A control systems engineer would command a salaried position that would typically be of a higher rate than the pay of the electrician. That being said, an electrician who does overtime may get a higher pay over the year. Control systems engineers would also spend less time on the floor and more time managing projects. As mentioned above, their focus is to improve the facility through capital projects, process improvement initiatives, and new technology initiatives.

How to Pick a PLC Programming Platform

An Introduction to PLC Platforms, Ecosystems and Manufacturers

As with any other industry, there are many competitors within the Programmable Logic Controller (PLC) market. Depending on whom you speak to, they will tell you that a particular brand is better than another. However, multiple factors are at hand when it comes to choosing the right PLC for the task. Depending on your specific needs, location, and goals, we may recommend a different PLC platform as well as specific PLCs. In other words, it's essential to be aware of the different brands, their advantages, their disadvantages as well as what they may be most suited for. In this section, we will examine precisely that, give our own opinion and discuss which PLCs we believe to be most effective for learning PLC programming.

Different PLC platforms are preferred in different parts of the world. The reason is that a PLC is not just a piece of hardware. It's also the ecosystem that comes with it. An ecosystem can be the software, vendors, suppliers, technical resources, and system integrators. As PLC manufacturers took over the industry, they concentrated their specific efforts within a geographical space.

Allen Bradley by Rockwell Automation

Allen Bradley PLCs are heavily used within companies in North America. The company is an established brand with heavy global presence and headquarters in Chicago, IL. The Allen Bradley line of PLCs comes at several price points. However, it's considered to be a premium brand when it comes to price. Although it's robust and widely utilized, the PLCs are priced significantly higher than some of the other ones. The Allen Bradley families of PLCs can be broken down into three distinct lines: ControlLogix, CompactLogix, MicroLogix, and NanoLogix (Micro800 series).

SIMATIC by Siemens

Siemens PLCs are the standard in European and Asian regions. They're reliable, come in many different configurations, and are a healthy alternative to Allen Bradley. Siemens PLCs are programmed through TIA Portal. Siemens lines of PLCs are broken down into 4 families: SIMATIC S7-1200, SIMATIC S7-1500, SIMATIC S7-300, and SIMATIC S7-400

AC500 by ABBABB

ABB is the third known brand of PLCs. The value proposition of ABB is that the controllers are able to interface between themselves and any other module from ABB.ABB lines are the AC500-eCo, AC500-S, and the AC500-XC.

Choosing a PLC Platform for Production

When it comes to selecting the right PLC platform for a manufacturing environment, you should consider the following: existing knowledge and infrastructure, location of the facility, long-term goals, platform capabilities, and budget.

1. Existing Knowledge and Infrastructure

If you have an infrastructure in place, chances are, you've already set a standard when it comes to Programmable Logic Controllers (PLCs), Human Machine Interfaces (HMIs), and Supervisory Control and Data Acquisition (SCADA) systems of choice. Based on this decision, you've trained personnel to support the infrastructure.

Regardless of the complexity of the existing system, the people who work at the facility have developed a familiarity as well as knowledge of the system. Migration toward a different solution requires an investment in training in addition to the cost of the system.

Furthermore, experienced leaders are aware of the learning curve with any significant changes. Therefore, the current system must be thoroughly examined before deciding to change

2. Location of the Facility

As mentioned in a prior section, PLC and control systems manufacturers have a distribution network of their systems, services, and 3rd party system integrators. When choosing a system, it's essential to be aware of their presence in your region to ensure that you can rely on their support when necessary. Furthermore, the location impacts the skillset of the talent available for hire.

In other words, if you're looking to use Siemens based controllers in North America, you may be restricted to a smaller engineering pool and be required to pay a premium for those that have experience with the Siemens PLC platform

3. Long-Term Business Goals

PLC Programmers often forget that the goal of the control systems is to support the business. An active control system should be able to accommodate the expansion of a thriving business for the years to come. Some of our clients fall victim to salespeople who promise the world only to fall short when the business chooses to expand their facility after two years. Specific PLC systems are meant for smaller manufacturers, machines, and infrastructures. They come at a lower cost and, as a result, aren't ideal at the scale that may be needed for a multi-facility manufacturing company.

If there's a goal to upgrade the system to gather data from all assets next year, it may not be wise to choose one of those systems to save on cost today.

4. Platform Capabilities

The technical capabilities of each platform vary between vendors as well as control families. Audit your facility and create a list of critical requirements. This list may include the need to support multiple lines, high-speed manufacturing, vision system integration, integration with existing assets, remote data and control, etc.

Based on these requirements, you can quickly eliminate many options and narrow down your search to only a few platforms.Business Budget We're all concerned with the cost of a full control system for a manufacturing plant. However, experienced leaders evaluate the investment based on a potential return. In other words, a higher cost may justify the expense of the advantages of a particular system will have a higher impact on the business. In this process, business knowledge and a high-level perspective are critical.

How to Learn PLC Programming

Regardless of the system, each person who interacts with a Programmable Logic Controller has to go through a series of lessons on PLC hardware, programming, troubleshooting, and design. Due to the complexity of PLC systems, the learning path may not be apparent to many of those entering the field. Paired with the complexity of challenging to acquire hardware and software leads many to shy away from control systems automation. We'd like to lay out the path we believe to be optimal for an individual to learn PLC programming as well as related systems to become an automation engineer.

Engineering Student

Laying down the foundation for your PLC training

We highly recommend that you choose one of the two most significant platforms on the current market if you're looking to land a job in the industry. These platforms are Allen Bradley (Rockwell Automation) and Siemens. Furthermore, we recommend that you choose Allen Bradley if you're in the North American region and Siemens if you're elsewhere in the world.

Your first task is to become familiar with the tools required to learn either platform. For Allen Bradley, we recommend that you become familiar with RSLogix 500 as your first software package. For Siemens, you'll have to get used to TIA Portal.

Note that you may want to download the free version of RSLogix 500 Lite, RSLinx, as well as RSLogix 500, Emulate to get started. Siemens provides an equivalent trial software package for 30 days on their website

Beginner PLC Programming

One may program a PLC in several different PLC Programming languages: ladder logic, function block diagrams, structured text, and sequential flow charts. Although it may be tempting to pick one approach over others based on their simplicity or familiarity with other languages, ladder logic should be the first language you master. The reason is that it's the most widely spread type of PLC programming due to the roots of relay logic, simplicity to implement, and ease of debugging.

Most of the logic built-in ladder logic uses the following three instructions: examine if closed (XIC), examine if opened (XIO), and output energizes (OTE). Furthermore, a high emphasis should be placed on learning rung structures as well as branching at this stage of the process.

Start by implementing logic routines that use the three instructions above. Understand how they impact the booleans they're tied to and experiment with different rung configurations. As you build different structured, think about how they may reflect systems in our daily life. Can you build a two-way switch or a backup system that turns own a secondary source if the main one fails?

Intermediate PLC Programming

Many PLC programmers struggle with the basic concepts outlined above. We highly recommend that you master the three instructions and rung layouts before you move on to other topics in PLC programming. Furthermore, if your goal is to land a job, chances are, most of the employers test your knowledge on the basics.

Moving into intermediate topics, we continue learning additional PLC instructions. Starting from the most important, we should focus on timers and mathematical computations. Instructions such as TON, TOF, ADD, MUL, SUB, and DIV should be familiar to you.

As you start working with these new instructions, you'll also notice new data types that may not be familiar to you. RSLogix and other PLC platforms provide particular constructs depending on the instruction. For example, the TON and TOF instructions require a structure of type COUNTER. Take note of these as they become essential in your PLC programming journey

Advanced PLC Programming

An advanced PLC Programmer would start to learn concepts such as Add-On Instructions, User-Defined Data Tags, Fault Tolerant Programming, External Hardware and more. It's the time to start investing your focus into advanced techniques, understand how to build robust code, how to create layouts for entire machines and/or plants and more. At this stage, you should be comfortable working with most instructions in the PLC programming world; advanced applications such as recipe control, plant automation and full machine development should be of great practice at this point.

Another area of focus at this point should be other methods of programming your PLC: Structured Text, Function Block Diagrams and Sequential Function Charts. These methods of programming are useful in their own unique way and should be leveraged depending on the situation. Furthermore, it's recommended that you start becoming familiar with external pieces of hardware such as Variable Frequency Drives (VFDs), Servo Motion (Kinetix platform), safety circuits and others.

The last piece of a competent PLC programmer is platform diversification. As you reach a certain proficiency of your domain, it's important to start looking outside and become familiar with other technologies in the field. This may mean learning SCADA applications from different suppliers, understanding how to interface your PLC data into a SQL database or how to send your data to a cloud-based application.