SIST EN 61131-3:2013
(Main)Programmable controllers - Part 3: Programming languages (IEC 61131-3:2013)
Programmable controllers - Part 3: Programming languages (IEC 61131-3:2013)
This part of IEC 61131 specifies syntax and semantics of programming languages for programmable controllers as defined in Part 1 of IEC 61131. The functions of program entry, testing, monitoring, operating system, etc., are specified in Part 1 of IEC 61131. This part of IEC 61131 specifies the syntax and semantics of a unified suite of programming languages for programmable controllers (PCs). This suite consists of two textual languages, Instruction List (IL) and Structured Text (ST), and two graphical languages, Ladder Diagram (LD) and Function Block Diagram (FBD). An additional set of graphical and equivalent textual elements named Sequential Function Chart (SFC) is defined for structuring the internal organization of programmable controller programs and function blocks. Also, configuration elements are defined which support the installation of programmable controller programs into programmable controller systems. In addition, features are defined which facilitate communication among programmable controllers and other components of automated systems.
Speicherprogrammierbare Steuerungen - Teil 3: Programmiersprachen (IEC 61131-3:2013)
Automates programmables - Partie 3: Langages de programmation (CEI 61131-3:2013)
La CEI 61131-3:2013 spécifie la syntaxe et la sémantique d'une suite unifiée de langages de programmation utilisés pour les automates programmables (AP). Cette suite est constituée de deux langages textuels, liste d'instructions (IL, Instruction List) et texte structuré (ST, Structured Text), et de deux langages graphiques, diagramme à contacts (LD, Ladder Diagram) et diagramme de bloc fonctionnel (FBD, Function Block Diagram). Cette troisième édition annule et remplace la deuxième édition publiée en 2003 et constitue une révision technique. La présente édition inclut les modifications techniques majeures suivantes: elle est une extension compatible de la deuxième édition et les principales extensions concernent de nouveaux types de données et de nouvelles fonctions de conversion, des références, des espaces de noms et des classes de caractéristiques orientées objet, et des blocs fonctionnels.
Programirljivi krmilniki - 3. del: Programski jeziki (IEC 61131-3:2013)
Ta del standarda IEC 61131 določa skladnjo in semantiko programskih jezikov za programirljive krmilnike, kot je določeno v 1. delu standarda IEC 61131. Funkcije programskega vnosa, preskušanja, nadzorovanja, operacijskega sistema itn. so opredeljene v 1. delu standarda IEC 61131. Ta del standarda IEC 61131 opredeljuje skladnjo in semantiko programskih jezikov za programirljive krmilnike (PCs). Niz sestavljata dva tekstovna jezika, seznam z navodili (IL) in strukturirano besedilo (ST) ter dva grafična jezika, lestvični diagram (LD) in funkcijski blokovni diagram (FBD). Za strukturiranje interne organizacije programov programirljivega krmilnika in funkcijskih blokov je določen dodaten niz grafičnih in enakovrednih elementov, imenovanih sekvenčni funkcijski diagram (SFC). Prav tako so določeni konfiguracijski elementi, ki podpirajo namestitev programov programirljivega krmilnika v sisteme programirljivega krmilnika. Dodatno so določene lastnosti, ki omogočajo komunikacijo med programirljivimi krmilniki in drugimi komponentami avtomatiziranih sistemov.
General Information
Relations
Standards Content (Sample)
SLOVENSKI STANDARD
SIST EN 61131-3:2013
01-julij-2013
1DGRPHãþD
SIST EN 61131-3:2004
Programirljivi krmilniki - 3. del: Programski jeziki (IEC 61131-3:2013)
Programmable controllers - Part 3: Programming languages (IEC 61131-3:2013)
Speicherprogrammierbare Steuerungen - Teil 3: Programmiersprachen (IEC 61131-
3:2013)
Automates programmables - Partie 3: Langages de programmation (CEI 61131-3:2013)
Ta slovenski standard je istoveten z: EN 61131-3:2013
ICS:
25.040.40 Merjenje in krmiljenje Industrial process
industrijskih postopkov measurement and control
35.240.50 Uporabniške rešitve IT v IT applications in industry
industriji
SIST EN 61131-3:2013 en
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.
---------------------- Page: 1 ----------------------
SIST EN 61131-3:2013
---------------------- Page: 2 ----------------------
SIST EN 61131-3:2013
EUROPEAN STANDARD
EN 61131-3
NORME EUROPÉENNE
May 2013
EUROPÄISCHE NORM
ICS 25.040; 35.240.50 Supersedes EN 61131-3:2003
English version
Programmable controllers -
Part 3: Programming languages
(IEC 61131-3:2013)
Automates programmables - Speicherprogrammierbare Steuerungen -
Partie 3: Langages de programmation Teil 3: Programmiersprachen
(CEI 61131-3:2013) (IEC 61131-3:2013)
This European Standard was approved by CENELEC on 2013-03-27. CENELEC members are bound to comply
with the CEN/CENELEC Internal Regulations which stipulate the conditions for giving this European Standard
the status of a national standard without any alteration.
Up-to-date lists and bibliographical references concerning such national standards may be obtained on
application to the CEN-CENELEC Management Centre or to any CENELEC member.
This European Standard exists in three official versions (English, French, German). A version in any other
language made by translation under the responsibility of a CENELEC member into its own language and notified
to the CEN-CENELEC Management Centre has the same status as the official versions.
CENELEC members are the national electrotechnical committees of Austria, Belgium, Bulgaria, Croatia, Cyprus,
the Czech Republic, Denmark, Estonia, Finland, Former Yugoslav Republic of Macedonia, France, Germany,
Greece, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, the Netherlands, Norway, Poland,
Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, Switzerland, Turkey and the United Kingdom.
CENELEC
European Committee for Electrotechnical Standardization
Comité Européen de Normalisation Electrotechnique
Europäisches Komitee für Elektrotechnische Normung
Management Centre: Avenue Marnix 17, B - 1000 Brussels
© 2013 CENELEC - All rights of exploitation in any form and by any means reserved worldwide for CENELEC members.
Ref. No. EN 61131-3:2013 E
---------------------- Page: 3 ----------------------
SIST EN 61131-3:2013
EN 61131-3:2013 - 2 -
Foreword
The text of document 65B/858/FDIS, future edition 3 of IEC 61131-3, prepared by IEC TC 65 "Industrial-
process measurement, control and automation" was submitted to the IEC-CENELEC parallel vote and
approved by CENELEC as EN 61131-3:2013.
The following dates are fixed:
(dop) 2013-12-27
• latest date by which the document has
to be implemented at national level by
publication of an identical national
standard or by endorsement
• latest date by which the national (dow) 2016-03-27
standards conflicting with the
document have to be withdrawn
This document supersedes EN 61131-3:2003.
EN 61131-3:2013 includes the following significant technical changes with respect to EN 61131-3:2003:
EN 61131-3:2013 is a compatible extension of EN 61131-3:2003. The main extensions are new data types
and conversion functions, references, name spaces and the object oriented features of classes abd function
blocks. See Annex B.
Attention is drawn to the possibility that some of the elements of this document may be the subject of
patent rights. CENELEC [and/or CEN] shall not be held responsible for identifying any or all such patent
rights.
Endorsement notice
The text of the International Standard IEC 61131-3:2013 was approved by CENELEC as a European
Standard without any modification.
In the official version, for Bibliography, the following notes have to be added for the standards indicated:
IEC 60848 NOTE Harmonised as EN 60848.
IEC 61499 series NOTE Harmonised in EN 61499 series.
---------------------- Page: 4 ----------------------
SIST EN 61131-3:2013
- 3 - EN 61131-3:2013
Annex ZA
(normative)
Normative references to international publications
with their corresponding European publications
The following documents, in whole or in part, are normatively referenced in this document and are
indispensable for its application. For dated references, only the edition cited applies. For undated
references, the latest edition of the referenced document (including any amendments) applies.
NOTE When an international publication has been modified by common modifications, indicated by (mod), the relevant EN/HD
applies.
Publication Year Title EN/HD Year
IEC 61131-1 - Programmable controllers - EN 61131-1 -
Part 1: General information
IEC 61131-5 - Programmable controllers - EN 61131-5 -
Part 5: Communications
ISO/IEC 10646 2012 Information technology - - -
Universal Coded Character Set (UCS)
ISO/IEC/IEEE 60559 - Information technology - Microprocessor - -
Systems - Floating-Point arithmetic
---------------------- Page: 5 ----------------------
SIST EN 61131-3:2013
---------------------- Page: 6 ----------------------
SIST EN 61131-3:2013
IEC 61131-3
®
Edition 3.0 2013-02
INTERNATIONAL
STANDARD
NORME
INTERNATIONALE
Programmable controllers –
Part 3: Programming languages
Automates programmables –
Partie 3: Langages de programmation
INTERNATIONAL
ELECTROTECHNICAL
COMMISSION
COMMISSION
ELECTROTECHNIQUE
PRICE CODE
INTERNATIONALE
CODE PRIX XH
ICS 25.040; 35.240.50 ISBN 978-2-83220-661-4
Warning! Make sure that you obtained this publication from an authorized distributor.
Attention! Veuillez vous assurer que vous avez obtenu cette publication via un distributeur agréé.
® Registered trademark of the International Electrotechnical Commission
Marque déposée de la Commission Electrotechnique Internationale
---------------------- Page: 7 ----------------------
SIST EN 61131-3:2013
– 2 – 61131-3 © IEC:2013
CONTENTS
FOREWORD . 7
1 Scope . 9
2 Normative references . 9
3 Terms and definitions . 9
4 Architectural models . 18
4.1 Software model . 18
4.2 Communication model . 19
4.3 Programming model . 20
5 Compliance . 22
5.1 General . 22
5.2 Feature tables . 22
5.3 Implementer’s compliance statement . 22
6 Common elements . 24
6.1 Use of printed characters . 24
6.1.1 Character set . 24
6.1.2 Identifiers . 24
6.1.3 Keywords . 24
6.1.4 Use of white space . 25
6.1.5 Comments . 25
6.2 Pragma . 26
6.3 Literals – External representation of data . 26
6.3.1 General . 26
6.3.2 Numeric literals and string literals . 26
6.3.3 Character string literals . 28
6.3.4 Duration literal . 29
6.3.5 Date and time of day literal . 30
6.4 Data types . 30
6.4.1 General . 30
6.4.2 Elementary data types (BOOL, INT, REAL, STRING, etc.) . 30
6.4.3 Generic data types . 33
6.4.4 User-defined data types . 34
6.5 Variables . 47
6.5.1 Declaration and initialization of variables . 47
6.5.2 Variable sections . 49
6.5.3 Variable length ARRAY variables . 51
6.5.4 Constant variables . 53
6.5.5 Directly represented variables ( % ) . 54
6.5.6 Retentive variables (RETAIN, NON_RETAIN) . 56
6.6 Program organization units (POUs) . 58
6.6.1 Common features for POUs . 58
6.6.2 Functions. 70
6.6.3 Function blocks . 99
6.6.4 Programs . 117
6.6.5 Classes . 118
---------------------- Page: 8 ----------------------
SIST EN 61131-3:2013
61131-3 © IEC:2013 – 3 –
6.6.6 Interface . 137
6.6.7 Object oriented features for function blocks . 146
6.6.8 Polymorphism . 152
6.7 Sequential Function Chart (SFC) elements . 155
6.7.1 General . 155
6.7.2 Steps . 155
6.7.3 Transitions . 157
6.7.4 Actions . 160
6.7.5 Rules of evolution . 168
6.8 Configuration elements . 176
6.8.1 General . 176
6.8.2 Tasks . 180
6.9 Namespaces . 186
6.9.1 General . 186
6.9.2 Declaration . 186
6.9.3 Usage . 192
6.9.4 Namespace directive USING . 192
7 Textual languages . 195
7.1 Common elements . 195
7.2 Instruction list (IL) . 195
7.2.1 General . 195
7.2.2 Instructions . 195
7.2.3 Operators, modifiers and operands . 196
7.2.4 Functions and function blocks . 198
7.3 Structured Text (ST) . 201
7.3.1 General . 201
7.3.2 Expressions . 201
7.3.3 Statements . 203
8 Graphic languages . 208
8.1 Common elements . 208
8.1.1 General . 208
8.1.2 Representation of variables and instances . 209
8.1.3 Representation of lines and blocks . 211
8.1.4 Direction of flow in networks . 212
8.1.5 Evaluation of networks . 213
8.1.6 Execution control elements . 214
8.2 Ladder diagram (LD) . 215
8.2.1 General . 215
8.2.2 Power rails . 216
8.2.3 Link elements and states . 216
8.2.4 Contacts . 216
8.2.5 Coils . 218
8.2.6 Functions and function blocks . 219
8.2.7 Order of network evaluation . 219
8.3 Function Block Diagram (FBD) . 219
8.3.1 General . 219
8.3.2 Combination of elements . 219
8.3.3 Order of network evaluation . 220
Annex A (normative) Formal specification of the languages elements . 221
---------------------- Page: 9 ----------------------
SIST EN 61131-3:2013
– 4 – 61131-3 © IEC:2013
Annex B (informative) List of major changes and extensions of the third edition . 228
Bibliography . 229
Figure 1 – Software model . 18
Figure 2 – Communication model . 20
Figure 3 – Combination of programmable controller language elements . 21
Figure 4 – Implementer’s compliance statement (Example) . 23
Figure 5 – Hierarchy of the generic data types . 34
Figure 6 – Initialization by literals and constant expressions (Rules) . 35
Figure 7 – Variable declaration keywords (Summary) . 50
Figure 8 – Usage of VAR_GLOBAL, VAR_EXTERNAL and CONSTANT (Rules) . 51
Figure 9 – Conditions for the initial value of a variable (Rules) . 57
Figure 10 – Formal and non-formal representation of call (Examples) . 63
Figure 11 – Data type conversion rules – implicit and/or explicit (Summary) . 67
Figure 12 – Supported implicit type conversions . 68
Figure 13 – Usage of function block input and output parameters (Rules) . 108
Figure 14 – Usage of function block input and output parameters (Illustration of rules) . 109
Figure 15 – Standard timer function blocks – timing diagrams (Rules) . 116
Figure 16 – Overview of inheritance and interface implementation . 119
Figure 17 – Inheritance of classes (Illustration) . 128
Figure 18 – Interface with derived classes (Illustration) . 138
Figure 19 – Inheritance of interface and class (Illustration) . 143
Figure 20 – Function block with optional body and methods (Illustration) . 149
Figure 21 – Inheritance of function block body with SUPER() (Example) . 151
Figure 22 – ACTION_CONTROL function block – External interface (Summary) . 165
Figure 23 – ACTION_CONTROL function block body (Summary). 166
Figure 24 – Action control (Example) . 168
Figure 25 – SFC evolution (Rules) . 174
Figure 26 – SFC errors (Example) . 175
Figure 27 – Configuration (Example) . 177
Figure 28 – CONFIGURATION and RESOURCE declaration (Example) . 180
Figure 29 – Accessibility using namespaces (Rules) . 189
Figure 30 – Common textual elements (Summary) . 195
Table 1 – Character set . 24
Table 2 – Identifiers . 24
Table 3 – Comments . 25
Table 4 – Pragma . 26
Table 5 – Numeric literals . 27
Table 6 – Character string literals . 28
Table 7 – Two-character combinations in character strings . 29
Table 8 – Duration literals . 29
Table 9 – Date and time of day literals . 30
---------------------- Page: 10 ----------------------
SIST EN 61131-3:2013
61131-3 © IEC:2013 – 5 –
Table 10 – Elementary data types . 31
Table 11 – Declaration of user-defined data types and initialization . 35
Table 12 – Reference operations . 46
Table 13 – Declaration of variables . 48
Table 14 – Initialization of variables . 49
Table 15 – Variable-length ARRAY variables . 52
Table 16 – Directly represented variables . 54
Table 17 – Partial access of ANY_BIT variables . 60
Table 18 – Execution control graphically using EN and ENO . 65
Table 19 – Function declaration . 72
Table 20 – Function call . 74
Table 21 – Typed and overloaded functions . 76
Table 22 – Data type conversion function . 78
Table 23 – Data type conversion of numeric data types . 80
Table 24 – Data type conversion of bit data types . 82
Table 25 – Data type conversion of bit and numeric types . 83
Table 26 – Data type conversion of date and time types . 85
Table 27 – Data type conversion of character types . 86
Table 28 – Numerical and arithmetic functions . 87
Table 29 – Arithmetic functions . 88
Table 30 – Bit shift functions . 89
Table 31 – Bitwise Boolean functions . 89
d
Table 32 – Selection functions . 90
Table 33 – Comparison functions . 91
Table 34 – Character string functions . 92
Table 35 – Numerical functions of time and duration data types . 93
Table 36 – Additional functions of time data types CONCAT and SPLIT . 94
Table 37 – Function for endianess conversion . 98
Table 38 – Functions of enumerated data types . 98
Table 39 – Validate functions . 99
Table 40 – Function block type declaration . 100
Table 41 – Function block instance declaration . 104
Table 42 – Function block call . 105
a
Table 43 – Standard bistable function blocks . 112
Table 44 – Standard edge detection function blocks . 113
Table 45 – Standard counter function blocks . 113
Table 46 – Standard timer function blocks . 115
Table 47 – Program declaration . 117
Table 48 – Class . 120
Table 49 – Class instance declaration . 122
Table 50 – Textual call of methods – Formal and non-formal parameter list . 125
Table 51 – Interface . 137
Table 52 – Assignment attempt . 146
---------------------- Page: 11 ----------------------
SIST EN 61131-3:2013
– 6 – 61131-3 © IEC:2013
Table 53 – Object oriented function block . 147
Table 54 – SFC step . 156
Table 55 – SFC transition and transition condition . 158
Table 56 – SFC declaration of actions . 160
Table 57 – Step/action association . 162
Table 58 – Action block . 163
Table 59 – Action qualifiers . 163
Table 60 – Action control features . 168
Table 61 – Sequence evolution – graphical . 169
Table 62 – Configuration and resource declaration . 178
Table 63 – Task . 182
Table 64 – Namespace . 191
Table 65 – Nested namespace declaration options . 192
Table 66 – Namespace directive USING . 194
Table 67 – Parenthesized expression for IL languag
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.