From Wikipedia, the free encyclopedia
Industrial standard for programmable logic controllers
IEC 61131-3 is the third part (of 10) of the
international standard
IEC 61131 for
programmable logic controllers . It was first published in December 1993
[1] by the
IEC ; the current (third) edition was published in February 2013.
[2]
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:
Data types
Elementary Data Type
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)
Duration literals
Unit
Description
d
Day
h
Hour
m
Minute
s
Second
ms
Millisecond
us
Microsecond
ns
Nanosecond
Duration
[4]
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)
Character / Character string
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"
STRING escape sequences
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 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
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.
Object oriented programming (OOP)
The 3rd revision of the standard describes how to implement OOP within the application programming
References
External links