1、raising standards worldwideNO COPYING WITHOUT BSI PERMISSION EXCEPT AS PERMITTED BY COPYRIGHT LAWBSI Standards PublicationProgrammable controllersPart 3: Programming languagesBS EN 61131-3:2013National forewordThis British Standard is the UK implementation of EN 61131-3:2013. It isidentical to IEC 6
2、1131-3:2013. It supersedes BS EN 61131-3:2003, which will be withdrawn on 27 March 2016.The UK participation in its preparation was entrusted by Technical CommitteeGEL/65, Measurement and control, to Subcommittee GEL/65/2, Elements ofsystems.A list of organizations represented on this committee can
3、be obtained onrequest to its secretary.This publication does not purport to include all the necessary provisions of acontract. Users are responsible for its correct application. The British Standards Institution 2013. Published by BSI Standards Limited 2013 ISBN 978 0 580 76605 3 ICS 25.040.40; 35.0
4、60; 35.240.50Compliance with a British Standard cannot confer immunity from legal obligations.This British Standard was published under the authority of the Standards Policy and Strategy Committee on 31 May 2013.Amendments issued since publicationDate Text affectedBRITISH STANDARDBS EN 61131-3:2013E
5、UROPEAN STANDARD EN 61131-3 NORME EUROPENNE EUROPISCHE NORM May 2013 CENELEC European Committee for Electrotechnical Standardization Comit Europen de Normalisation Electrotechnique Europisches Komitee fr Elektrotechnische Normung Management Centre: Avenue Marnix 17, B - 1000 Brussels 2013 CENELEC -
6、All rights of exploitation in any form and by any means reserved worldwide for CENELEC members. Ref. No. EN 61131-3:2013 E 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 - Partie 3:
7、Langages de programmation (CEI 61131-3:2013) Speicherprogrammierbare Steuerungen - Teil 3: Programmiersprachen (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
8、 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
9、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 nationa
10、l 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, Portug
11、al, Romania, Slovakia, Slovenia, Spain, Sweden, Switzerland, Turkey and the United Kingdom. BS EN 61131-3:2013EN 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 submitte
12、d to the IEC-CENELEC parallel vote and approved by CENELEC as EN 61131-3:2013. The following dates are fixed: latest date by which the document has to be implemented at national level by publication of an identical national standard or by endorsement (dop) 2013-12-27 latest date by which the nationa
13、l standards conflicting with the document have to be withdrawn (dow) 2016-03-27 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 exten
14、sions 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
15、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 t
16、he standards indicated: IEC 60848 NOTE Harmonised as EN 60848. IEC 61499 series NOTE Harmonised in EN 61499 series. BS 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,
17、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 publi
18、cation 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 - Part 1: General information EN 61131-1 - IEC 61131-5 - Programmable controllers - Part 5: Communications EN 61131-5 - ISO/IEC 1
19、0646 2012 Information technology - Universal Coded Character Set (UCS) - - ISO/IEC/IEEE 60559 - Information technology - Microprocessor Systems - Floating-Point arithmetic - - BS EN 61131-3:2013 2 61131-3 IEC:2013 CONTENTS 1 Scope . 9 2 Normative references . 9 3 Terms and definitions . 9 4 Architec
20、tural 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 Implementers 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.
21、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 Da
22、ta 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 variable
23、s 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
24、BS EN 61131-3:201361131-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 Con
25、figuration 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
26、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 .
27、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 2
28、18 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 BS EN 61131-3
29、: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 Implementers compliance statement (
30、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 o
31、f 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 F
32、igure 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 w
33、ith 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 Exte
34、rnal 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) 18
35、0 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 i
36、n character strings . 29 Table 8 Duration literals . 29 Table 9 Date and time of day literals 30 BS EN 61131-3:201361131-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 var
37、iables . 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
38、 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 dat
39、e 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 Table 32 Selection functions d90 Table 33 Comparison functions 91 Table
40、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
41、 Function block type declaration . 100 Table 41 Function block instance declaration . 104 Table 42 Function block call . 105 Table 43 Standard bistable function blocksa. 112 Table 44 Standard edge detection function blocks . 113 Table 45 Standard counter function blocks . 113 Table 46 Standard timer
42、 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 BS EN 61131-3:2013 6 61131-3 IEC:2013 Table 53 Objec
43、t 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 Seq
44、uence 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 language . 197 Table 68 Instruction lis
45、t operators 197 Table 69 Calls for IL language . 199 Table 70 Standard function block operators for IL language . 201 Table 71 Operators of the ST language 202 Table 72 ST language statements 203 Table 73 Graphic execution control elements . 215 Table 74 Power rails and link elements 216 Table 75 Co
46、ntacts 217 Table 76 Coils 218 BS EN 61131-3:201361131-3 IEC:2013 9 PROGRAMMABLE CONTROLLERS Part 3: Programming languages 1 Scope This part of IEC 61131 specifies syntax and semantics of programming languages for pro-grammable controllers as defined in Part 1 of IEC 61131. The functions of program e
47、ntry, 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 S
48、tructured 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 fu
49、nction blocks. Also, configuration elements are defined which support the in-stallation of programmable controller programs into programmable controller systems. In addition, features are defined which facilitate communication among programmable control-lers and other components of automated systems. 2 Norma