IEC 61131-3 is the third part (of 8) of the open international standard IEC 61131 for programmable logic controllers, and was first published in December 1993 by the IEC. The current (third) edition was published in February 2013.
- Ladder diagram (LD), graphical
- Function block diagram (FBD), graphical
- Structured text (ST), textual
- Instruction list (IL), textual
- Sequential function chart (SFC), has elements to organize programs for sequential and parallel control processing.
- Continuous Function Chart (CFC). This language is an extension to the IEC 61131-3 standard, which gives free positioning of graphic elements.
- Bit Strings - groups of on/off values
- INTEGER - whole numbers (Considering byte size 8 bits)
- SINT - signed short (1 byte)
- INT - signed integer (2 byte)
- DINT - double integer (4 byte)
- LINT - long integer (8 byte)
- U - Unsigned - prepend a U to the type to make it unsigned integer.
- REAL - floating point IEC 60559 (same as IEEE 754-2008)
- REAL - (4 byte)
- LREAL - (8 byte)
- TIME - duration for timers, processes.
- Date and Time of day:
- DATE - calendar date
- TIME_OF_DAY - clock time
- DATE_AND_TIME: time and date
|$P||page (form feed)|
- STRING - character strings surrounded by single quotes. Escaped characters are preceded by a dollar sign.
- WSTRING - holds multi-byte strings.
- Arrays - multiple values stored in the same variable.
- Sub Ranges - puts limits on value i.e., (4-20) for current
- Derived - type derived from one of the above types.
- TYPE - single type
- STRUCT - composite of several variables and types.
- Generic - groups of the above types:
- ANY_NUM - LREAL, REAL
- ANY_INT - LINT, DINT, INT, SINT, ULINT, UDINT, UINT, USINT
- ANY_BIT - LWORD, DWORD, WORD, BYTE, BOOL
- ANY_STRING - STRING, WSTRING
- ANY_DATE - DATE, TOD, DT
Variable attributes: RETAIN, CONSTANT, AT
- Direct (local)
- I/O Mapping - Input, Output, I/O
- Resource - Like a CPU
- Tasks - Can be multiple per CPU.
- Programs - Can be executed once, on a timer, on an event.
Program organization units (POU)
- Standard: ADD, SQRT, SIN, COS, GT, MIN, MAX, AND, OR, etc.
- Function Blocks
- Custom - Libraries of functions can be supplied by a vendor or third party.
Configuration, resources, tasks
- Configuration - processing resources, memory for IO, execution rates, number of tasks.