Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
IEC 61131-3 Tutoriel Welcom in the notes view,
showing you the notes / additional text for this presentation Success!
2
Harmoniser la manière de voir le contrôle
Le futur est là Eelco van der Wal Managing Director PLCopen Trad.: J.M. Boissard This presentation is not about standards It is about the way people look to control
3
Pourquoi? Qu’est-ce qui cloche ?
Fiction? Imaginez … * Vous travaillez dans le domaine du contrôle industriel * Avec 4 marques de manufacturiers * Chacun utilisant un dialecte différent pour chacun de ses langages Luttant pour harmoniser vos programmes entre vos programmeurs, vos ingénieurs électrique et votre personnel d’entretien dans l’usine * et découvrant que vos concurrents font mieux que vous Pourquoi? Qu’est-ce qui cloche ? If the situation above looks like your reality………………
4
... Et un tel standard existe
C’est la jungle !!!!!! Tous ces problèmes peuvent être résolus en grande partie par un standardisation ... Et un tel standard existe …….. you’d better harmonize the way you all look to control
5
IEC “La meilleure chose qui pouvait arriver dans le contrôle industriel” “The best thing that happened to industrial control” Sugar Lantic on Automation Maillist … via the IEC standard First, let us take a closer look into IEC This is the english version (waving with the standard itself). It contains a lot of information, so it is better if we focus to the benefits for you.
6
Les 7 parties du standard IEC 61131
- 1 Présentation générale, définitions - 2 Quincaillerie (Hardware) - 3 Langages de programmation - 4 Guides d’utilisation - 5 Spécifications du service de messagerie (communications) - 7 Logique floue (Fuzzy Logic) - 8 Guides d’implémentation As you can see it consists of five parts. Part 1 till 3 are International Standards Part 1 provides the general overview Part 2 defines the requirements and test procedures for the hardware. These include elelctrical, mechanical and functional requirements service, storage and transportation conditions and test methods and procedures for verification of compliancy Part 3 deals with Programming Languages. These programming languages not only suit Programmable Controllers, but effectively every environment within industrial control and automation. There are many ways to look at this standard…...
7
IEC 61131-3 Langages de programmation / Programmation du contrôle industriel
… but just to make sure we are all talking about the same: the programming languages deals with the interface between the programmer and the control system or more direct: what this man sees on his screen L’interface entre le programmeur et le système de contrôle
8
IEC 61131-3 Langages de programmation / Programmation du contrôle industriel
...avec le support pour les gens ...avec chacun leur approche or, within IEC , how these people interface to ther control, no matter which background / color, or level current environments incorporate them all Meaning: support for teams with people of different level or background
9
Quels sont les avantages d’un tel standard ?
see above
10
Utilisateur? Quels utilisateurs?
Procédé séquentiel Procédé continu Intégrateur de système VOUS ?? Formation Programmation Thefirst problem is: which users? Where are you, or your company, in this picture? Maintenance Installation
11
Utilisateur? Quels utilisateurs?
Lignes de production automobile Usine d’épuration Industrie Agroalimentaire et conditionnement Fabrication de câble Stérilisation de procédés pharmaceutique ou de fabrication de semi-conducteurs Manège de parc d’attraction Usine de traitement de déchets radioactifs Cette grande diversité exige beaucoup de différentes compétences, de différentes approches IEC is used in such a tremendous broad area, that we only can make some general statements about the advantages
12
Quels sont les avantages d’un tel standard ?
Réduire le gaspillage de ressources humaines (dans la formation, le déverminage, la maintenance et la documentation) see above On a à l’apprendre une fois et une seule fois...
13
Quels sont les avantages d’un tel standard ?
Réduire le gaspillage de ressources humaines (dans la formation, le déverminage, la maintenance et la documentation) Se concentrer sur la solution du problème via la conception de programmes modulaires ré-utilisables (Réduction de l’investissement pour l’application et de la dépendance aux fournisseurs) see above Concentration sur la solution elle-même et moins sur le comment (qui, quoi...) la faire
14
Quels sont les avantages d’un tel standard ?
Réduire le gaspillage de ressources humaines (dans la formation, le déverminage, la maintenance et la documentation) Se concentrer sur la solution du problème via la conception de programmes modulaires ré-utilisables (Réduction de l’investissement pour l’application et de la dépendance aux fournisseurs) Réduire les erreurs d’interprétation et de compréhension Les langage disparaisse devant la structure et la compréhension devant la recette. Les gens impliqués d’objectifs différents se concentrent sur l’essentiel, donc moins d’erreur
15
Quels sont les avantages d’un tel standard ?
Réduire le gaspillage de ressources humaines (dans la formation, le déverminage, la maintenance et la documentation) Se concentrer sur la solution du problème via la conception de programmes modulaires ré-utilisables (Réduction de l’investissement pour l’application et de la dépendance aux fournisseurs) Réduire les erreurs d’interprétation et de compréhension Réutiliser des techniques de programmation dans différents environnements (Contrôle industriel général) IEC est utilisé dans un large éventail d’applications:Contrôle industriel en général
16
Quels sont les avantages d’un tel standard ?
Réduire le gaspillage de ressources humaines (dans la formation, le déverminage, la maintenance et la documentation) Se concentrer sur la solution du problème via la conception de programmes modulaires ré-utilisables (Réduction de l’investissement pour l’application et de la dépendance aux fournisseurs) Réduire les erreurs d’interprétation et de compréhension Réutiliser des techniques de programmation dans différents environnements (Contrôle industriel général) Combiner harmonieusement différents composants, et procédures de différents projets, locations, compagnies ou pays and is not restricited to one location or project: for instance function blocks can be reused over an over again
17
Quels sont les avantages d’un tel standard ?
Réduire le gaspillage de ressources humaines (dans la formation, le déverminage, la maintenance et la documentation) Se concentrer sur la solution du problème via la conception de programmes modulaires ré-utilisables (Réduction de l’investissement pour l’application et de la dépendance aux fournisseurs) Réduire les erreurs d’interprétation et de compréhension Réutiliser des techniques de programmation dans différents environnements (Contrôle industriel général) Combiner harmonieusement différents composants, et procédures de différents projets, locations, compagnies ou pays Prendre soin de votre investissment n’est jamais vain, en avance sur le futur... Accroitre l’interconnectivité des procédés (protection de l’investissement)
18
Quels sont les avantages d’un tel standard ?
Réduire le gaspillage de ressources humaines (dans la formation, le déverminage, la maintenance et la documentation) Se concentrer sur la solution du problème via la conception de programmes modulaires ré-utilisables (Réduction de l’investissement pour l’application et de la dépendance aux fournisseurs) Réduire les erreurs d’interprétation et de compréhension Réutiliser des techniques de programmation dans différents environnements (Contrôle industriel général) Combiner harmonieusement différents composants, et procédures de différents projets, locations, compagnies ou pays Accroître l’inter connectivité des procédés (protection de l’investissement) <<no text initially>> …. . But there was this other buzzword .. PLCopen
19
Les Avantages clés de IEC 61131-3
Programmes structurés – par l’utilisation de configurations, ressources et des unités d’organisation de programmes UOP (sections) Program Organization Units (POUs) Strucure solide des données – à travers l’utilisation de langages qui restreignent les opérations aux types de variables appropriées Contrôle de l’exécution – par le découpage en tâches Conduite de séquences complexes – par les grafcets (Sequential Function Charts, SFC) Encapsulation – par l’utilisation de structures et de données complexes des UOPs (POUs), In general, one can reconcile the following strong points of IEC see slide
20
Système de contrôle de fermentation Courtoisie de Omron Electronics
Un exemple: Système de contrôle de fermentation Courtoisie de Omron Electronics Oui, mais en pratique ??? Regardons un exemple de contrôle de fermentation
21
Procédé de fermentation
Bande chauffante Agent acide Agent basique Valve de sortie du produit Vidage Senseur de pH Senseur de température Valve d’alimentation Remplissage agitateur En gros le procédé. Un grand réservoir avec une valve d’alimentation Le liquide peut être chauffé par convection par une bande chauffante Et malaxée par un agitatteur On peut ajouter un agent acide et un agent basique.
22
Décomposition du procédé de fermentation
Séquence principale e.g. Principales séquences: - remplissage, chauffage, brassage, fermentation, tirage, nettoyage. Contrôle des valves e.g. Opération des valves de remplissage et de vidage Contrôle de Temperature pour contrôller la température du réservoir et moduler le chauffage Contrôl de l’agitateur pour activer le moteur de l’agitateur selon les consignes de la séquence principale Control du pH pour contrôller l’acidité du produit à fermenter et ajouter au besoin un agent acide ou basique On décompose le systèeme de la manière suivante (see slide)
23
Programme du contrôle de la fermentation
Cont. Température Séquence principale FillState Agitation pH PV SetPoint Temp Positions des valves Vitesse d’agitation Capteur de température Capteur de pHr Durée Arrêt Départ Start Duration Stop Control du pH Agent basique AddAlkali Agent acide AddAcid Contrôle de l’agitateur Vitesse de l’agitateur MotorSpeed Contrôle des valves Remplissage Fill Vidage Harvest State Refroidi Cool Chauffe Heat Si on représente le programme en digramme de bloc de fonction (FBD) Ça peut ressembler à ça Dans ce cas chaque blocs doit être défini, ce qui est un des premier pas vers la solution (à lire de gauche à droite) (à gauche, les entrées, à droite, les sorties)
24
Séquence principale (SFC)
N Initialisation S1 N Remplir S2 N Chauffer S3 N Fermenter S4 N Vider S5 N Nettoyer S6 Montre les principales phases du procédé For the main sequence we would use the structuring tool Sequential Function Chart. We start at the top with the Initialization: since we do not know the status of the system when we first switch it on, we got to check here the position of the valves, etc. Then we start filling till the right level has been reached. Next phase is the heating till the fermentation process starts If it starts, we get to the next phase: the actual fermentation process control part After completion, we harvest, and after that clean, and we are ready to restart at the top. This decomposition gives everybody involved a clear overview which sequences are involved, and how it is further decomposed into the function blocks which can be programmed in any of the four languages. Or, stated differently: our user requirement specification is (nearly) done!
25
IEC Survol...
26
Le Standard IEC 61131-3 Éléments communs Common Elements
Langages de programmation Programming Languages Il y a bien des façons de voir cette 3ème partie du standard IEC 1131. Une manière simple: la décomposition en deux blocs: Les éléments communs valides pour l’application Les langages de programmation Regardons un peu mieux les éléments communs...
27
Le Standard IEC 61131-3 Éléments communs Common Elements
Langages de programmation Programming Languages Nous reviendrons sur les éléments communs un peu plus tard…
28
Les Langages de Programmation IEC 61131-3
Liste d’instruction Texte structuré Instruction List Structured Text LD A ANDN B ST C AND A C B C:= A AND NOT B A B C -| |--|/| ( ) Diagramme bloc Diagramme en echelle Function Block Diagram Ladder Diagram Regarding the five standardised programming languages no one should be too worried, because all languages except Structured Text have been widely known and utilised for years. Different regions of the industrial world as well as different fields of applications have contributed to the selection of those languages. 15
29
Les éléments communs comprennet :
Variables, Types de données et Déclarations Configuration, Ressources et Tâches Fonctions, Fonction Blocs et Programmes Grafcet (Sequential Function Charts)
30
IEC 61131-3 : Éléments communs
Variables Representation symbolique via les étiquettes (labels) Zone réservées pour le mapping des E/S Le code est indépendant du hardware Qu’est-ce que ceci? The first to mention are Datatypes and Variables With datatyping every variable is assigned to a datatype. Why? Well, IEC is designed to help you to find errors as early as possible in the programming phase. As you all know, that is the fastest and cheapest way. Now you know if the data is a string, a date, and integer or 16 bits of Boolean input. There is no confusion about this anymore, and there is no conflict between different people using the textual representation (that means, the name of the variable)
31
IEC 61131-3 : Éléments communs
Types de données comme: BOOL BYTE INTEGER : SINT, INT, DINT, LINT USINT, UINT, UDINT, ULINT REAL, LREAL DATE TIME_OF_DAY DATE_AND_TIME STRING Examples of standard data types are Boolean, Byte Integer, Real, which you all probably know, but also Date, Time_of_Day and String. Datatyping avoids a lot of errors, like dividing an integer with a date.
32
Déclaration de variable
Les variables sont déclarées par une étiquette textuelle: Un but: local (ou global) Passage paramètres explicites par des variables (entrées ou sorties) allocation de la mémoire Lors de leur déclaration on peut y inclure les valeurs initiales Associées au Unité d’Organisation de Programme (Fonction, Bloc Fonction ou Programme)
33
Déclaration de variable
Mot clé Usage de la variable VAR Interne à l’unité d’organisation (POU) VAR_INPUT Origine externe, non modifiable dans l’unité VAR_OUTPUT Générée par l’unité aux entités externes VAR_IN_OUT Origine externe, mais peuvent être modifiée par l’unité VAR_EXTERNAL Fournie par configuration via VAR_GLOBAL VAR_GLOBAL Déclaration variable globale VAR_ACCESS Déclaration du chemin d’accès RETAIN Variables rétentives CONSTANT Constante (ne peu pas être modifiée) AT Assignement d’une location
34
Déclarations de variable : exemple
CONDITION_RED : BOOL; IBOUNCE : WORD; MYDUB : DWORD; AWORD, BWORD, CWORD: INT; OKAY : STRING[10] := ‘OK’; END_VAR
35
IEC 61131-3 : Éléments Communs
Types de données & Variables Mais aussi: Vos propres types de données… Et types dérivés In addition to these standard dataypes, you can create your own Once defined you can use them all over again This can be very helpful within your own systems
36
Types de données dérivés
Dérivation directe depuis des types élémentaires e.g.: TYPE R : REAL ; END_TYPE Type de données énumérés, e.g.: TYPE ANALOG_SIGNAL_TYPE : (SINGLE_ENDED, DIFFERENTIAL) ; END_TYPE Sous-groupe de type de données (Sub-range), e.g.: TYPE ANALOG_DATA : INT ( ) ; END_TYPE Types de données en tableau (Array), e.g.: TYPE ANALOG_16_INPUT_DATA : ARRAY [1..16] OF ANALOG_DATA ; END_TYPE
37
Vos propres types de données: types dérivés
38
Vos propres types de données: types dérivés
TYPE ANALOG_DATA : INT ( ) ; END_TYPE
39
Vos propres types de données: types dérivés
TYPE ANALOG_SIGNAL_TYPE : (SINGLE_ENDED, DIFFERENTIAL) ; END_TYPE
40
Variables directes : % Préfixe Signification Type par défaut I Entrée
Q Sortie M Bit mémoire X Bit de mot BOOL None Bit de mot BOOL B Byte (8 bits) BYTE W Word (16 bits) WORD D Double word (32 bits) DWORD L Long (quad) word (64 bits) LWORD
41
IEC 61131-3 : Éléments Communs
Types de données & Variables Configuration Ressources Tâches Back to the common elements For this following part , we look at the defined Software Model.
42
IEC 61131-3 Modèle de programme
Configuration At the highest level, the entire software required to solve a particular control problem is called a Configuration. Communication Function
43
IEC 61131-3 Modèle de programme
Configuration Ressource Ressource Dans une configuration, on peut définir une ou plusieurs ressources. Une ressource est comme un CPU dans le système. Communication Function
44
IEC 61131-3 Modèle de programme
Tâche Ressource Configuration Une ressource peut avoir une ou plusieurs tâches . Les tâches contrôlent les différentes parties du programme….. Communication Function
45
IEC 61131-3 Modèle de programme
Tâche Programme Ressource Configuration Communication Function Programs can be written in any of the IEC languages Chemin du contrôle de l’exécution
46
IEC 61131-3 Modèle de programme
Chemin d’accès FB Tâche Programme Ressource Configuration Fonction Bloc In the end programs call Functions or Function Blocks These are the basic building blocks with datastructure and algorithm Chemin du contrôle de l’exécution Communication Function
47
IEC 61131-3 Modèle de programme
Variables directes et globales Chemin d’accès Chemin d’accès deVariable FB Tâche Programme Ressource Configuration Fonctions de Communication Fonction Bloc Variable Tout le monde peurt échanger leur information via les variables directes et globales, y compris avec le monde extérieur via les fonctions de communication Comparons à un PLC conventionnel Chemin du contrôle de l’exécution
48
IEC 61131-3 vs PLC conventionnel
Variables directes et globales Chemin d’accès Chemin d’accès deVariable FB Tâche Programme Ressource Configuration Fonctions de Communication Fonction Bloc Variable En rouge, un PLC conventionnel consiste en une ressource, avec une têche, contrôlant un programme Comme on peut le constater,le modèle IEC va beaucoup plus loin qu’un PLC conventionnel. Il ouvre la porte au multi-tâche et au déclanchement sur événement C’est ce qui fait du modèle IEC 1131 utilisable dans une plus grande variété d’appications qu’un PLC conventionnel... Sans à avoir à apprendre d’autre langages de programmation.
49
Configuration des éléments
Ressources Tâches Variables globales Chemins d’accès
50
Configuration, Ressources et Chemins d’accès (-Déclaration)
CONFIGURATION … END_CONFIGURATION VAR_GLOBAL … END_VAR (within CONFIGURATION) RESOURCE … ON … END_RESOURCE VAR_GLOBAL … END_VAR (within RESOURCE) PERIODIC TASK NON-PERIODIC TASK
51
IEC 61131-3 : Éléments Communs
Types de données & Variables Configuration, Ressources, Tâches Unités d’organisation de programmes (POU) Fonctions Fonction Blocs Programmes Within the common elements, the Functions, Function Blocks and Programs are called Program Organization Units. They provide you re-usability from macro level to micro level. Let us have a closer look at them,. First the functions…...
52
Fonctions ….. * Fonctions Standards
ADD, SQRT, SIN, COS, GT, MIN, MAX, AND, OR, etc. * Fonctions définies: FUNCTION SIMPLE_FUN : REAL VAR_INPUT A, B : REAL; C : REAL := 1.0; END_VAR SIMPLE_FUN := A*B/C; END FUNCTION Nous connaissons tousles fonctions Add, Square root, SINus, COSinus, Greater Than, etc., Elles sont déjà définies dans le standard. On peut aussi déclarer ses propres fonctions comme ci-après Une fois définie, cette fonction peut être utilisée aussi souvent que nécessaire La même chose pour les bloc fonction...
53
…. & Blocs Fonction Blocs Fonction Standard
They are like the software equivalent of Integrated Circuits, ICs. Like black boxes that represent a specialized control function You have standard defined function blocks, like timers, counters and triggers….
54
…. & Blocs fonction Blocs fonction standards
Blocs fonction additionnels ..and each supplier can add their own library of blocks, as long as they comply to the defined structure A temperaure control loop, or PID, is an excellent example of such a Function Block.
55
…. & Blocs fonctions Blocs fonction Blocs fonction additionels
Blocs de fonction définis And you can add your own library of Function Blocks
56
…. & Blocs fonctions Blocs fonction Blocs fonction additionnels
Blocs de fonction définis Les blocs de fonctions sont réutilisables à volonté… No matter which Function Block, they are highly re-usable : in the same program, different programs or even different projects. You can use them with any of the IEC programming languages, giving you a clear separation between different levels of programmers, or maintenance people. Their re-usability increases your efficiency, and reduces the number of errors.
57
Exemple de bloc fonction
Hysterisis Q XIN1 XIN2 EPS BOOL REAL 1 Let’s look at an example. Here shown is a function block in the programming language Function Block Diagram The FB has the name Hysterisis It has three inputs, named XIN1, XIN2 and EPS, on the left They are all of datatype REAL It has one output (on the right hand side), called Q, of type BOOL Internally, the FB cotains body code…..
58
Exemple de bloc fonction
FUNCTION_BLOCK HYSTERISIS VAR_INPUT XIN1, XIN2 : REAL; EPS : REAL; (* Hysterisis band *) END_VAR VAR_OUTPUT Q : BOOL := 0 IF Q THEN IF XIN1 < (XIN2-EPS) THEN Q := 0 (* XIN1 decreasing *) END_IF; ELSIF XIN1 > (XIN2 + EPS ) THEN Q := 1; (* XIN1 increasing *) END_FUNCTION_BLOCK Hysterisis Q XIN1 XIN2 EPS BOOL REAL 1 In this example, the body code is written in the language Structured Text It uses the inputs,does some calculation, and sets the outputs. The first part deals with the data structure, the second half with the algorithm In this case it does not use additional data. But it could. No matter which name was used for this local data inside the body, there would be no conflict with its name: one could use this name on different places, without conflict, This examle of data encapsulation takes away a big source of errors.
59
Programmes : conception hiérarchisée
Automation application Start : BOOL; Emergency : BOOL; Limit : INT; PROGRAM GLOBAL Local Type FUNCTION INPUT FUNCTION_BLOCK OUTPUT IN_OUT EXTERNAL Avec les fonctions et les bloc fonction, on peut concevoir un programme comme un réseau construit avec ces blocs de base De cette manière, les programmes complexe peuvent être décomposés en blocs fonction eux-mêmes décomposés en blocs fonctions.... Cette décomposition accélère le processus de conception et l’efficacité.
60
Modèle de Programmation
61
IEC 61131-3 : Éléments Communs
a.o. Types de données Variables Unités d’organisation de programmes * Fonctions * Blocs Fonction * Programmes Configuration, Ressources, Tâches Grafcet (SFC) * Étapes * Transitions * Blocs d’action Back to the overview of the common elements. As you can see there is one topic left. Let’s deal with it now
62
Grafcet Sequential Function Chart, SFC
Technique graphique puissante pour DÉCRIRE l’évolution séquentielle d’un programme de contrôle Utile pour décomposer un problème de contrôle Montre clairement le cheminement et aussi très efficace pour un diagnostique rapide Step N FILL Step 3 Step S Empty Transition 1 Transition 2 On peut envisager des divergence en OU pour des choix de séquence et des divergence en ET pour des séquences simultanées.
63
Grafcet Sequential Function Chart, SFC
Technique graphique puissante pour DÉCRIRE l’évolution séquentielle d’un programme de contrôle Utile pour décomposer un problème de contrôle Montre clairement le cheminement et aussi très efficace pour un diagnostique rapide Les éléments de base sont les ÉTAPES avec les BLOCS D’ACTION et les TRANSITIONS avec leur RÉCÉPTIVITÉS Choix de séquences et séquences parallèles Step N FILL Step 3 Step S Empty Transition 1 Transition 2 .
64
Le Standard IEC 61131-3 Éléments Communs Langages de programmation
Descendant Éléments Communs Ascendant Langages de programmation There is more, and it is directly related to the development systems, which by the way are called PSE’s in IEC, or Program Support Environments. If we look to the simple picture of the IEC standard, the standard allows two ways to develop your program: bottom up and top down Whichever you chose, the environment will help you through the whole process After all, software is here to help us……..
65
Les environnements de programmation au standard IEC 1131-3
La plus part offrent: Écrans graphiques de programmation Plusieurs fenêtres simultanées souris menus déroulant Aide contextuelle Vérification du code durant la conception and they do.. Many IEC programming systems offer you all you expect from modern environments. Some of the features are listed here Compare that to the cryptic character based systems, and you have an additional reason We mentioned several advantages of this standard Let us summarize them…….
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.