IEC 61131-3 - Wikipedia: International Standard IEC 61131 Programmable Logic Controllers IEC

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

IEC 61131-3 - Wikipedia about:reader?url=https://en.wikipedia.org/wiki...

en.wikipedia.org

IEC 61131-3 - Wikipedia

5-6 minutes

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 three 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, graphical.

Data types[edit]

Elementary Data Type


Bit Strings – groups of on/off values
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)

1 of 5 6/7/20, 3:37 PM
IEC 61131-3 - Wikipedia about:reader?url=https://en.wikipedia.org/wiki...

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 – (4 byte). Literals in the form of T#5m90s15ms

LTIME – (8 byte). Literals extend to nanoseconds in the form of T#5m90s15ms542us15ns

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. 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"

STRING escape sequences

Escape sequence Produces

$$ $

$' '

$L linefeed

$N newline

2 of 5 6/7/20, 3:37 PM
IEC 61131-3 - Wikipedia about:reader?url=https://en.wikipedia.org/wiki...

$P page (form feed)

$R return

$T tab

$xx hex value

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.

3 of 5 6/7/20, 3:37 PM
IEC 61131-3 - Wikipedia about:reader?url=https://en.wikipedia.org/wiki...

Variables[edit]

Variable attributes: RETAIN, CONSTANT, AT

Global

Direct (local)

I/O Mapping – Input, Output, I/O

External

Temporary

Configuration[edit]

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)[edit]

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[edit]

Configuration – processing resources, memory for IO, execution rates, number of tasks.

Object oriented programming (OOP)[edit]

The 3rd revision of the standard describes how to implement OOP within the application
programming

References[edit]

Tom Mejer Antonsen, "PLC Controls with Structured Text (ST), 2018,
ISBN 978-87-4300-241-3, ISBN 978-87-4300-242-0

External links[edit]

4 of 5 6/7/20, 3:37 PM
IEC 61131-3 - Wikipedia about:reader?url=https://en.wikipedia.org/wiki...

PLCopen

IEC 61131-3:2013 Programmable controllers - Part 3: Programming languages

CODESYS important implementation independent of device manufacturers, includes object


oriented programming (OOP) as an option

de:STEP 7 implementation for Siemens devices, only

5 of 5 6/7/20, 3:37 PM

You might also like