IEC TR 61131-8:2000
(Main)Programmable controllers - Part 8: Guidelines for the application and implementation of programming languages
Programmable controllers - Part 8: Guidelines for the application and implementation of programming languages
Programming of programmable controller systems using the programming languages defined in IEC 61131-3.
Automates programmables - Partie 8: Lignes directrices pour l'application et la mise en oeuvre des langages de programmation
Programmation des systèmes d'automates programmables utilisant les langages de programmation définis dans la CEI 61131-3.
General Information
- Status
- Published
- Publication Date
- 26-Jan-2000
- Technical Committee
- SC 65B - Measurement and control devices
- Drafting Committee
- WG 7 - TC 65/SC 65B/WG 7
- Current Stage
- DELPUB - Deleted Publication
- Start Date
- 29-Sep-2003
- Completion Date
- 26-Oct-2025
Relations
- Effective Date
- 05-Sep-2023
Overview
IEC TR 61131-8:2000, titled Programmable controllers - Part 8: Guidelines for the application and implementation of programming languages, provides comprehensive guidance on programming programmable controller systems based on the languages defined in IEC 61131-3. Published by the International Electrotechnical Commission (IEC), this technical report assists engineers and developers in applying and implementing standardized programming languages effectively for programmable logic controllers (PLCs).
This document addresses practical challenges in programming PLCs by elaborating on software engineering principles, data types, function blocks, recursion, scheduling, and error handling as stipulated in IEC 61131-3. It ensures consistent and quality programming practices that enhance software portability, maintainability, and reliability within industrial automation systems.
Key Topics
Introduction to IEC 61131-3
The report explores fundamental concepts of IEC 61131-3, highlighting historical limitations and the new features brought by this standard, including multi-language support and advanced data types.Software Engineering Practices
Emphasizes software quality measurement, application of software principles, and achieving portability across different PLC platforms.Data Types and Initialization
Detailed guidelines on the use of various data types including enumerated types, BCD, REAL, character strings, date/time, and multi-element variables.Function Blocks Usage
Covers creation and management of function block types and instances, scope of data, access patterns, invocation methods, and handling indirectly referenced function block instances.Recursion and Invocation
Provides insights into the use of recursion within programmable controller programming and distinguishes between simple and multiple invocations.Language Specific Features
Discusses edge-triggered functionality, use of EN/ENO flags, and integration of non-IEC 61131-3 languages within the PLC programming environment.Sequential Function Chart (SFC) Elements
Guidance on using SFC for structuring control sequences, including action commands, Boolean and non-SFC actions, and linking SFC blocks.Task Scheduling and Synchronization
Explains scheduling strategies, task prioritization, concurrency control, semaphores, messaging, and time buffers vital for multi-tasking environments in PLC systems.Communication Facilities
Highlights communication channels, data read/write mechanisms, and related function blocks, referencing ISO/IEC 9506-5 and IEC 61131-5.Recommended Programming Practices
Best practices to manage global variables, avoid improper jumps, control multiple block instance invocations, prioritize tasks dynamically, and real-time clock function block utilization.Implementation Guidelines
Addresses resource allocation, implementation of data types (REAL, LREAL, strings, and time), function execution, SFC execution, task scheduling design, and robust error handling procedures.
Applications
IEC TR 61131-8:2000 is essential for industries leveraging programmable logic controllers for automation and control systems. Its application benefits include:
Industrial Automation Development
Enables engineers to develop robust PLC programs using IEC 61131-3 languages, enhancing system consistency and interoperability.Software Portability and Maintenance
Facilitates software portability across hardware platforms by adhering to standard programming guidelines and structured practices.Complex Control Systems Design
Supports advanced control sequence programming through SFCs and function blocks, making it suitable for manufacturing, process industries, and infrastructure automation.Multi-tasking and Real-Time Control
Helps implement effective task scheduling, synchronization, and communication ensuring reliable real-time control of machinery and processes.
Related Standards
IEC 61131-3 - Defines programming languages for programmable controllers, including ladder diagram, function block diagram, structured text, instruction list, and sequential function chart.
IEC 60050 (International Electrotechnical Vocabulary) - Provides general terminology for electrotechnical fields relevant to controller programming.
IEC 60027, IEC 60417, IEC 60617 - Cover graphical and letter symbols used in electrical engineering, aiding standardized documentation and representation.
IEC 61131-5 - Addresses communication within programmable controllers, referenced in communication facilities.
ISO/IEC 9506-5 - Specifies communication protocols related to manufacturing automation systems.
This standard, by aligning programming language use with IEC 61131-3, fosters improved industrial control software engineering, promoting quality, reliability, and interoperability in today's automated environments.
Frequently Asked Questions
IEC TR 61131-8:2000 is a technical report published by the International Electrotechnical Commission (IEC). Its full title is "Programmable controllers - Part 8: Guidelines for the application and implementation of programming languages". This standard covers: Programming of programmable controller systems using the programming languages defined in IEC 61131-3.
Programming of programmable controller systems using the programming languages defined in IEC 61131-3.
IEC TR 61131-8:2000 is classified under the following ICS (International Classification for Standards) categories: 25.040.40 - Industrial process measurement and control; 35.240.50 - IT applications in industry. The ICS classification helps identify the subject area and facilitates finding related standards.
IEC TR 61131-8:2000 has the following relationships with other standards: It is inter standard links to IEC TR 61131-8:2003. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase IEC TR 61131-8:2000 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of IEC standards.
Standards Content (Sample)
RAPPORT CEI
TECHNIQUE IEC
TR 61131-8
TECHNICAL
Première édition
REPORT
First edition
2000-01
Automates programmables –
Partie 8:
Lignes directrices pour l'application et la mise
en oeuvre des langages de programmation
Programmable controllers –
Part 8:
Guidelines for the application and implementation
of programming languages
Numéro de référence
Reference number
IEC/TR 61131-8:2000
Numéros des publications Numbering
Depuis le 1er janvier 1997, les publications de la CEI As from 1 January 1997 all IEC publications are
sont numérotées à partir de 60000. issued with a designation in the 60000 series.
Publications consolidées Consolidated publications
Les versions consolidées de certaines publications de Consolidated versions of some IEC publications
la CEI incorporant les amendements sont disponibles. including amendments are available. For example,
Par exemple, les numéros d’édition 1.0, 1.1 et 1.2 edition numbers 1.0, 1.1 and 1.2 refer, respectively, to
indiquent respectivement la publication de base, la the base publication, the base publication incor-
publication de base incorporant l’amendement 1, et la porating amendment 1 and the base publication
publication de base incorporant les amendements 1 incorporating amendments 1 and 2.
et 2.
Validité de la présente publication Validity of this publication
Le contenu technique des publications de la CEI est The technical content of IEC publications is kept
constamment revu par la CEI afin qu'il reflète l'état under constant review by the IEC, thus ensuring that
actuel de la technique. the content reflects current technology.
Des renseignements relatifs à la date de reconfir- Information relating to the date of the reconfirmation
mation de la publication sont disponibles dans le of the publication is available in the IEC catalogue.
Catalogue de la CEI.
Les renseignements relatifs à des questions à l’étude et Information on the subjects under consideration and
des travaux en cours entrepris par le comité technique work in progress undertaken by the technical
qui a établi cette publication, ainsi que la liste des committee which has prepared this publication, as well
publications établies, se trouvent dans les documents ci- as the list of publications issued, is to be found at the
dessous: following IEC sources:
• «Site web» de la CEI* • IEC web site*
• Catalogue des publications de la CEI • Catalogue of IEC publications
Publié annuellement et mis à jour Published yearly with regular updates
régulièrement (On-line catalogue)*
(Catalogue en ligne)*
• Bulletin de la CEI
• IEC Bulletin
Disponible à la fois au «site web» de la CEI*
Available both at the IEC web site* and
et comme périodique imprimé
as a printed periodical
Terminologie, symboles graphiques
Terminology, graphical and letter
et littéraux
symbols
En ce qui concerne la terminologie générale, le lecteur
For general terminology, readers are referred to
se reportera à la CEI 60050: Vocabulaire Electro-
IEC 60050: International Electrotechnical Vocabulary
technique International (VEI).
(IEV).
Pour les symboles graphiques, les symboles littéraux
For graphical symbols, and letter symbols and signs
et les signes d'usage général approuvés par la CEI, le
approved by the IEC for general use, readers are
lecteur consultera la CEI 60027: Symboles littéraux à
referred to publications IEC 60027: Letter symbols to
utiliser en électrotechnique, la CEI 60417: Symboles
be used in electrical technology, IEC 60417: Graphical
graphiques utilisables sur le matériel. Index, relevé et
symbols for use on equipment. Index, survey and
compilation des feuilles individuelles, et la CEI 60617:
compilation of the single sheets and IEC 60617:
Symboles graphiques pour schémas.
Graphical symbols for diagrams.
* Voir adresse «site web» sur la page de titre.
* See web site address on title page.
RAPPORT CEI
TECHNIQUE IEC
TR 61131-8
TECHNICAL
Première édition
REPORT
First edition
2000-01
Automates programmables –
Partie 8:
Lignes directrices pour l'application et la mise
en oeuvre des langages de programmation
Programmable controllers –
Part 8:
Guidelines for the application and implementation
of programming languages
IEC 2000 Droits de reproduction réservés Copyright - all rights reserved
Aucune partie de cette publication ne peut être reproduite ni No part of this publication may be reproduced or utilized in
utilisée sous quelque forme que ce soit et par aucun procédé, any form or by any means, electronic or mechanical,
électronique ou mécanique, y compris la photo-copie et les including photocopying and microfilm, without permission in
microfilms, sans l'accord écrit de l'éditeur. writing from the publisher.
International Electrotechnical Commission 3, rue de Varembé Geneva, Switzerland
Telefax: +41 22 919 0300 e-mail: inmail@iec.ch IEC web site http://www.iec.ch
CODE PRIX
Commission Electrotechnique Internationale
XC
PRICE CODE
International Electrotechnical Commission
Pour prix, voir catalogue en vigueur
For price, see current catalogue
– 2 – TR 61131-8 © CEI:2000
SOMMAIRE
Pages
AVANT-PROPOS . 10
Articles
1 Généralités .12
1.1 Domaine d’application . 12
1.2 Documents de références . 12
1.3 Généralités . 14
2 Introduction à la CEI 61131-3 . 16
2.1 Considérations générales. 16
2.2 Limitations historiques. 20
2.3 Nouveautés de la CEI 61131-3 . 22
2.4 Considérations sur l'ingénierie des logiciels. 24
2.4.1 Mesurage de la qualité des logiciels . 24
2.4.2 Application des principes d'ingénierie des logiciels . 26
2.4.3 Portabilité. 30
3 Lignes directrices pour les applications. 32
3.1 Utilisation des types de données . 32
3.1.1 Initialisation des variables versus initialisation des types. 32
3.1.2 Utilisation des types à liste de valeurs ou à sous-plage de valeurs . 34
3.1.3 Utilisation de données BCD . 34
3.1.4 Utilisation des types REAL. 38
3.1.5 Utilisation des données de types chaîne de caractères . 38
3.1.6 Utilisation des types date et heure . 40
3.1.7 Utilisation des variables multi-éléments . 42
3.2 Importation et exportation des données . 42
3.2.1 Variables globales et variables externes . 44
3.2.2 Variables en entrée/sortie (VAR_IN_OUT) . 44
3.3 Utilisation des blocs fonctionnels. 48
3.3.1 Types et instances de blocs fonctionnels . 48
3.3.2 Portée des données dans un bloc fonctionnel . 50
3.3.3 Accès aux blocs fonctionnels et invocation des blocs fonctionnels . 52
3.4 Différence entre instance de bloc fonctionnel et fonction. 54
3.5 Utilisation d'instances de blocs fonctionnels indirectement référencées . 54
3.5.1 Mise en place d'une référence indirecte d'instance de bloc fonctionnel. 56
3.5.2 Accès aux instances de blocs fonctionnels référencées indirectement. 60
3.5.3 Invocation des instances de blocs fonctionnels référencées indirectement . 60
3.5.4 Récursivité des instances de blocs fonctionnels référencées indirectement 66
3.5.5 Contrôle de l'exécution des instances de blocs fonctionnels référencées
indirectement . 66
3.5.6 Utilisation des instances de blocs fonctionnels référencées indirectement
dans les fonctions . 66
3.6 Récursivité dans les langages de programmation des automates programmables . 66
3.7 Invocations simples ou multiples . 68
TR 61131-8 © IEC:2000 – 3 –
CONTENTS
Page
FOREWORD .11
Clause
1 General. 13
1.1 Scope . 13
1.2 Reference documents . 13
1.3 Overview. 15
2 Introduction to IEC 61131-3. 17
2.1 General considerations . 17
2.2 Historical limitations . 21
2.3 New features in IEC 61131-3. 23
2.4 Software engineering considerations . 25
2.4.1 Software quality measures. 25
2.4.2 Application of software engineering principles. 27
2.4.3 Portability. 31
3 Application guidelines. 33
3.1 Use of data types . 33
3.1.1 Type vs. variable initialization . 33
3.1.2 Use of enumerated and subrange types. 35
3.1.3 Use of BCD data . 35
3.1.4 Use of REAL data types . 39
3.1.5 Use of character string data types . 39
3.1.6 Use of time data types. 41
3.1.7 Use of multi-element variables. 43
3.2 Data import and export. 43
3.2.1 Global and external variables . 45
3.2.2 Input/output (VAR_IN_OUT) variables . 45
3.3 Use of function blocks . 49
3.3.1 Function block types and instances . 49
3.3.2 Scope of data within function blocks . 51
3.3.3 Function block access and invocation . 53
3.4 Differences between function block instances and functions . 55
3.5 Use of indirectly referenced function block instances . 55
3.5.1 Establishing an indirect function block instance reference . 57
3.5.2 Access to indirectly referenced function block instances . 61
3.5.3 Invocation of indirectly referenced function block instances. 61
3.5.4 Recursion of indirectly referenced function block instances. 67
3.5.5 Execution control of indirectly referenced function block instances. 67
3.5.6 Use of indirectly referenced function block instances in functions. 67
3.6 Recursion within programmable controller programming languages . 67
3.7 Single and multiple invocation . 69
– 4 – TR 61131-8 © CEI:2000
Articles Pages
3.8 Dispositifs spécifiques aux langages . 70
3.8.1 Fonctionnalités déclenchées par des fronts . 70
3.8.2 Utilisation des blocs fonctionnels EN/ENO dans les fonctions et les blocs
fonctionnels. 74
3.8.3 Utilisation de langages non définis dans la CEI 61131-3 . 76
3.9 Utilisation des éléments SFC. 76
3.9.1 Commande des actions . 78
3.9.2 Actions booléennes . 80
3.9.3 Actions non-SFC . 90
3.9.4 Actions SFC . 92
3.9.5 Blocs fonctionnels SFC . 96
3.9.6 Variables «indicateur» . 96
3.10 Mécanismes d'ordonnancement, de concurrence et de synchronisation . 98
3.10.1 Problèmes des systèmes d'exploitation. 98
3.10.2 Ordonnancement des tâches . 102
3.10.3 Sémaphores. 104
3.10.4 Messagerie . 106
3.10.5 Tampons horaires . 108
3.11 Facilités de communications dans l'ISO/CEI 9506-5 et la CEI 61131-5. 108
3.11.1 Canaux de communication . 110
3.11.2 Lire et écrire des variables . 110
3.11.3 Blocs fonctionnels de communication . 110
3.12 Pratiques de programmation recommandées . 112
3.12.1 Variables globales . 112
3.12.2 Sauts dans le langage FBD (blocs fonctionnels) . 114
3.12.3 Invocations multiples d'instances de blocs fonctionnels en FBD . 114
3.12.4 Couplage de réseaux SFC (diagramme fonctionnel en séquence) . 114
3.12.5 Modification dynamique de la priorité des tâches . 116
3.12.6 Commande de l'exécution des instances de blocs fonctionnels
par les tâches . 116
3.12.7 Utilisation des blocs fonctionnels RTC (real time clock = horloge
temps réel). 116
4 Lignes directrices pour la mise en oeuvre . 118
4.1 Allocation des ressources. 118
4.2 Mise en oeuvre des types de données . 118
4.2.1 Types de données REAL et LREAL. 118
4.2.2 Chaînes de caractères . 118
4.2.3 Données de type temps . 120
4.2.4 Variables multi-éléments . 120
4.3 Exécution des fonctions et des blocs fonctionnels. 120
4.3.1 Fonctions . 122
4.3.2 Blocs fonctionnels . 122
4.4 Mise en oeuvre des SFC (diagramme fonctionnel en séquence) . 124
4.5 Ordonnancement des tâches. 124
4.5.1 Classification des tâches . 126
4.5.2 Priorités des tâches. 126
4.6 Traitement des erreurs. 128
4.6.1 Mécanismes de traitement des erreurs . 128
4.6.2 Procédures de traitement des erreurs d'exécution. 132
TR 61131-8 © IEC:2000 – 5 –
Clause Page
3.8 Language specific features. 71
3.8.1 Edge triggered functionality . 71
3.8.2 Use of EN/ENO in functions and function blocks . 75
3.8.3 Use of non-IEC 61131-3 languages . 77
3.9 Use of SFC elements . 77
3.9.1 Action control . 79
3.9.2 Boolean actions. 81
3.9.3 Non-SFC actions . 91
3.9.4 SFC actions . 93
3.9.5 SFC function blocks . 97
3.9.6 “Indicator” variables. 97
3.10 Scheduling, concurrency and synchronization mechanisms. 99
3.10.1 Operating system issues . 99
3.10.2 Task scheduling . 103
3.10.3 Semaphores. 105
3.10.4 Messaging. 107
3.10.5 Time stamping . 109
3.11 Communication facilities in ISO/IEC 9506-5 and IEC 61131-5 . 109
3.11.1 Communication channels. 111
3.11.2 Reading and writing variables . 111
3.11.3 Communication function blocks . 111
3.12 Recommended programming practices. 113
3.12.1 Global variables . 113
3.12.2 Jumps in function block diagram (FBD) language. 115
3.12.3 Multiple invocations of function block instances in FBD. 115
3.12.4 Coupling of sequential function chart (SFC) networks . 115
3.12.5 Dynamic modification of task priorities. 117
3.12.6 Execution control of function block instances by tasks . 117
3.12.7 Use of RTC (real time clock) function blocks. 117
4 Implementation guidelines . 119
4.1 Resource allocation. 119
4.2 Implementation of data types. 119
4.2.1 REAL and LREAL data types . 119
4.2.2 Character strings. 119
4.2.3 Time data types. 121
4.2.4 Multi-element variables. 121
4.3 Execution of functions and function blocks . 121
4.3.1 Functions . 123
4.3.2 Function blocks . 123
4.4 Implementation of sequential function charts (SFCs) . 125
4.5 Task scheduling. 125
4.5.1 Classification of tasks. 127
4.5.2 Task priorities . 127
4.6 Error handling . 129
4.6.1 Error handling mechanisms . 129
4.6.2 Run-time error handling procedures. 133
– 6 – TR 61131-8 © CEI:2000
Articles Pages
4.7 Interface système. 136
4.8 Conformité . 136
4.8.1 Déclaration de conformité. 136
4.8.2 Jeux d'instructions d'automates . 138
4.8.3 Essais de conformité . 138
4.9 Compatibilité avec la CEI 60617-12, la CEI 60617-13 et la CEI 60848. 138
5 Exigences pour PSE (environnement de support de programmation). 138
5.1 Interface utilisateur . 138
5.2 Ecriture des programmes, des fonctions et des blocs fonctionnels . 140
5.3 Conception et configuration des applications . 142
5.4 Compilation séparée . 142
5.5 Séparation entre l'interface et le corps. 146
5.5.1 Invocation d'une fonction à partir d'une unité de programmation. 146
5.5.2 Déclaration et invocation d'une instance de bloc fonctionnel . 146
5.6 Etablissement des liens entre les éléments de configuration et les programmes . 148
5.7 Gestion de bibliothèques . 154
5.8 Outils d'analyse. 156
5.8.1 Simulation et débogage . 156
5.8.2 Estimation des performances . 156
5.8.3 Analyse des boucles d'asservissement . 156
5.8.4 Analyse des SFC. 158
5.9 Exigences pour la documentation . 164
5.10 Sécurité des données et des programmes . 164
5.11 Facilités en ligne . 164
Bibliographie . 166
Index. 168
Figure 1 – Application distribuée . 16
Figure 2 – Applications autonomes . 18
Figure 3 – Balayage d'un programme cyclique . 20
Figure 4 – Bloc fonctionnel BCD_DIF a) Interface externe, b) Corps. 36
Figure 5 – Bloc fonctionnel SBCD_DIFF a) Définition du type de donnée structurée
SBCD_BYTE, b) Interface externe, c) Corps . 38
Figure 6 – Exemple en littéral structuré (ST) d'utilisation de données de type heure . 40
Figure 7 – Exemple d'utilisation de tableau . 42
Figure 8 – Exemples d'utilisation de VAR_IN_OUT. 46
Figure 9 – Masquage des instances du bloc fonctionnel a) Déclaration du type de bloc
fonctionnel contenu b) Déclaration du type de programme conteneur c) Visibilité des
instances de blocs fonctionnels . 52
Figure 10 – Mise en place d'une instance de bloc fonctionnel référencée indirectement
a) Mise en place en tant que variable en entrée b) Mise en place en tant que variable
d'entrée/sortie c) Mise en place en tant que variable externe. 58
Figure 11 – Accès à une instance d'un bloc fonctionnel référencée indirectement. 60
Figure 12 – Invocation d'une instance de bloc fonctionnel référencée indirectement
a) Déclaration et invocation littérale; b) Invocation graphique; c) Passage littéral d'un nom
d'instance; d) Passage graphique du nom d'instance. 64
Figure 13 – Estimation des durées des fonctionnalités déclenchées par des fronts
a) Exemple de réseau b) Estimation du cas le plus défavorable . 72
TR 61131-8 © IEC:2000 – 7 –
Clause Page
4.7 System interface . 137
4.8 Compliance. 137
4.8.1 Compliance statement. 137
4.8.2 Controller instruction sets. 139
4.8.3 Compliance testing. 139
4.9 Compatibility with IEC 60617-12, IEC 60617-13 and IEC 60848 . 139
5 Programming support environment (PSE) requirements . 139
5.1 User interface . 139
5.2 Programming of programs, functions and function blocks . 141
5.3 Application design and configuration . 143
5.4 Separate compilation. 143
5.5 Interface/body separation . 147
5.5.1 Invocation of a function from a programming unit. 147
5.5.2 Declaration and invocation of a function block instance. 147
5.6 Linking of configuration elements with programs. 149
5.7 Library management . 155
5.8 Analysis tools. 157
5.8.1 Simulation and debugging . 157
5.8.2 Performance estimation. 157
5.8.3 Feedback loop analysis . 157
5.8.4 SFC analysis . 159
5.9 Documentation requirements. 165
5.10 Security of data and programs. 165
5.11 On-line facilities . 165
Bibliography . 167
Index. 169
Figure 1 – Distributed application. 17
Figure 2 – Stand-alone applications . 19
Figure 3 – Scanning a cyclic program . 21
Figure 4 – Function block BCD_DIFF a) External interface b) Body . 37
Figure 5 – Function block SBCD_DIFF a) Definition of structured data type SBCD_BYTE b)
External interface c) Body. 39
Figure 6 – Structured text (ST) example of time data type usage. 41
Figure 7 – Example of array usage. 43
Figure 8 – Examples of VAR_IN_OUT usage . 47
Figure 9 – Hiding of function block instances a) Declaration of contained function block
type b) Declaration of containing program type c) Visibility of function block instances. 53
Figure 10 – Establishing an indirectly referenced function block instance
a) Establishment as input variable b) Establishment as input/output variable
c) Establishment as external variable. 59
Figure 11 – Access to an indirectly referenced function block instance . 61
Figure 12 – Invocation of an indirectly referenced function block instance a) Textual
declaration and invocation b) Graphical invocation c) Textual passing of instance name
d) Graphical passing of instance name . 65
Figure 13 – Timing of edge triggered functionality a) Example network
b) Worst-case timing .73
– 8 – TR 61131-8 © CEI:2000
Figure 14 – Exemple de contrôle d'exécution (voir article F.4 de la CEI 61131-3)
a) Langage ST sans EN/ENO b) Langage FBD avec EN/ENO . 76
Figure 15 – Exemple de bloc action . 78
Figure 16 – Chronométrage des actions booléennes a) Action N (non stockée) b) Action P
(pulsée) c) Action S/R ((actionnée/stoppée) . 82
Figure 16 – Chronométrage des actions booléennes (suite) d) Action L (limitée dans
le temps) e) Action D (différée) . 84
Figure 16 – Chronométrage des actions booléennes (suite) f) Action SD (stockée et
différée) g) Action DS (différée et stockée) . 86
Figure 16 – Chronométrage des actions booléennes (suite) h) SL (stockée et limitée
dans le temps). . 88
Figure 17 – Exemple d'action programmée non booléenne. 90
Figure 18 – Utilisation du qualificateur P (pulsion) a) Fragment en SFC; b) Corps incorrect
pour l'action A15 (langage ST) c) Corps correct pour l'action A15 (langage ST)
d) Corps correct pour l'action A15 (langage FBD). 92
Figure 19 – Exemple d'action SFC activée par SFC . 94
Figure 20 – Bloc fonctionnel SFC a) Interface externe b) Corps. 98
Figure 21 – Phases essentielles de la création d'une unité d'organisation de programmes
(POU). . 140
Figure 22 – Phases essentielles de la création d'une application . 142
Figure 23 – Compilation séparée de fonctions et de blocs fonctionnels sans références
externes . . 144
Figure 24 – Compilation d'un programme avec accès à des variables externes ou
représentées directement . 144
Figure 25 – Compilation d'une fonction dont le corps contient une invocation d'une autre
fonction a) Déclaration d'un exemple de fonction b) Compilation d'un exemple de fonction . 146
Figure 26 – Compilation d'un programme contenant des instances locales de blocs
fonctionnels b) Compilation d'un exemple de programme a) Programme d'exemples de
déclaration . . 148
Figure 27 – Exemple de compilation séparée a) Esquisse d'unités de programmation à
compiler b) Compilation séparée. 152
Figure 28 – Processus de configuration a) Déclaration de la configuration b) production
d'une application avec liens . 154
Figure 29 – Etapes de réduction . 158
Figure 30 – Réduction des SFC a) Pas de réduction demandée selon la règle
de terminaison 1 b) Pas de réduction demandée selon la règle de terminaison 2
c) SFC irréductible (pas sûr); d) SFC irréductible (inaccessible) . 162
Tableau 1 – Eléments de la CEI 61131-3 traitant de l'encapsulage et du masquage . 26
Tableau 2 – Différences entre systèmes multi-utilisateurs et systèmes en temps réel . 102
Tableau 3 – Mécanismes de traitement d'erreurs recommandés. 130
TR 61131-8 © IEC:2000 – 9 –
Figure 14 – Execution control example (see clause F.4 of IEC 61131-3)
a) ST language without EN/ENO b) FBD language with EN/ENO . 77
Figure 15 – Example of an action block. 79
Figure 16 – Timing of Boolean actions a) N (non-stored) action b) P (pulse) action
c) S/R (set/reset) action. . 83
Figure 16 – Timing of Boolean actions d) L (time limited) action e) D (time delayed) action. 85
Figure 16 – Timing of Boolean actions f) SD (stored and time delayed) g) DS (time
delayed and stored) . . 87
Figure 16 – Timing of Boolean actions h) SL (stored and time limited) action. 89
Figure 17 – Example of a programmed non-Boolean action . 91
Figure 18 – Use of pulse (P) qualifier a) SFC fragment b) Incorrect body for action A15
(ST language) c) Correct body for action A15 (ST language) d) Correct body for action A15
(FBD language) . . 93
Figure 19 – Example of an SFC action enabled by an SFC. 95
Figure 20 – An SFC-function block a) External interface, b) Body. 99
Figure 21 – Essential phases of program organization unit (POU) creation . 141
Figure 22 – Essential phases of application creation . 143
Figure 23 – Separate compilation of functions and function blocks without external
reference. . 145
Figure 24 – Complication of a program which access to external or directly represented
variables . . 145
Figure 25 – Compilation of a function whose body contains an invocation of another
function a) Declaration of example function b) Compilation of example function. 147
Figure 26 – Compilation of a program containing local instances of function blocks
a) Declaration of example program b) Compilation of example program . 149
Figure 27 – Separate compilation example a) Sketch of programming units to be compiled
b) Separate compilation. 15 3
Figure 28 –Configuration process a) Declaration of the configuration b) Production
of the linked application . 155
Figure 29 – Reduction steps . 159
Figure 30 – Reduction of SFCs a) No reduction required as per termination rule 1
b) No reduction required as per termination rule 2 c) An irreducible (unsafe) SFC
d) An irreducible (unreachable) SFC . 163
Table 1 – IEC 61131-3 elements supporting encapsulation and hiding. 27
Table 2 – Differences between multi-user and real-time systems. 103
Table 3 – Recommended error handling mechanisms . 131
– 10 – TR 61131-8 © CEI:2000
COMMISSION ÉLECTROTECHNIQUE INTERNATIONALE
___________
AUTOMATES PROGRAMMABLES –
Partie 8: Lignes directrices pour l'application et la mise en oeuvre
des langages de programmation
AVANT-PROPOS
1) La CEI (Commission Électrotechnique Internationale) est une organisation mondiale de normalisation composée
de l'ensemble des comités électrotechniques nationaux (Comités nationaux de la CEI). La CEI a pour objet de
favoriser la coopération internationale pour toutes les questions de normalisation dans les domaines de
l'électricité et de l'électronique. A cet effet, la CEI, entre autres activités, publie des Normes internationales.
Leur élaboration est confiée à des comités d'études, aux travaux desquels tout Comité national intéressé par le
sujet traité peut participer. Les organisations internationales, gouvernementales et non gouvernementales, en
liaison avec la CEI, participent également aux travaux. La CEI collabore étroitement avec l'Organisation
Internationale de Normalisation (ISO), selon des conditions fixées par accord entre les deux organisations.
2) Les décisions ou accords officiels de la CEI concernant les questions techniques représentent, dans la mesure
du possible, un accord international sur les sujets étudiés, étant donné que les Comités nationaux intéressés
sont représentés dans chaque comité d’études.
3) Les documents produits se présentent sous la forme de recommandations internationales. Ils sont publiés
comme normes, spécifications techniques, rapports techniques ou guides et agréés comme tels par les Comités
nationaux.
4) Dans le but d'encourager l'unification internationale, les Comités nationaux de la CEI s'engagent à appliquer de
f
...










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...