When learning ladder logic, I was told that some new PLC systems were moving to scripted programming languages. My instructor assured us that we would not need to know anything other than ladder logic for Programmable Logic Control (PLC). While some production lines may not see many changes over the years, newer lines are moving to a more open-source platform. This doesn’t eliminate ladder logic, but could opening the door to higher programming languages prompt its eventual demise?
Machine Design assembled a group of experts to talk about ladder logic and its role in manufacturing, education, and where it might be headed in the future. Included on our panel were:
Terry Persun, independent technology writer
Scott Hibbard, vice president of technology for industrial applications at Bosch Rexroth
Marissa Tucker, product marketing manager at Parker Hannifin
Matteo Dariol, product developer for Bosch Rexroth
Douglas Hoon, CTO at Meltz LLC
Terry Persun: I have been out of design for a while, but I still speak with many engineers. I’m finding that ladder logic is still being used in a lot of older plants and is still relevant, although shrinking. I don’t know if it’ll ever go away.
Scott Hibbard: While controversial, ladder logic will not die, but it will move to a minor role. A combination of the need for connectivity to higher-order IT systems, and the languages that the majority of graduates come out of school knowing will slowly bring C, Java, etc., into the mainstream.
Ladder still has relevancy in the industry, but only due to its widespread adoption in older machines and residual popularity, not due to any advantage over more modern PLC programming alternatives. New programming architectures, such as those offered by IEC 61131-3, are far more powerful, allow for greater flexibility and modularity, and resonate more closely to how young engineers and non-PLC programmers prefer to code while also supporting Ladder Diagram.
Matteo Dariol: Ladder logic is like Assembly or C, they are old but widely used languages. They all have pros and cons, but they are all tools in a control engineer’s toolbox. The question here is: What is the most appropriate language for a certain application?
The answer depends on many factors, not only the type of final application, but also the hardware platform/architecture, the programmers’ know-how, the availability of specific application-dependent libraries, and the existence of legacy code. Like any software engineering problem, the language does not make the developer. A language is just a tool, which needs to be picked by a developer in order to solve a specific problem in the most efficient manner.
Scott Hibbard: New languages are already a tool and being used as a side language to communicate IoT and Industry 4.0 applications, alongside traditional Ladder Diagram, Function Block, etc. But I think over time we will start to see entire programs written that way. Ladder logic still has the edge in visual troubleshooting, but the shear efficiency and interoperability of higher-level languages will be enticing.
The languages that the mechanical engineers I talk with typically use programs designed for the particular control systems they’ve implemented. For mechanical engineers, I’m finding that they rely on a lot of Windows-based programs because they’re easy to learn. However, some also venture into more complex systems. I think that every mechanical engineering degree should include software classes. Even though programming languages for things like power transmission and motion control are getting easier and more user-friendly, I believe that you can’t get into a job these days without some software knowledge—even mechanical engineers.
Marissa Tucker: If I need to do any level of data handling or manipulation, math, or complex logic, I prefer to use Structured Text. The reason why IEC 61131-3 is so powerful is that, unlike ladder, it's an object-oriented language so you can develop reusable, modular code. I can also choose the programming language that best suits what I'm trying to accomplish within my code and simply call another program, function, or function block that may be written in a different language. This allows me to program quickly and develop my own reusable function block library, and makes it easier to debug. In addition, certain code I can make available to the “operator level” in ladder, while hiding the rest away in a function block for the developers use only.
I think broadening the scope is always good. MEs knowing programming helps to understand the total machine better, just like EEs getting some basics in mechanics helps. I used to always look for control engineers that fixed their own cars for that very reason … it’s just getting hard to find anybody that fixes their own car these days!”
Terry Persun: I think many companies are finding that mechanical and electrical/electronic engineers need additional training on the particular equipment they’re using. From the mechanical engineers I talk with, they’re already deeply into the electronics and programming, so I don’t know if that will change much over the next decade.
Douglas Hoon: The importance of learning about electronics as a “force multiplier” for mechanical systems can’t be overstressed. Young mechanical engineers starting in their careers would do well to study sensors, control theory, and communications with the same rigor they applied to statics and dynamics, strength of materials, thermodynamics, etc. It’s hard to conceive of any dynamic mechanical system that can’t be improved with electronic controls and feedback.
Programming should play a larger role in engineering education. The trend of robotics and advanced automation is leading to more programming in general. To be flexible for whichever language a company wants, or programmer is comfortable with, new equipment has open software, and in some case firmware, able to handle multiple languages. Engineers are looking more into tools that can provide easy access to open standards and open protocols.
In my opinion, the drawbacks to ladder logic are lack of a large internet community, reduced expressivity, and code execution paradigm different from any other programming language.
Marissa Tucker: Once students have a good understanding of how to program, they can easily pick up whatever language is preferred by their industry of choice. Students need to take advantage of internships and employers need to offer training and advancement opportunities. It’s too burdensome for schools to try to appeal to every possible industry a mechanical engineering student may go into, rather it's more important that students are able to understand how to program. This is another advantage to IEC: If you learned LabView, you can easily start learning IEC 61131-3 by starting with CFC (Continuous Function Chart), if you learned C or Python you can start learning with ST (Structured Text), and likewise, if you’re a ladder guy, start with ladder. IEC 61131-3 can appeal to any learner or programming style—but, of course, the power of IEC 61131-3 is when you’re advanced enough to use the languages contextually within your program.
I agree, understanding programming is beneficial. But we must keep in mind 90 to 95% of a production line is mechanical. Programmers may be needed during the startup, and for the occasional tweak. However, I would expect a manager's in-depth knowledge of the mechanical system, plant capabilities, and business sense will be more important than an ability to manage changes to the software or diagnose electronics issues.
Ultimately, strong, competent engineers are always going to be needed at the beginning of a production cycle to imagine new products and how to make them. With increasing automation and electronics controls/feedback, I would expect the ongoing need for these top-level engineers will decrease after the startup. A second level of engineers and technicians will be able to carry-on after the startup. This is likely to mean shorter-term gigs for the top-level engineers and frequent moves or changes in project focus to the newest projects for larger manufacturers. For job shops, a small team of top-level engineers will continue to give them an edge in the competitive arena.
Terry Persun: Replacing or retrofitting entire plants is expensive and that as long as legacy systems are working and can be repaired, they’ll be used. For that reason alone, I suspect that ladder logic will be needed for some time—how long, I doubt anyone can say.
Scott Hibbard: As an example, in the late 70s, early 80s, I became so convinced of the new brushless drive technology I predicted that brush-style drives would be off the market by the end of the 1980s. Learned my lesson there! There are dc brush-style drives sold even today. Brushless took over difficult applications where its advantages were immediately seen and needed, and slowly moved to taking over less sophisticated applications. I think ladder and high-level languages will go the same route. Most complex applications will benefit first, however, simpler applications may hang on to ladder logic for some time. I am reluctant to put a year on it, but It may take a generational change in the manufacturing engineering community, i.e., 20 to 30 years.
Marissa Tucker: It’ll take another generation of engineers, but the move to the IEC 61131-3 is inevitable given its already widespread adoption globally, its soaring list of advantages over ladder, and that it's far more intuitive to learn for the next generation of programmers.
Ladder logic is here to stay
Ladder logic may shrink, but will continue to be a tool in the programmer’s toolbox
Education should consider more programming in ME education
MEs in the field should consider higher-level language programming to add value to themselves in the manufacturing industry
More people should fix their own cars … and motorcycles!
We are always looking for people to weigh in on various topics and if you’d like to be featured as one of our experts, send an email to [email protected]