Of the IEC 61131-3 programming languages, ladder diagram (LD) and structured text (ST) are the most popular, but some of the others still have a place in certain applications. One programming language rarely fits all, and, while some machine builders and system integrators stick to a single language for consistency, other languages might offer benefits for certain applications, and, ultimately, dynamic industrial automation might need a combination of languages to find the best code.
“Function block diagram (FBD) is well-suited for device control logic, as the arrangement of inputs and outputs makes it compact and easy to read,” Patrick Smith, senior project engineer at DMC, a CSIA-certified system integrator. says. “Having the inputs, outputs, commands and interlocks for a device connected in FBD makes it easier to follow the flow of logic.”
Some of Beckhoff’s customers choose to mix standards. “We allow you to choose a language that’s unique to each function block, method or action,” Casey Taylor, software product manager at Beckhoff Automation says. “In short, I think ladder is good for chains of Boolean logic. Function block diagram works well for axis control and other similar scenarios. Sequential function chart (SFC) is great for state control. Instruction list is usually not beneficial with modern systems,” he adds.
Sequential function chart, as the name suggests, is good for processes that follow a defined sequence. “However, customers may prefer to implement these sequences in ladder logic, as it is more familiar to many programmers,” Smith says. SFC is great for defining sequence control logic. “The built-in tools and graphical view of SFC make it easy to trace the sequence steps and transitions, as well as step through the sequence when needed,” he adds.
DMC avoids new programming in instruction list (IL) and only uses it on legacy systems when necessary. “Without a lot of experience, it’s difficult to work with, and the lower-level functions it offers are rarely needed,” Smith says.
Instruction list was removed from Edition 4 of the IEC 61131-3 standard, which was published in May 2025.
If customers have specific language requirements, DMC will try to follow those but may recommend changes based on the difficulty of implementing that code.
Get your subscription to Control Design’s daily newsletter.
“We see mostly function block diagram, structured text and ladder diagram in use,” says Matthias Pohl, global marketing manager of efficient engineering in automation and TIA Portal at Siemens. “Ladder diagram and function block diagram are most prevalent for ease of use and visualization, while structured text is mostly used for complex and modern automation needs. Many teams use a combination of languages, often within the same project, to play to their respective strengths.”
Aaron Dahlen, applications engineer at DigiKey, says the choice of programming language is as much about the choice of programmable logic controller (PLC) as it is about language.
“Purchasing trends suggest that the market is diverse, with no single standout PLC; there are many PLCs to match the unique applications,” explains Dahlen. “In fact, DigiKey continues to onboard new PLC manufacturers. This diversity is reflected in the programming languages used in PLCs. Some of the smaller PLCs and programmable relays are programmed in FB with a dialect of SFC.”
Larger PLCs, Dahlen continues, tend to have more flexibility with full implementation of three to five IEC standards, while still other PLCs and edge controllers may be programmed in high-level languages, such as Python or MathWorks’ MatLab.