If you’re studying towards or considering a career in industrial automation, you may be wondering about the difference between “robotics” and “automation”. Some other industrial automation words that sound suspiciously similar are “mechatronics”, “controls”, and “motion control”. Many of these terms are synonymous, or at least describe greatly overlapping domains. With that said, there is a distinction to be made between a Robotics Technician and a PLC Technician or PLC Programmer.
Recently, a reader left the following comment on my So, You Want To Be An Industrial Automation Engineer article:
Your article on Industrial Automation was very insightful. I am a manufacturing engineering technician student from London, ON. I am interested in becoming a Robotics Technician. So, I would like to know the similarities and differences of a PLC technician and a Robotics technician and what do I need to do to reach my career interest.Eric’s Comment
Thanks for the question, Eric! It’s always awesome to hear from someone who’s getting involved in industrial automation. It’s hard work, but a lot of fun, and the opportunities to learn are endless. Let me do my best below to answer your questions.
What Do Robotics Technicians Do?
Robotics technicians generally do robot setup and programming. As far as I see it, there are sort of three worlds to robotics:
- Robot setup
- Writing and debugging robot programs
- Teaching robot positions
Getting a new robot out of the box ready to be programmed. This consists of any custom loads for your shop, IP and comm setup, etc. Sort of like getting a new device to talk on your Wi-Fi at home, but more complicated. 🙂
Someone who’s spending their time setting up robots will have to connect power and communications to the robot. You’ll need the right cables for the application. When someone says “application” in this context, they mean: the particular thing that the robot is intended to do.
For instance, if the robot is a “material handler”, its purpose is to move parts around. You would say the robot is, or has, a “material handling application”.
Material handling robots will often have end effectors with sensors and clamps. (You can read a bit about end effectors near the bottom of this article on sensors.) The robot will need power and communication cables to pass through its arm to the end effector. It will need these to provide power to the clamps and to receive feedback from the sensors. This may result in different cabling to the bottom of the robot. The person doing the setup will need to make sure they select and hook up the right cables.
Anyone working robot setup will also need to be very familiar with the robot’s setup menus. There may be a lot of little settings to change to get everything setup right. Additionally, you will likely need to understand the process for flashing images or firmware into the robot’s memory.
Writing And Debugging Robot Programs
Once initial setup is complete, the robot’s programming tells the robot when to go. The robot program also dictates what inputs and outputs to set along the way. Robot programming is reminiscent of high-level computer programming. Once you get involved in reading and understanding robot programs, I think it’s fairly easy to start building some skills as a programmer.
Robot programs often employ somewhat straightforward and easy-to-read logic. Usually, you’ll be evaluating some input from the PLC or the End Of Arm Tool (the IF condition). The robot then takes some action or sets some output as a result (the THEN result).
For example, a robot may enter a program and first check to see if it’s already holding a part. If it doesn’t have the part, it enters a branch of the program that sends it to the pickup location. From there, it may close its clamps (to secure the part in its grasp), and then check to see that its sensors indicate that it has a grip on the part.
If, instead, the robot already has the part, it will jump to a different branch of the program. In this branch, a different set of motion commands will move the robot to the drop-off location. Once there, it will release its clamps, then check its sensors to make sure that it no longer has the part.
If you’ve ever done any programming in BASIC, that’s what robot programming reminds me of. I’ve only ever worked with Fanuc robots, though, so other platforms may be different.
Teaching Robot Positions
Once robot programs are loaded, you have to tell the robot where to go to do its job. Different robot applications (robots that weld, robots that move parts around) require different tactics in terms of the motion necessary to accomplish the task.
For the most part, teaching robot positions is a lot of “jogging” the robot. To “jog” a robot is to drive it manually using the buttons on the teach pendant. Depending on the reference frame, these buttons either move an axis independently or move the End Of Arm Tool in one particular direction.
With that said, simply wiggling the robot around is only scratching the surface of position programming. Each position taught can be setup in a variety of different ways. Good programmers understand how the robot will move depending on the settings that they select when they teach a position. Skillful position programming can improve the performance of the robot (by reducing cycle time) and extend the life of the robot’s mechanical components.
Position programmers will also need to understand how motion is programmed for different applications. Material handler motion may be programmed differently from weld gun motion. Large, heavy robots with payloads of several hundred pounds may be taught differently than small robots that carry only a few pounds.
Being A Well-Rounded Robotics Technician
Each of these elements is a bit of a world unto itself. If you get into robotics, then depending on where you work, you may specialize in one or two of these domains. Or, maybe your shop’s policy is that you own each robot for the complete process, from setup through customer acceptance.
Robot gods – guys or gals who are really, really knowledgeable – are likely to be proficient in both setup and programming.
What About PLC Programming?
The Programmable Logic Controller, or PLC, is the brains of the operation in many modern factories and processes. PLC’s tell the robots, valves, actuators, conveyors, and other systems when it is their turn to move. For instance, the PLC will tell the robot which program it should execute:
Run your program to…
- …pick up a part and set it down somewhere else
- …move to a maintenance position so a cable can be repaired
- …drop off your end effector and return home
The PLC will send several bits to the robot telling it that it is safe to move and that it wants it to run a program. It will also typically send a combination of bits that represent “program select”. In other words, the PLC will send the robot a code telling it which program to run, and other bits telling it it is safe to run that program.
This is just one example of what the PLC does. The PLC is the mastermind of the operation, evaluating all of its inputs, processing those inputs according to its programming, and setting all of its outputs on every “scan”. A scan is one complete execution of all of the PLC’s programmed logic.
What Does A PLC Do?
Think about some decent-to-high-end electronics purchase you’ve made recently. For instance, consider a smart home hub.
That smart home hub comes out of the box, ready to do its job of controlling your smart home devices. In order to do so, it uses its microprocessor, which is equipped with a set of programming instructions that were loaded at the factory. If you and your friend have the same smart home hub, both hubs will have the same programming.
Now, consider an automation line in a factory. An automation line in a factory is analogous, in some ways, to a smart home hub. It accepts inputs from many sensors. It processes those inputs, and depending on the inputs it receives, turns on outputs.
In the case of the home automation hub, it might be accepting voice commands, time of day, and RF signals as inputs, and it might be setting outputs such as locking the front door, turning on a light, or closing a set of motorized blinds.
What Does This Have To Do With PLC’s?
In the case of a PLC, it might be accepting proximity sensors, motor temperatures, and operator pushbuttons as inputs, and it might be setting outputs such as telling motors to turn, flashing lights on panels, or moving an actuator to position a part.
The PLC even shares the trait of using a microprocessor to perform its functions. Where the PLC differs from the smart home hub is that whereas manufactured devices like smart home hubs all have the same programming, each PLC running an automation line or process typically has custom programming.
In other words, two automation lines that connect with each other may have the same foundational “template” of logic loaded. Even if they start out similarly, however, they will both have many small differences in their programming to reflect different processes or equipment that are used on each line.
What Do PLC Programmers Do?
It is the PLC Programmer’s job to create and maintain the logic that drives automation lines or processes. PLC programmers are generally either developing and implementing new logic, or supporting and debugging existing systems.
Developing New Logic
One of the most fun aspects of PLC programming is developing new logic. You might work with ladder logic, function block diagrams, structured text, or other programming methods. Whatever you’re using to program the PLC, developing new logic allows you, as the programmer, to bring an automated process to life.
This is where your creativity and programming skills will come in. A good programmer has read and debugged a lot of logic and is able to bring solutions to bear in new applications. Knowing how you or other people have solved certain problems in the past gives you a “library” of solutions to reference to overcome new problems.
A good programmer is also resourceful. If you come across a problem you haven’t solved before, it’s important to know where to look and to have other smart people you can call upon to get the information you need.
Another key skill when writing new logic for the PLC is “being able to see the logic running in your head”, as one of my PLC mentors once said to me. It’s important to learn how the various PLC programming instructions work and how they respond on their first and future scans after input conditions become true or false. Understanding how your logic will behave while you’re working offline will help your implementation to go more smoothly and minimize debug time and issues.
Maintaining And Debugging Existing Systems
The other side of the coin is maintaining and debugging existing systems. Many organizations keep PLC programmers, or “Controls guys”, on for the sole purpose of getting the equipment back up and running when it breaks down. If you’re in a production support role of this type, you’ll need to learn the equipment in the area and the PLC logic that drives the process.
The best-case scenario is if you get to own a process from birth and throughout its lifecycle. If you’re trying to troubleshoot something, it sure is nice to have the person that wrote the logic available on site.
If you’re going to support existing equipment, it helps to be able to work well under pressure. Managers will be standing around tapping their feet and looking at you to get the equipment running. You’ll need to keep a cool head and work through the issue to get the line moving.
Other Functions Of A PLC Programmer Or Automation Engineer
There can be a lot more to it than the ladder logic (or other programming method). For instance, the PLC is the ultimate controller for the process, and thus many devices will need to be setup within the PLC software so that the PLC can talk to them. This may require you to obtain specific configuration values from the device’s manufacturer, or to load an EDS for the device. An EDS is a file that helps the PLC understand how to talk to a certain type of device.
Further, PLC Programmers (or Controls Engineers, etc.) often setup and maintain software and backups for any drives that are part of the system. Modern factories commonly employ Variable Frequency Drives, or VFD’s, to control motors. VFD’s allow you to set motor speed dynamically through the logic. This programmatic control enables the programmer to set up high and low speed settings, sync up speeds between neighboring motors, and more.
Another area of responsibility for PLC programmers is HMI development. The Human-Machine Interface, or HMI, is typically an LCD or touchscreen interface through which operators can control the system. As a PLC programmer, you may find yourself designing and debugging custom HMI screens to support your process. A well-designed HMI will provide users with:
- Information they need to understand what’s going on in the process
- Buttons and other input methods that allow them to control the process
Similarities Between Robotics Technician And PLC Technician Positions
Now that we’ve covered many of the differences between robotics and PLC technician roles, let’s discuss some of the similarities.
To start with the obvious, both roles require you to be a decent programmer. You’ll need to have the patience and curiosity to learn the basic syntax and instructions with which the equipment is programmed. As you are exposed to new situations, it helps to remember programming solutions you’ve used or seen in the past. You never know when you might want to reuse something in the future to overcome a similar challenge.
Programmers working in the industrial automation field must take care in what they do. A single bit in the wrong state or a single number in the wrong register can bring your process to a halt, or worse – cause a robot or other equipment crash. You’ll need to be careful and pay attention to detail as you program and debug your logic.
Another aspect of working as either a Robotics Technician or PLC Technician is troubleshooting. Troubleshooting is the process of identifying and correcting a problem to get equipment working.
To be a good troubleshooter, you need to learn your automation and the equipment and software that you’ll use to get the job done. If my factory uses Rockwell Automation PLC’s, for instance, I’ll need to be familiar with RSLogix 5000 and how to use it to quickly debug any issues. In a facility that employs Kawasaki robots, I’ll need to know my way around the Kawasaki pendant and understand generally how the robot functions. If I’m supporting a line with automated weld processes, I’ll need to become familiar with the weld equipment and controller.
Depending on the process, this most likely means you’ll need a good mechanical or electrical background. When you have knowledge of how equipment and components are supposed to work, it can help you to understand why they’re not working. Many PLC and robot programmers first work as industrial electricians or technicians. A strong electrical background can be very helpful in figuring out what’s going wrong in your process.
Believe it or not, you still need to have decent people skills as a programmer. You’ll need to keep people informed of the work you have going on and often solicit their help in getting the job done. Managers and supervisors will need you to get a task accomplished or to get equipment back up and running, and you’ll need to be able to set expectations appropriately.
Salary Comparison Between PLC Technicians And Robot Technicians
The good news is that both pay pretty decently and both are very comparable. As you’ll see below, there appears to be a wide range of potential salaries within these fields, and I’m sure it depends greatly on the location, years of experience, and contract status. Here are some aggregated salary numbers from some reputable sites:
|Robotics Technician||PLC Technician|
How To Get A Job As A Robot Programmer Or PLC Programmer
Within the field of industrial automation, I think there’s a bit of a chicken-and-the-egg thing with breaking into a programming job. This is something that I think is similar between robotics technicians and PLC technicians. When it comes to hiring into these fields, my personal perception is that employers would prefer experience to education.
What I mean to say is I think that for a technician position, an employer would be likely to choose a robot programmer with 4 years of pendant time over an Electrical Engineer with 4 years of education. The same may or may not be true for an engineering position.
I’m not trying to downplay education, and I have a bachelor’s degree in IT with a concentration in Software Development. I do believe that my degree helped me to get my current position. But, my current position is that of Automation Engineer, and I had industry-related experience in addition to my degree.
The Importance Of Hands-On Experience
If you’re looking to get into the industry as a Robotics Technician or PLC Technician, I think hands-on time is very important to employers. I believe an employer would very strongly consider a candidate for either a technician or engineering position if the candidate had several years of relevant experience doing PLC or robotics work – even if that candidate didn’t have a degree.
I think that employers may even prefer experience over education for certain engineering positions. Because PLC and robotics work requires very specialized skills and knowledge, you just can’t trade time at the terminal or on the pendant. Becoming a proficient PLC programmer using Rockwell Automation’s RSLogix 5000, for instance, can be a life-long pursuit.
Please note that this is just my personal take on it; I’m sure every employer has different policies and expectations.
What If I Don’t Have Any Experience, Yet?
This is where the chicken-and-the-egg thing comes into play. If you’re trying to get your foot in the door somewhere to try to build that foundational experience with PLC’s or robotics, I’d say there are two paths:
- Earn a two-year (or even four-year) degree in a field like Mechatronics, Industrial Automation, Electrical Engineering, etc. This will help you to get an interview and hire on as a technician
- With experience in a related field, get a position where you can start dabbling in PLC programming or robotics so that you can qualify for a more focused position later
A Couple Of Examples
I’ll give you two examples:
- I know a very talented PLC programmer who works as a Controls Engineer
- He got a two-year degree in Mechatronics and then worked for an automotive manufacturer as an Industrial Electrician. He transitioned into another Industrial Electrician position with another automotive manufacturer
- His two-year degree plus the experience he’d built doing PLC debug along the way allowed him to interview for (and be offered) a position as a Controls Engineer
- I know another very talented PLC programmer who works as an Industrial Electrician. Although Industrial Electricians perform a wide range of tasks within my facility, he is primarily doing PLC programming and troubleshooting
- He worked as an Industrial Electrician at a government facility. During that time, he made sure to learn as much as he could about PLC’s, drives, and electrical troubleshooting. After several years, he hired on at my facility
- He has the same job title as others at my facility who are doing less technical work. Because of his knowledge and experience, however, he has been able to specialize in PLC programming. His supervisor has identified him as a Subject Matter Expert for PLC’s and drives, and he primarily works as a PLC programmer and troubleshooter
Additional Information On The Differences Between PLC Technicians and Robotics Technicians
I hope that this article has given you a bit of perspective on the difference between PLC technician and robotics technician jobs in the field of industrial automation. If this was helpful for you, go ahead and sign up for my email list below:
Once you’re on my email list, I’ll keep you posted whenever I have something new for you related to industrial or home automation.
For further reading on the differences between robotics technician and plc programmer roles, here are some other resources from around the web:
- My personal take on being and becoming an Automation Engineer
- My take on the field of automation integration
- A little write-up from NC State University that briefly describes robotics, controls, and mechatronics
- How to become a PLC Programmer, 3 articles from:
- How to become a Robotics Technician, 3 articles from:
- How to become a Controls Engineer, 3 articles from: