To read Jeremy Pollard's multiple-part saga on IEC 61131 and other related articles, visit our IEC 61131 resource page |
POUs were developed to reduce the often implied meanings of instructions and blocks. There are three types of POUs defined in the standard.
The program POU is the program. Nothing new here. The function_block POU is a program block with inputs and outputs used for tasks such as timers and counters. The function POU lets various program elements extend the instruction set of the configuration.
The intent of these POUs is to reduce the differences between suppliers so a timer is a timer, regardless of who provides it.
The standard defines data types, such as Boolean and integer. The standard also defines the use and format of derived data types and functions. These derived functions and data types must conform to the previously mentioned standard data types.
The programming model extends a PLC-type programming environment with three languages and two graphical representation languages.
Ladder Logic is most used in discrete applications and is the most widely coded language in automation today. This language mainly was supported by the North American PLC vendors.
Some European PLCs were built with Instruction List, a very rudimentary assembler-type language. Statement List is the third language, which is Pascal-like. Various vendors supported a scripting language that was normalized into ST.
The graphical languages are Sequential Function Chart (derived from Grafcet [French]) and Function Block. These are graphical representations of processes and have underlying code that is written in one of the three languages, or in fact, an alternate language such as C++.
The standard defines the abstraction between the IEC model and the PLC/control hardware by using device tags and not addresses. Similar to programming in a high-level language such as Visual Basic, it allows the programmer to define a memory point, not by address, but by a descriptive name. The standard defines the characters you can use in the description. The outside world is tied into the model based on the hardware you use.
The desired effect of the standard is to reduce the userÂ’s learning curve between vendors, and this standard was developed to meet that need, even as early as 1978.
Next up, weÂ’ll discuss what IEC 61131 isnÂ’t.