Picking the right language
IEC 61131-3 programming has had a large impact on the high-performance motion industry. Learn how the language and standard relates to your design work.
This automotiv eassembly application puts code to work for efficient yet sophisticated motion control.
Since the mid 1990s, substantial efforts have been made to standardize programming in all areas of industrial control. The increasing abundance of low-cost programmable logic controllers or PLCs has been at the heart of the increased use of the new IEC 61131-3 standard, which was designed to provide a global platform for PLC programming, independent of hardware. Indeed, this standard is both intricate and robust, and much of the industrial programming done today is governed by it.
As OEMs build machines with increasingly complex motion and non-motion related tasks, some machine integrators and end users in the motion industry want to improve compatibility of motion control software across different vendor platforms. The integration of IEC 61131-3-certified PLCs and motion controllers yields an advantage for individuals with experience in both arenas, and the ability to incorporate such software packages is increasingly valuable.
In short, the IEC 61131-3 programming standard has changed the high-performance motion industry by creating a delicate balancing act between system simplicity and performance — an issue already recognized by some motion manufacturers.
The result is hybrid motion control platforms that combine the best of both worlds. Specifically, implementation of a virtual PLC running on top of normal firmware allows users to program in the proprietary programming language for complex motion related tasks, and to program in the IEC 61131-3 languages for general PLC-related functions.
First some background
IEC 61131-3 is the only global standard for industrial control programming, and its scope is to specify “syntax and semantics of programming languages for programmable controllers.” IEC 61131-3 is only part three of the larger IEC 61131 standard, but is the most important because it defines the programming languages and common elements. Five different programming languages — ladder diagram, function block diagram, structured text, instruction list, and sequential function chart — are defined in the IEC 61131-3 standard, as well as elements that are common to all programming languages, including programs, function blocks, functions, declarations, data types, variables, and so on. Most importantly, the IEC 61131-3 standard gives machine integrators and end users more flexibility in choosing PLC hardware: It removes software incompatibility issues.
Ideally, a designer who writes software for manufacturer X's PLC should be able to use that same software for manufacturer Y's PLC. Though this full level of portability is not yet possible, IEC 61131-3 has allowed designers to leverage programming experience with manufacturer X PLCs to utilize those same skills (and a good portion of their software) with manufacturer Y PLCs.
Why isn't there full portability for software written for a particular application? The main reason is that the standard does not include details about the implementation or a way to certify different manufacturer products. This lack of a common implementation has led to a wide variety of different IEC 61131 programming environments that are not usually cross compatible. That said, work has been done to establish an XML format to allow programs to be transferred from one programming environment to another — but this is an ongoing process that is not accepted by all IEC programming environments. Even so, IEC 61131-3 has been accepted worldwide, and most manufacturers offer PLCs that can be programmed in IEC 61131-3 programming languages.
Proprietary control
Gantry applications require sophisticated coordination of axes that can still be complicated with open code.
When it comes to software, the motion control industry is on the opposite side of the spectrum than the industrial control industry. Nearly every motion-control manufacturer uses a proprietary programming language, with some manufacturers even having multiple languages developed around their motion control hardware. While this is beneficial because the programming language can be designed to best utilize the hardware controller capabilities, this fragmentation discourages machine integrators and end users from switching hardware because of the substantial cost involved in training engineers and redeveloping the software. It also discourages machine integrators from using a hodgepodge of different motion controllers for different tasks because of the headache involved in learning how to program all of them.
Want to use this article? Click here for options!
© 2012 Penton Media Inc.
Acceptable Use Policy blog comments powered by Disqus






