BSI PD IEC/TR 61131-8:2017 – TC:2020 Edition
$280.87
Tracked Changes. Industrial-process measurement and control. Programmable controllers – Guidelines for the application and implementation of programming languages
Published By | Publication Date | Number of Pages |
BSI | 2020 | 259 |
IEC TR 61131-8:2017(E) applies to the programming of programmable controller systems using the programming languages defined in IEC 61131-3. The scope of IEC 61131-3 is applicable to this part. This document provides a) guidelines for the application of IEC 61131-3, b) guidelines for the implementation of IEC 61131-3 languages for programmable controller systems, c) programming and debugging tool (PADT) recommendations. For further information see IEC 61131-4 which describes other aspects of the application of programmable controller systems, e.g. electromagnetic compatibility or functional safety. This third edition cancels and replaces the second edition published in 2003. This edition constitutes a technical revision. This edition includes the following significant technical changes with respect to the previous edition: This third edition 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 (see listing in Annex B of IEC 61131-3:2013).
PDF Catalog
PDF Pages | PDF Title |
---|---|
155 | undefined |
157 | CONTENTS |
161 | FOREWORD |
163 | INTRODUCTION |
164 | 1 Scope 2 Normative references 3 Terms and definitions 4 Abbreviated terms |
165 | 5 Overview 6 Introduction to IEC 61131-3 6.1 General considerations |
166 | Figures Figure 1 – A distributed application |
167 | Figure 2 – Stand-alone applications |
168 | 6.2 Overcoming historical limitations 6.3 Basic features in IEC 61131-3 Figure 3 – Cyclic or periodic scanning of a program |
169 | 6.4 Language items overview |
170 | Figure 4 – Programming Modelm |
171 | 6.5 Changes from IEC 61131-3:2003 (edition 2) to IEC 61131-3:2013 (edition 3) Figure 5 – Software Modelm |
172 | 6.6 Software engineering considerations 6.6.1 Application of software engineering principles |
174 | 6.6.2 Portability |
175 | 7 Application guidelines 7.1 Use of data types 7.1.1 Type selection 7.1.2 Type versus variable initialization |
176 | 7.1.3 Use of enumerated and subrange types |
177 | 7.1.4 Use of BCD data 7.1.5 Use of REAL data types |
178 | 7.1.6 Use of character string data types |
179 | 7.1.7 Use of character data types 7.1.8 Use of time data types |
181 | 7.1.9 Declaration and use of multi-element variables 7.1.10 Use of bit-string variables Figure 6 – ST example of time data type usage Figure 7 – Example of declaration and use of array types |
182 | 7.1.11 Use of partial accessing of bitstring variables 7.1.12 Type assignment 7.2 Data passing over POU 7.2.1 General |
183 | Tables Table 1 – Available data passing of variables to POU |
184 | 7.2.2 External variables 7.2.3 In-out (VAR_IN_OUT) variables |
187 | 7.2.4 Formal and non-formal invocations and argument lists Figure 8 – Examples of VAR_IN_OUT usage |
188 | Table 2 – Examples of textual invocations of functions and function blocks |
189 | 7.2.5 Assignment of input, output, and in-out variables of programs |
190 | 7.3 Use of function blocks 7.3.1 Function block types and instances 7.3.2 Scope of data within function blocks |
191 | 7.3.3 Function block access and invocation Figure 9 – Hiding of function block instances |
192 | 7.4 Differences between function block instances and functions 7.5 Use of indirectly referenced function block instances 7.5.1 General |
193 | 7.5.2 Establishing an indirect function block instance reference |
195 | 7.5.3 Access to indirectly referenced function block instances Figure 10 – Graphical use of a function block name Figure 11 – Access to an indirectly referenced function block instance |
196 | 7.5.4 Invocation of indirectly referenced function block instances |
198 | 7.5.5 Recursion of indirectly referenced function block instances Figure 12 – Invocation of an indirectly referenced function block instance |
199 | 7.5.6 Execution control of indirectly referenced function block instances 7.5.7 Use of indirectly referenced function block instances in functions 7.6 Use of programs 7.6.1 Difference to function block 7.6.2 Communication with other programs |
200 | 7.7 Object orientation 7.7.1 General introduction 7.7.2 Usage of methods |
201 | Figure 13 – Standard FB CTUD according to IEC 61131-3 |
202 | Figure 14 – Functionblock CTUD object oriented version |
203 | Figure 15 – Call of standard and OO-Functionblock in ST Figure 16 – Call of standard function block in FBD Figure 17 – All of a method in FBD |
204 | 7.7.3 Usage of class variable Figure 18 – Synthesis: a traditional function blockderived from an OO-function block |
205 | 7.7.4 Usage of inheritance |
208 | 7.7.5 Usage of override 7.7.6 Usage of interfaces Figure 19 – Use of function blocks derived from ETrig-Base,the base function block interface is highlighted |
209 | 7.8 Recursion within programmable controller programming languages 7.9 Multiple invocations of a function block instance |
210 | 7.10 Language specific features 7.10.1 Edge-triggered functionality 7.10.2 Edge-triggering in LD language |
211 | 7.10.3 Use of edge-triggered function blocks 7.10.4 Use of EN/ENO in functions and function blocks Figure 20 – Timing of edge triggered functionality |
212 | 7.10.5 Language selection Figure 21 – Execution control example |
213 | 7.11 Namespaces 7.11.1 General 7.11.2 Usage of global namespace 7.11.3 Usage of INTERNAL Table 3 – Characteristics of the languages |
214 | 7.12 Use of SFC elements 7.12.1 General 7.12.2 Action control |
215 | 7.12.3 Boolean actions |
219 | 7.12.4 Non-SFC actions Figure 22 – Timing of Boolean actions Figure 23 – Example of a programmed non-Boolean action |
220 | 7.12.5 SFC actions Figure 24 – Use of the pulse (P) qualifier |
221 | 7.12.6 SFC function blocks Figure 25 – An SFC function block |
222 | 7.13 Scheduling, concurrency and synchronization mechanisms 7.13.1 Operating system issues |
223 | 7.13.2 Task scheduling Table 4 – Differences between multi-user and real-time systems |
224 | 7.13.3 Semaphores |
225 | 7.13.4 Messaging 7.13.5 Time stamping |
226 | 7.14 Communication facilities in ISO/IEC 9506-5 and IEC 61131-5 7.14.1 Overview 7.14.2 Data representation |
228 | 7.14.3 Communication channels 7.14.4 Reading and writing variables |
229 | 7.14.5 Communication function blocks |
230 | 7.15 Deprecated programming practices 7.15.1 General 7.15.2 Global variables 7.15.3 Jumps in FBD/LD language 7.15.4 Dynamic modification of task properties |
231 | 7.15.5 Execution control of function block instances by tasks 7.15.6 WHILE and REPEAT constructs for interprocess synchronisation |
232 | 7.15.7 Expecting programs associated with a task to be executed sequentially Figure 26 – Example of incorrect and allowed programming constructs |
233 | 7.16 REAL_TO_INT conversion functions 7.17 Implementation dependant parameters Table 5 – Implementation-dependent parameters |
235 | 8 Implementation guidelines 8.1 General 8.2 Resource allocation 8.3 Implementation of data types 8.3.1 REAL and LREAL data types |
236 | 8.3.2 Bit strings 8.3.3 Character strings 8.3.4 Time data types |
237 | 8.3.5 Multi-element variables |
238 | 8.4 Execution of functions and function blocks 8.4.1 General 8.4.2 Functions 8.4.3 Function blocks |
239 | 8.5 Object oriented features 8.5.1 Classes 8.5.2 Methods |
240 | 8.5.3 Dynamic binding and virtual method table 8.5.4 Interfaces 8.6 Implementation of SFCs 8.6.1 General considerations 8.6.2 SFC evolution |
241 | 8.6.3 SFC analysis Figure 27 – Reduction steps |
242 | 8.7 Task scheduling 8.7.1 General Figure 28 – Reduction of SFCs |
243 | 8.7.2 Classification of tasks 8.7.3 Task priorities 8.8 Error handling 8.8.1 Error-handling mechanisms |
244 | Table 6 – Recommended run-time error-handling mechanisms |
245 | 8.8.2 Run-time error-handling procedures |
247 | 8.9 System interface 8.10 Compliance 8.10.1 General 8.10.2 Compliance statement 8.10.3 Compliance testing |
248 | Annex A (informative) Relationships to other standards |
249 | INDEX |
256 | Bibliography |