IEC 61131-3: What’s the acceptance rate of this control programming standard?
Cover story, automation upgrades: Although the IEC 61131-3 standard for control programming languages has been around for nearly 25 years, limited awareness of its scope and features has kept it from becoming a requirement in North America.
Low awareness and limited adoption of the IEC 61131-3 Programming Languages standard in North America indicate that situations where it is required are rare. Control Engineering, as part of a custom research project on behalf of AutomationDirect, recently polled its readership to understand the level of awareness and use of the IEC 61131-3 standard for industrial control, and to find out what languages are preferred by programmers of programmable logic controllers (PLCs). [Note: This is a revised online version of the Control Engineering, January 2016, print and digital edition cover story: "More intelligent and efficient PLC programming." This online version clarifies previously approved edits.]
More than 586 responses were received from participants who met eligibility requirements, including relevant purchasing influence and authority, and also responsibility for hardware specifying or PLC programming. The survey shows low awareness and limited adoption of this programming standard in North America, indicating that situations where its application are required are rare.
The most common job functions of survey respondents were system or product design; control or instrument engineering; or system integration or consulting. These functions accounted for more than 60% of the respondents. About one-third of the functions included process, production, or manufacturing engineering; operation or maintenance; or other engineering. Almost 10% of the participants were in general or corporate management, and this group was more likely to specify but not program PLCs.
The majority of the respondents, more than 60%, were employed at companies with more than 100 employees, some with 1,000 or more. However, the largest group of participants at almost 40% was from companies with fewer than 100 employees.
In terms of company type, end users of PLCs were the largest group of respondents at almost 40%, and almost half of the respondents were system integrators, original equipment manufacturers (OEMs), or machine builders. The respondents were widely spread geographically throughout the U.S.
What PLCopen says about PLC programming
The IEC 61131-3 standard has been around for nearly 25 years and includes a family of programming languages. IEC characterizes it as an international standard for programming PLCs. PLCopen, a non-profit industrial trade organization, is mostly dedicated to IEC 61131-3 and has significant information about the standard.
The PLCopen website describes IEC 61131-3 as "the only global standard for industrial control programming. It harmonizes the way people design and operate industrial controls by standardizing the programming interface." The organization says IEC 61131-3 provides a standard programming interface with a common structure.
The standard defines the sequential function chart (SFC) language, which is used to structure the internal organization of a program. It adds four inter-related programming languages including two graphical ones, ladder diagram (LD) and function block diagram (FBD); and two text-based languages, instruction list (IL) and structured text (ST). Using logical elements, defined data types, task structure and scheduling, and execution control-each program theoretically can be structured to increase re-usability, reduce errors, and increase programming and user efficiency.
PLCopen has been working with technical committees to add extensions to the standard. There have been a number of functions added as a result of these activities, including motion control, safety, OPC UA communication, XML schema, reusability level definitions, and conformity level.
So how familiar are PLC purchasers and programmers with IEC 61131-3? When Control Engineering polled its readers, a whopping 85% of survey respondents said they are either not familiar with or only somewhat familiar with it (Figure 1). While this standard may have great acceptance and use in Europe or other parts of the world, it has not had as much impact in North America. Implementing it does not appear to be a priority or a requirement for many respondents in the U.S., since, after more than 20 years, an overwhelming majority of programmers working in North America are, at best, only somewhat familiar with the standard.
More than 40% of the respondents reported no familiarity with the standard, and the highest concentration of these respondents was among those who say they are PLC programmers. Turning it around, among those who say they actually write programs, only 15% claim a high level of familiarity.
Why use PLCs supporting IEC 61131-3 programming?
Among survey respondents who use or specify PLCs, and who say they are familiar with IEC 61131-3, the next question asked why they use it. The answers (Figure 2) suggest its use does not appear to be an over-arching requirement in North American industrial automation markets. The reason cited most often (39%) is simply because the PLC product came with the language. A quarter of the end users specified IEC 61131-3 programming language, and some can be attributed to U.S. companies shipping machines into Europe or Asia.
The fact that fewer than 10% of PLC applications demand the features of IEC 61131-3, while a larger percentage of respondents who don’t program PLCs say it’s because it’s specified, hints that some of the totals are driven by hardware choice and selection.
See next page for more on user programming preferences, a table of important features, preference for a second programming language, and links to additional resources.
User programming preferences
When 545 respondents were asked which languages and features were very important, ladder diagrams clearly emerged as the predominant programming language (see table), with function blocks as runner-up.
In a second function block question posed to survey participants, most say they use function blocks within a ladder diagram. The ability to create custom function blocks and embed them in ladder logic is viewed as an important feature of PLC programming.
It’s not surprising to see structured text language surpass other text-based programming methods. However, it is interesting to note both instruction list and statement list exceed the use of C or Basic languages. Clearly, respondents were using PCs to create C or Basic code and download to their PLCs, although this is a feature often supported by the hardware and software. Programmers working with Microsoft .Net and other PC-centric programming technologies would likely have a different list of very important items.
Table: Languages and features respondents considered very important
Transportability is not a reality
One of the goals of the IEC-61131-3 standard is to provide customers the ability to develop algorithms and software code in one vendor’s programming environment using one of the IEC-61131-3 languages, and then transport it to another vendor’s environment with few or no changes. In discussions and internal research, users suggest this functionality sounds good, but is hard to implement.
Software export and import functionality is not easily achieved, and in many cases, the true extent of the interoperability is questionable. Users find themselves having to rewrite programs when moving between different vendor controller platforms. In some cases these transportability functions mitigate the amount of rewriting but do not eliminate it entirely. The vendors are to blame for this to some extent since not all vendors follow the standard to the level necessary to achieve portability.
Perhaps the level of transportability required by end users is above and beyond what vendors are willing to provide as it would necessitate a great deal of cooperation among vendors. This cooperation would entail revealing extensive PLC hardware and programming software design details to each other, which is probably an unrealistic goal.
Ladder diagram, function block programming
Although respondents cited ladder diagram as the most important language 85% of the time, it can be interesting to examine what other languages appear in the next tier. Respondents also strongly recommended function block programming (Figure 3), with this programming method drawing 51% among the runners-up as a second language choice for a PLC.
Of the other three programming methodologies specified by IEC 61131-3-sequential function charts, instruction list, and structured text-none were listed by more than 13% of the respondents. Perhaps this is a cause or maybe a symptom, but, either way, IEC 61131-3 has not had great effect on the U.S. market for PLCs in terms of promoting these programming methodologies.
Programmers working in North America don’t seem to need this functionality since, in many cases, ladder diagram and function blocks can be efficiently programmed to solve the logic requirements. And even in situations when one of these three methodologies would be a better choice from a purely technical perspective, use may be limited due to a lack of familiarity among respondents.
A related customer survey
In a similar survey, AutomationDirect polled existing PLC customers and found results to be very similar to Control Engineering’s survey in regard to knowledge, use, and acceptance of IEC 61131-3. More than 75% of AutomationDirect’s customers were not familiar with the standard. Similarly, a majority of users surveyed had not used a PLC designed or programmed in compliance with the IEC 61131-3 standard. Again, ladder diagram programming was by far the most common approach among customers, and the use of function blocks garnered a strong second place.
PLC applications often dictate the use of advanced programming languages and techniques. While ladder diagrams remain the simplest and most popular approach, that programming method may not be the most efficient way, nor does it offer some of functions available with more sophisticated languages. Function blocks are the next language of choice of U.S. programmers and specifiers of PLCs, and, as an added bonus, they come in different forms, such as embedded within ladder diagram, standalone function block diagram programming, and custom, user-defined function blocks.
The IEC 61131-3 standard has been around for more than 20 years, and functionality continues to be added. It has become a standard in Europe and other areas of the world, and interest in its adoption in North America is likely to grow over time. Some U.S. OEMs, machine builders, and system integrators that ship products or systems to other areas of the world use it routinely.
However, as the research shows, most users on this side of the Atlantic have yet to fully accept its value proposition. In the next 20 years, maybe it will be more widely deployed, but in the meantime, ladder diagram and function block programming will continue to bring automation to life in the hands of the majority of PLC programmers.
Jeff Payne is a product manager at the automation controls group of AutomationDirect; edited by Mark T. Hoske, content manager, Control Engineering, email@example.com.
- When Control Engineering surveyed readers, 85% of respondents were either not familiar with or only somewhat familiar with IEC 61131-3.
- Programmers working in North America don’t seem to need IEC 61131-3 functionality since, in many cases, ladder diagram and function blocks can be efficiently programmed to solve the logic requirements.
- In the next 20 years, perhaps the standard will be more widely deployed in North America.
The survey shows low awareness and limited adoption of the IEC 61131-3 standard in North America, indicating that situations where it is required are rare.
AutomationDirect offers free software demos.
Learn more about AutomationDirect controllers.
More about IEC 61131-3 Programming Languages standard is available from PLCopen.
See additional stories about PLC programming linked below.