Shopping Cart

No products in the cart.

BSI PD IEC/TR 61131-8:2017:2018 Edition

$215.11

Industrial-process measurement and control. Programmable controllers – Guidelines for the application and implementation of programming languages

Published By Publication Date Number of Pages
BSI 2018 106
Guaranteed Safe Checkout
Categories: ,

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

This part of IEC 61131 , which is a technical report, 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

  1. guidelines for the application of IEC 61131‑3 ,

  2. guidelines for the implementation of IEC 61131‑3 languages for programmable controller systems,

  3. programming and debugging tool (PADT) recommendations.

For further information IEC 61131‑4 describes other aspects of the application of programmable controller systems, e.g. electromagnetic compatibility or functional safety.

NOTE

Neither IEC 61131‑3 nor this document explicitly addresses safety issues of programmable controller systems or their associated software. The various parts of IEC 61508 can be consulted for such considerations.

PDF Catalog

PDF Pages PDF Title
2 undefined
4 CONTENTS
8 FOREWORD
10 INTRODUCTION
11 1 Scope
2 Normative references
3 Terms and definitions
4 Abbreviated terms
12 5 Overview
6 Introduction to IEC 61131-3
6.1 General considerations
13 Figures
Figure 1 – A distributed application
14 Figure 2 – Stand-alone applications
15 6.2 Overcoming historical limitations
6.3 Basic features in IEC 61131-3
Figure 3 – Cyclic or periodic scanning of a program
16 6.4 Language items overview
17 Figure 4 – Programming Modelm
18 6.5 Changes from IEC 61131-3:2003 (edition 2) to IEC 61131-3:2013 (edition 3)
Figure 5 – Software Modelm
19 6.6 Software engineering considerations
6.6.1 Application of software engineering principles
21 6.6.2 Portability
22 7 Application guidelines
7.1 Use of data types
7.1.1 Type selection
7.1.2 Type versus variable initialization
23 7.1.3 Use of enumerated and subrange types
24 7.1.4 Use of BCD data
7.1.5 Use of REAL data types
25 7.1.6 Use of character string data types
26 7.1.7 Use of character data types
7.1.8 Use of time data types
28 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
29 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
30 Tables
Table 1 – Available data passing of variables to POU
31 7.2.2 External variables
7.2.3 In-out (VAR_IN_OUT) variables
34 7.2.4 Formal and non-formal invocations and argument lists
Figure 8 – Examples of VAR_IN_OUT usage
35 Table 2 – Examples of textual invocations of functions and function blocks
36 7.2.5 Assignment of input, output, and in-out variables of programs
37 7.3 Use of function blocks
7.3.1 Function block types and instances
7.3.2 Scope of data within function blocks
38 7.3.3 Function block access and invocation
Figure 9 – Hiding of function block instances
39 7.4 Differences between function block instances and functions
7.5 Use of indirectly referenced function block instances
7.5.1 General
40 7.5.2 Establishing an indirect function block instance reference
42 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
43 7.5.4 Invocation of indirectly referenced function block instances
45 7.5.5 Recursion of indirectly referenced function block instances
Figure 12 – Invocation of an indirectly referenced function block instance
46 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
47 7.7 Object orientation
7.7.1 General introduction
7.7.2 Usage of methods
48 Figure 13 – Standard FB CTUD according to IEC 61131-3
49 Figure 14 – Functionblock CTUD object oriented version
50 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
51 7.7.3 Usage of class variable
Figure 18 – Synthesis: a traditional function blockderived from an OO-function block
52 7.7.4 Usage of inheritance
55 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
56 7.8 Recursion within programmable controller programming languages
7.9 Multiple invocations of a function block instance
57 7.10 Language specific features
7.10.1 Edge-triggered functionality
7.10.2 Edge-triggering in LD language
58 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
59 7.10.5 Language selection
Figure 21 – Execution control example
60 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
61 7.12 Use of SFC elements
7.12.1 General
7.12.2 Action control
62 7.12.3 Boolean actions
66 7.12.4 Non-SFC actions
Figure 22 – Timing of Boolean actions
Figure 23 – Example of a programmed non-Boolean action
67 7.12.5 SFC actions
Figure 24 – Use of the pulse (P) qualifier
68 7.12.6 SFC function blocks
Figure 25 – An SFC function block
69 7.13 Scheduling, concurrency and synchronization mechanisms
7.13.1 Operating system issues
70 7.13.2 Task scheduling
Table 4 – Differences between multi-user and real-time systems
71 7.13.3 Semaphores
72 7.13.4 Messaging
7.13.5 Time stamping
73 7.14 Communication facilities in ISO/IEC 9506-5 and IEC 61131-5
7.14.1 Overview
7.14.2 Data representation
75 7.14.3 Communication channels
7.14.4 Reading and writing variables
76 7.14.5 Communication function blocks
77 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
78 7.15.5 Execution control of function block instances by tasks
7.15.6 WHILE and REPEAT constructs for interprocess synchronisation
79 7.15.7 Expecting programs associated with a task to be executed sequentially
Figure 26 – Example of incorrect and allowed programming constructs
80 7.16 REAL_TO_INT conversion functions
7.17 Implementation dependant parameters
Table 5 – Implementation-dependent parameters
82 8 Implementation guidelines
8.1 General
8.2 Resource allocation
8.3 Implementation of data types
8.3.1 REAL and LREAL data types
83 8.3.2 Bit strings
8.3.3 Character strings
8.3.4 Time data types
84 8.3.5 Multi-element variables
85 8.4 Execution of functions and function blocks
8.4.1 General
8.4.2 Functions
8.4.3 Function blocks
86 8.5 Object oriented features
8.5.1 Classes
8.5.2 Methods
87 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
88 8.6.3 SFC analysis
Figure 27 – Reduction steps
89 8.7 Task scheduling
8.7.1 General
Figure 28 – Reduction of SFCs
90 8.7.2 Classification of tasks
8.7.3 Task priorities
8.8 Error handling
8.8.1 Error-handling mechanisms
91 Table 6 – Recommended run-time error-handling mechanisms
92 8.8.2 Run-time error-handling procedures
94 8.9 System interface
8.10 Compliance
8.10.1 General
8.10.2 Compliance statement
8.10.3 Compliance testing
95 Annex A (informative) Relationships to other standards
96 INDEX
103 Bibliography
BSI PD IEC/TR 61131-8:2017
$215.11