MarketIEC 61131-3
Company Profile

IEC 61131-3

IEC 61131-3 is the third part of the international standard IEC 61131 for programmable logic controllers. It was first published in December 1993 by the IEC; the current (fourth) edition was published in May 2025.

Data types
Elementary Data Types (basic) • Bit Strings – groups of on/off values • BOOL - 1 bit (0,1) • BYTE – 8 bit (1 byte) • WORD – 16 bit (2 byte) • DWORD – 32 bit (4 byte) • LWORD – 64 bit (8 byte) • 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) Elementary Data Types (Date and Time) • Duration • TIME – (implementer specific). Literals in the form of T#5m90s15ms • LTIME – (8 byte). Literals extend to nanoseconds in the form of T#5m90s15ms542us15ns • Date • DATE – calendar date (implementer specific) • LDATE – calendar date (8 byte, nanoseconds since 1970-01-01, restricted to multiple of one day) • Time of day • TIME_OF_DAY / TOD – clock time (implementer specific) • LTIME_OF_DAY / LTOD – clock time (8 byte) • Date and time of Day • DATE_AND_TIME / DT – time and date (implementer specific) • LDATE_AND_TIME / LDT – time and date (8 byte, nanoseconds since 1970-01-01) Elementary Data Types (Character / Character string) • Existing • CHAR – Single-byte character (1 byte, limited to characters 0 to 255 of ISO/IEC 10646) • WCHAR – Double-byte character (2 byte, limited to characters 0 to 65535 of ISO/IEC 10646) • STRING – Variable-length single-byte character string. Literals specified with single quote, 'This is a STRING Literal' • WSTRING – Variable-length double-byte character string. Literals specified with a double quote, "This is a WSTRING Literal" • New in version 4 of the standard • UCHAR – Single character encoded according to UTF-8 • USTRING - Variable-length character string in which each character is encoded according to UTF-8 Generic Data Types Only available for the input / output/ in-out variables of system-defined Program Organization Units (POUs, see below) • 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_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) 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 ==
Variables
Variable attributes: RETAIN, CONSTANT, AT • Global • Direct (local) • I/O Mapping – Input, Output, I/O • External • Temporary == Configuration ==
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) ==
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, resources, tasks
• Configuration – processing resources, memory for IO, execution rates, number of tasks. == Object oriented programming (OOP) ==
Object oriented programming (OOP)
• The 3rd revision of the standard describes how to implement OOP within the application programming == References ==
tickerdossier.comtickerdossier.substack.com