Save time with reusable code
Standardized programming for automation equipment is here to stay. At the forefront is IEC 61131-3-compatible software, which generates standardized code for use on any number of controls.
IEC 61131-3 allows programming in
five languages. The one shown here is
ladder diagram — globally one of the
most commonly used languages.
Select figure to enlarge.
Time is money, and for industrial automation software development, nothing saves more time than the ability to reuse programming code.
Until now, the norm in automation has been custom and proprietary software for operating vendor-specific hardware — primarily PLCs and motion controllers. But standardized and reusable programming is spreading, thanks to the IEC 61131-3 standard, particularly as refined by the international organization called PLCopen. IEC 61131-3 is a globally recognized standard for industrial automation control programming; PLCopen promotes the use of IEC 61131-3 and other standards via a number of initiatives including training and certification.
The dark days
Before IEC 61131-3 and PLCopen, each industrial automation vendor promoted its own closed and proprietary programming software. Customers invested significant time learning these special programs. Moreover, many programming packages specialized in only one language. For example, ladder logic was popular in North America, but other industries and regions preferred structured text or a special mnemonic language similar to an instruction list.
This presented two major problems. First, a new and unique programming software package had to be mastered each time a different controller brand was used. Second, it was very difficult to reuse code, even when programming different controllers from the same vendor.
Even now, proprietary code often drives maintenance costs higher because technical personnel must learn how to use very different software packages for each controller in a plant. What's more, proprietary code deters adoption of newer and more cost-effective platforms because designers shy away from the initial costs associated with learning new programming.
IEC to the rescue
The International Electrotechnical Commission (IEC) was founded in 1906 and establishes electrical, electronic, and related codes. Its IEC 61131-3 is the first and only real attempt at creating a global standard for control programming in the industrial automation market.
IEC 61131-3-adherent controller-programming software is a standardized alternative. It includes a framework that suppliers can follow when creating automation software packages. The closer a supplier adheres to the standard, the more familiar its products are to engineers versed in IEC 61131-3. This is creating a virtuous circle as the standard becomes more widespread. How?
As more users become familiar with IEC 61131-3, additional vendors are compelled to jump on the standards bandwagon. As vendors join in, more users become comfortable with the standard. The result? Widespread adoption by suppliers and users alike.
IEC 61131-3 enables automation programmers to leverage the best of several different programming languages simultaneously within one software-development environment. It also standardizes the programming interface, reducing the learning curve for individuals with different programming backgrounds and skill levels.
For these reasons, programmers can create different elements of a program during software-development specification, design, implementation, testing, installation, and maintenance. The software pieces adhere to a common structure, so they work together harmoniously.
Under the IEC hood
MotionWorks IEC development software is based on and fully compliant with IEC 61131-3 — to make controls easier to setup and update.
The IEC 61131-3 standard has two different parts: Common Elements and Programming Languages. By using the structuring tools of both, IEC 61131-3 can be used to create software that's maintainable, reusable, understandable, and verifiable.
The Common Elements of IEC 61131-3 include data typing, variables, configuration, and program organization units. Data typing is the formal definition of parameters, and it's required to standardize data and prevent errors. IEC 61131-3's data types include elementary, generic, and user-defined. Its three kinds of variables include symbolic, directly represented, and located. Located refers to a specific hardware address.
Configuration aims to solve the problem of hardware arrangement, memory addressing, and processing resources. Within a configuration or system, various resources can execute IEC programs. Inside the resources are tasks consisting of control programs and function blocks.
Program organization units serve as the container for program code. These units consist of functions, function blocks, and programs. Functions let program elements extend a configuration's instruction set. Function blocks are the basic units from which applications are built. Programs are networks of functions and function blocks.
Continue to next page.
Want to use this article? Click here for options!
© 2012 Penton Media Inc.
Acceptable Use Policy blog comments powered by Disqus




