{"id":244171,"date":"2024-10-19T16:02:12","date_gmt":"2024-10-19T16:02:12","guid":{"rendered":"https:\/\/pdfstandards.shop\/product\/uncategorized\/bs-en-61131-32013\/"},"modified":"2024-10-25T11:00:58","modified_gmt":"2024-10-25T11:00:58","slug":"bs-en-61131-32013","status":"publish","type":"product","link":"https:\/\/pdfstandards.shop\/product\/publishers\/bsi\/bs-en-61131-32013\/","title":{"rendered":"BS EN 61131-3:2013"},"content":{"rendered":"

IEC 61131-3:2013 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). This third edition cancels and replaces the second edition, published in 2003 and constitutes a technical revision. It includes the following significant technical changes: It is a compatible extension of the second edition. The main extensions are new data types and conversion functions, references, name spaces and the object oriented features of classes and function blocks.<\/p>\n

PDF Catalog<\/h4>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
PDF Pages<\/th>\nPDF Title<\/th>\n<\/tr>\n
6<\/td>\nEnglish
CONTENTS <\/td>\n<\/tr>\n
11<\/td>\n1 Scope
2 Normative references
3 Terms and definitions <\/td>\n<\/tr>\n
20<\/td>\n4 Architectural models
4.1 Software model
Figures
Figure 1 \u2013 Software model <\/td>\n<\/tr>\n
21<\/td>\n4.2 Communication model <\/td>\n<\/tr>\n
23<\/td>\nFigure 3 \u2013 Combination of programmable controller language elements <\/td>\n<\/tr>\n
24<\/td>\n5 Compliance
5.1 General
5.2 Feature tables
5.3 Implementer\u2019s compliance statement <\/td>\n<\/tr>\n
25<\/td>\nFigure 4 \u2013 Implementer\u2019s compliance statement (Example) <\/td>\n<\/tr>\n
26<\/td>\n6 Common elements
6.1 Use of printed characters
6.1.1 Character set
6.1.2 Identifiers
6.1.3 Keywords
Tables
Table 1 \u2013 Character set
Table 2 \u2013 Identifiers <\/td>\n<\/tr>\n
27<\/td>\n6.1.4 Use of white space
6.1.5 Comments
Table 3 \u2013 Comments <\/td>\n<\/tr>\n
28<\/td>\n6.2 Pragma
6.3 Literals \u2013 External representation of data
6.3.1 General
6.3.2 Numeric literals and string literals
Table 4 \u2013 Pragma <\/td>\n<\/tr>\n
29<\/td>\nTable 5 \u2013 Numeric literals <\/td>\n<\/tr>\n
30<\/td>\n6.3.3 Character string literals
Table 6 \u2013 Character string literals <\/td>\n<\/tr>\n
31<\/td>\n6.3.4 Duration literal
Table 7 \u2013 Two-character combinations in character strings
Table 8 \u2013 Duration literals <\/td>\n<\/tr>\n
32<\/td>\n6.3.5 Date and time of day literal
6.4 Data types
6.4.1 General
6.4.2 Elementary data types (BOOL, INT, REAL, STRING, etc.)
Table 9 \u2013 Date and time of day literals <\/td>\n<\/tr>\n
33<\/td>\nTable 10 \u2013 Elementary data types <\/td>\n<\/tr>\n
35<\/td>\n6.4.3 Generic data types <\/td>\n<\/tr>\n
36<\/td>\n6.4.4 User-defined data types
Figure 5 \u2013 Hierarchy of the generic data types <\/td>\n<\/tr>\n
37<\/td>\nFigure 6 \u2013 Initialization by literals and constant expressions (Rules)
Table 11 \u2013 Declaration of user-defined data types and initialization <\/td>\n<\/tr>\n
48<\/td>\nTable 12 \u2013 Reference operations <\/td>\n<\/tr>\n
49<\/td>\n6.5 Variables
6.5.1 Declaration and initialization of variables <\/td>\n<\/tr>\n
50<\/td>\nTable 13 \u2013 Declaration of variables <\/td>\n<\/tr>\n
51<\/td>\n6.5.2 Variable sections
Table 14 \u2013 Initialization of variables <\/td>\n<\/tr>\n
52<\/td>\nFigure 7 \u2013 Variable declaration keywords (Summary) <\/td>\n<\/tr>\n
53<\/td>\n6.5.3 Variable length ARRAY variables
Figure 8 \u2013 Usage of VAR_GLOBAL, VAR_EXTERNAL and CONSTANT (Rules) <\/td>\n<\/tr>\n
54<\/td>\nTable 15 \u2013 Variable-length ARRAY variables <\/td>\n<\/tr>\n
55<\/td>\n6.5.4 Constant variables <\/td>\n<\/tr>\n
56<\/td>\n6.5.5 Directly represented variables ( % )
Table 16 \u2013 Directly represented variables <\/td>\n<\/tr>\n
58<\/td>\n6.5.6 Retentive variables (RETAIN, NON_RETAIN) <\/td>\n<\/tr>\n
59<\/td>\nFigure 9 \u2013 Conditions for the initial value of a variable (Rules) <\/td>\n<\/tr>\n
60<\/td>\n6.6 Program organization units (POUs)
6.6.1 Common features for POUs <\/td>\n<\/tr>\n
62<\/td>\nTable 17 \u2013 Partial access of ANY_BIT variables <\/td>\n<\/tr>\n
65<\/td>\nFigure 10 \u2013 Formal and non-formal representation of call (Examples) <\/td>\n<\/tr>\n
67<\/td>\nTable 18 \u2013 Execution control graphically using EN and ENO <\/td>\n<\/tr>\n
69<\/td>\nFigure 11 \u2013 Data type conversion rules \u2013 implicit and\/or explicit (Summary) <\/td>\n<\/tr>\n
70<\/td>\nFigure 12 \u2013 Supported implicit type conversions <\/td>\n<\/tr>\n
72<\/td>\n6.6.2 Functions <\/td>\n<\/tr>\n
74<\/td>\nTable 19 \u2013 Function declaration <\/td>\n<\/tr>\n
76<\/td>\nTable 20 \u2013 Function call <\/td>\n<\/tr>\n
78<\/td>\nTable 21 \u2013 Typed and overloaded functions <\/td>\n<\/tr>\n
80<\/td>\nTable 22 \u2013 Data type conversion function <\/td>\n<\/tr>\n
82<\/td>\nTable 23 \u2013 Data type conversion of numeric data types <\/td>\n<\/tr>\n
84<\/td>\nTable 24 \u2013 Data type conversion of bit data types <\/td>\n<\/tr>\n
85<\/td>\nTable 25 \u2013 Data type conversion of bit and numeric types <\/td>\n<\/tr>\n
87<\/td>\nTable 26 \u2013 Data type conversion of date and time types <\/td>\n<\/tr>\n
88<\/td>\nTable 27 \u2013 Data type conversion of character types <\/td>\n<\/tr>\n
89<\/td>\nTable 28 \u2013 Numerical and arithmetic functions <\/td>\n<\/tr>\n
90<\/td>\nTable 29 \u2013 Arithmetic functions <\/td>\n<\/tr>\n
91<\/td>\nTable 30 \u2013 Bit shift functions
Table 31 \u2013 Bitwise Boolean functions <\/td>\n<\/tr>\n
92<\/td>\nTable 32 \u2013 Selection functions d <\/td>\n<\/tr>\n
93<\/td>\nTable 33 \u2013 Comparison functions <\/td>\n<\/tr>\n
94<\/td>\nTable 34 \u2013 Character string functions <\/td>\n<\/tr>\n
95<\/td>\nTable 35 \u2013 Numerical functions of time and duration data types <\/td>\n<\/tr>\n
96<\/td>\nTable 36 \u2013 Additional functions of time data types CONCAT and SPLIT <\/td>\n<\/tr>\n
100<\/td>\nTable 37 \u2013 Function for endianess conversion
Table 38 \u2013 Functions of enumerated data types <\/td>\n<\/tr>\n
101<\/td>\n6.6.3 Function blocks
Table 39 \u2013 Validate functions <\/td>\n<\/tr>\n
102<\/td>\nTable 40 \u2013 Function block type declaration <\/td>\n<\/tr>\n
106<\/td>\nTable 41 \u2013 Function block instance declaration <\/td>\n<\/tr>\n
107<\/td>\nTable 42 \u2013 Function block call <\/td>\n<\/tr>\n
110<\/td>\nFigure 13 \u2013 Usage of function block input and output parameters (Rules) <\/td>\n<\/tr>\n
111<\/td>\nFigure 14 \u2013 Usage of function block input and output parameters (Illustration of rules) <\/td>\n<\/tr>\n
114<\/td>\nTable 43 \u2013 Standard bistable function blocksa <\/td>\n<\/tr>\n
115<\/td>\nTable 44 \u2013 Standard edge detection function blocks
Table 45 \u2013 Standard counter function blocks <\/td>\n<\/tr>\n
117<\/td>\nTable 46 \u2013 Standard timer function blocks <\/td>\n<\/tr>\n
118<\/td>\nFigure 15 \u2013 Standard timer function blocks \u2013 timing diagrams (Rules) <\/td>\n<\/tr>\n
119<\/td>\n6.6.4 Programs
Table 47 \u2013 Program declaration <\/td>\n<\/tr>\n
120<\/td>\n6.6.5 Classes <\/td>\n<\/tr>\n
121<\/td>\nFigure 16 \u2013 Overview of inheritance and interface implementation <\/td>\n<\/tr>\n
122<\/td>\nTable 48 \u2013 Class <\/td>\n<\/tr>\n
124<\/td>\nTable 49 \u2013 Class instance declaration <\/td>\n<\/tr>\n
127<\/td>\nTable 50 \u2013 Textual call of methods \u2013 Formal and non-formal parameter list <\/td>\n<\/tr>\n
130<\/td>\nFigure 17 \u2013 Inheritance of classes (Illustration) <\/td>\n<\/tr>\n
139<\/td>\n6.6.6 Interface
Table 51 \u2013 Interface <\/td>\n<\/tr>\n
140<\/td>\nFigure 18 \u2013 Interface with derived classes (Illustration) <\/td>\n<\/tr>\n
145<\/td>\nFigure 19 \u2013 Inheritance of interface and class (Illustration) <\/td>\n<\/tr>\n
148<\/td>\n6.6.7 Object oriented features for function blocks
Table 52 \u2013 Assignment attempt <\/td>\n<\/tr>\n
149<\/td>\nTable 53 \u2013 Object oriented function block <\/td>\n<\/tr>\n
151<\/td>\nFigure 20 \u2013 Function block with optional body and methods (Illustration) <\/td>\n<\/tr>\n
153<\/td>\nFigure 21 \u2013 Inheritance of function block body with SUPER() (Example) <\/td>\n<\/tr>\n
154<\/td>\n6.6.8 Polymorphism <\/td>\n<\/tr>\n
157<\/td>\n6.7 Sequential Function Chart (SFC) elements
6.7.1 General
6.7.2 Steps <\/td>\n<\/tr>\n
158<\/td>\nTable 54 \u2013 SFC step <\/td>\n<\/tr>\n
159<\/td>\n6.7.3 Transitions <\/td>\n<\/tr>\n
160<\/td>\nTable 55 \u2013 SFC transition and transition condition <\/td>\n<\/tr>\n
162<\/td>\n6.7.4 Actions
Table 56 \u2013 SFC declaration of actions <\/td>\n<\/tr>\n
164<\/td>\nTable 57 \u2013 Step\/action association <\/td>\n<\/tr>\n
165<\/td>\nTable 58 \u2013 Action block
Table 59 \u2013 Action qualifiers <\/td>\n<\/tr>\n
167<\/td>\nFigure 22 \u2013 ACTION_CONTROL function block \u2013 External interface (Summary) <\/td>\n<\/tr>\n
168<\/td>\nFigure 23 \u2013 ACTION_CONTROL function block body (Summary) <\/td>\n<\/tr>\n
170<\/td>\n6.7.5 Rules of evolution
Figure 24 \u2013 Action control (Example)
Table 60 \u2013 Action control features <\/td>\n<\/tr>\n
171<\/td>\nTable 61 \u2013 Sequence evolution \u2013 graphical <\/td>\n<\/tr>\n
176<\/td>\nFigure 25 \u2013 SFC evolution (Rules) <\/td>\n<\/tr>\n
177<\/td>\nFigure 26 \u2013 SFC errors (Example) <\/td>\n<\/tr>\n
178<\/td>\n6.8 Configuration elements
6.8.1 General <\/td>\n<\/tr>\n
179<\/td>\nFigure 27 \u2013 Configuration (Example) <\/td>\n<\/tr>\n
180<\/td>\nTable 62 \u2013 Configuration and resource declaration <\/td>\n<\/tr>\n
182<\/td>\n6.8.2 Tasks
Figure 28 \u2013 CONFIGURATION and RESOURCE declaration (Example) <\/td>\n<\/tr>\n
184<\/td>\nTable 63 \u2013 Task <\/td>\n<\/tr>\n
188<\/td>\n6.9 Namespaces
6.9.1 General
6.9.2 Declaration <\/td>\n<\/tr>\n
191<\/td>\nFigure 29 \u2013 Accessibility using namespaces (Rules) <\/td>\n<\/tr>\n
193<\/td>\nTable 64 \u2013 Namespace <\/td>\n<\/tr>\n
194<\/td>\n6.9.3 Usage
6.9.4 Namespace directive USING
Table 65 \u2013 Nested namespace declaration options <\/td>\n<\/tr>\n
196<\/td>\nTable 66 \u2013 Namespace directive USING <\/td>\n<\/tr>\n
197<\/td>\n7 Textual languages
7.1 Common elements
7.2 Instruction list (IL)
7.2.1 General
7.2.2 Instructions
Figure 30 \u2013 Common textual elements (Summary) <\/td>\n<\/tr>\n
198<\/td>\n7.2.3 Operators, modifiers and operands <\/td>\n<\/tr>\n
199<\/td>\nTable 67 \u2013 Parenthesized expression for IL language
Table 68 \u2013 Instruction list operators <\/td>\n<\/tr>\n
200<\/td>\n7.2.4 Functions and function blocks <\/td>\n<\/tr>\n
201<\/td>\nTable 69 \u2013 Calls for IL language <\/td>\n<\/tr>\n
203<\/td>\n7.3 Structured Text (ST)
7.3.1 General
7.3.2 Expressions
Table 70 \u2013 Standard function block operators for IL language <\/td>\n<\/tr>\n
204<\/td>\nTable 71 \u2013 Operators of the ST language <\/td>\n<\/tr>\n
205<\/td>\n7.3.3 Statements
Table 72 \u2013 ST language statements <\/td>\n<\/tr>\n
210<\/td>\n8 Graphic languages
8.1 Common elements
8.1.1 General <\/td>\n<\/tr>\n
211<\/td>\n8.1.2 Representation of variables and instances <\/td>\n<\/tr>\n
213<\/td>\n8.1.3 Representation of lines and blocks <\/td>\n<\/tr>\n
214<\/td>\n8.1.4 Direction of flow in networks <\/td>\n<\/tr>\n
215<\/td>\n8.1.5 Evaluation of networks <\/td>\n<\/tr>\n
216<\/td>\n8.1.6 Execution control elements <\/td>\n<\/tr>\n
217<\/td>\n8.2 Ladder diagram (LD)
8.2.1 General
Table 73 \u2013 Graphic execution control elements <\/td>\n<\/tr>\n
218<\/td>\n8.2.2 Power rails
8.2.3 Link elements and states
8.2.4 Contacts
Table 74 \u2013 Power rails and link elements <\/td>\n<\/tr>\n
219<\/td>\nTable 75 \u2013 Contacts <\/td>\n<\/tr>\n
220<\/td>\n8.2.5 Coils
Table 76 \u2013 Coils <\/td>\n<\/tr>\n
221<\/td>\n8.2.6 Functions and function blocks
8.2.7 Order of network evaluation
8.3 Function Block Diagram (FBD)
8.3.1 General
8.3.2 Combination of elements <\/td>\n<\/tr>\n
222<\/td>\n8.3.3 Order of network evaluation <\/td>\n<\/tr>\n
223<\/td>\nAnnex A (normative) Formal specification of the languages elements <\/td>\n<\/tr>\n
230<\/td>\nAnnex B (informative) List of major changes and extensions of the third edition <\/td>\n<\/tr>\n
231<\/td>\nBibliography <\/td>\n<\/tr>\n<\/table>\n","protected":false},"excerpt":{"rendered":"

Programmable controllers – Programming languages<\/b><\/p>\n\n\n\n\n
Published By<\/td>\nPublication Date<\/td>\nNumber of Pages<\/td>\n<\/tr>\n
BSI<\/b><\/a><\/td>\n2013<\/td>\n234<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"featured_media":244178,"template":"","meta":{"rank_math_lock_modified_date":false,"ep_exclude_from_search":false},"product_cat":[385,2641],"product_tag":[],"class_list":{"0":"post-244171","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-25-040-40","7":"product_cat-bsi","9":"first","10":"instock","11":"sold-individually","12":"shipping-taxable","13":"purchasable","14":"product-type-simple"},"_links":{"self":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product\/244171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/media\/244178"}],"wp:attachment":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/media?parent=244171"}],"wp:term":[{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product_cat?post=244171"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product_tag?post=244171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}