IEC 61131-3
IEC 61131-3 is the third part (of 10) 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.
Part 3 of IEC 61131 deals with basic software architecture and programming languages of the control program within PLC. It defines two graphical and two textual programming language standards:
- Ladder diagram (LD), graphical
- Function block diagram (FBD), graphical
- Structured text (ST), textual
- Instruction list (IL), textual (deprecated in 3rd edition of the standard [1])
- Sequential function chart (SFC), has elements to organize programs for sequential and parallel control processing.
Data types
- Elementary Data Type
- Bit Strings - groups of on/off values
- INTEGER - whole numbers (Considering byte size 8 bits)
- SINT - signed short integer (1 byte)
- INT - signed integer (2 byte)
- DINT - signed double integer (4 byte)
- LINT - signed long integer (8 byte)
- USINT - Unsigned short integer (1 byte)
- UINT - Unsigned integer (2 byte)
- UDINT - Unsigned double integer (4 byte)
- ULINT - Unsigned long integer (8 byte)
- REAL - floating point IEC 60559 (same as IEEE 754-2008)
- REAL - (4 byte)
- LREAL - (8 byte)
- Duration
- TIME - (Size is not specified)
- LTIME - (8 byte)
- Date
- DATE - calendar date (Size is not specified)
- LDATE - calendar date (Size is not specified)
- Time of day
- TIME_OF_DAY / TOD - clock time(Size is not specified)
- LTIME_OF_DAY / LTOD - clock time (8 byte)
- Date and time of Day
- DATE_AND_TIME / DT - time and date(Size is not specified)
- LDATE_AND_TIME / LDT - time and date(8 byte)
- Character / Character string
- CHAR - Single-byte character (1 byte)
- WCHAR - Double-byte character (2 byte)
- STRING - Variable-length single-byte character string
- WSTRING - Variable-length double-byte character string
Escape sequence | Produces |
---|---|
$$ | $ |
$' | ' |
$L | linefeed |
$N | newline |
$P | page (form feed) |
$R | return |
$T | tab |
$xx | hex value |
- Generic Data Types - Only available for the input / output/ in-out varialbles of system-defined POUs
- ANY
- ANY_DERIVED
- ANY_ELEMENTARY
- ANY_MAGNITUDE
- ANY_NUM
- ANY_REAL: LREAL, REAL
- ANY_INT
- ANY_UNSIGNED: ULINT, UDINT, UINT, USINT
- ANY_SIGNED: LINT, DINT, INT, SINT
- ANY_DURATION: TIME, LTIME
- ANY_NUM
- ANY_BIT: LWORD, DWORD, WORD, BYTE, BOOL
- ANY_CHARS
- ANY_STRING: STRING, WSTRING
- ANY_CHAR: CHAR, WCHAR
- ANY_DATE: DATE_AND_TIME (DT), DATE_AND_TIME(LDT), DATE, TIME_OF_DAY (TOD), LTIME_OF_DAY(LTOD)
- ANY_MAGNITUDE
- ANY
- User-defined Data Types
- Enumerated data type
- Enumerated data type with named value
- Subrange data type - puts limits on value i.e., INT(4 .. 20) for current
- Array data type - multiple values stored in the same variable.
- Structured data type - composite of several variables and types.
- Directly derived data type - type derived from one of the above types to give new name and initial value as a type.
- References - a kind of strongly typed pointer. Arithmetic operation of the value of this type is prohibited.
Variables
Variable attributes: RETAIN, CONSTANT, AT
- Global
- Direct (local)
- I/O Mapping - Input, Output, I/O
- External
- Temporary
Configuration
- Resource - Like a CPU
- Tasks - Can be multiple per CPU.
- Programs - Can be executed once, on a timer, on an event.
Program organization unit (POU)
- Functions
- Standard: ADD, SQRT, SIN, COS, GT, MIN, MAX, AND, OR, etc.
- Custom
- Function Blocks
- Standard:
- Custom - Libraries of functions can be supplied by a vendor or third party.
- Programs
Configuration, resources, tasks
- Configuration - processing resources, memory for IO, execution rates, number of tasks.
References
External links
This article is issued from Wikipedia - version of the 10/4/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.