LISSANE ELHAQ Saâd Université Hassan. II Aïn Chock - Casablanca Ecole Nationale Supérieure d’Electricité et de Mécanique - ENSEM LISSANE ELHAQ Saâd AUTOMATES PROGRAMMABLES INDUSTRIELS (API) 1ère année Génie Electrique LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd ENSEM 2021/2022 Professeur LISSANE ELHAQ SaâdSaâd LISSANE ELHAQ 1 LISSANE ELHAQ Saâd PLAN LISSANE ELHAQ Saâd h Programmation API : - Langage LADDER - STEP 7 h Logique séquentielle - GRAFCET LISSANE ELHAQ Saâd h Introduction à la logique binaire LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Références h Historiques - Définitions LISSANE ELHAQ Saâd h Conception de la partie commade d'un système automatisé LISSANE ELHAQ Saâd 2 LISSANE ELHAQ Saâd Références Saâd 2) S. Moreno & LISSANE E. PeulotELHAQ : Le GEMMA, Modes de marches et d’arrêts, GRAFCET de coordination des tâches, Conception des Systèmes Automatisés de Production Sûrs. 1997, ELeducalivre. 3) Bernard Reeb : Développement des GRAFCETS, des machines simples aux cellules flexibles, du cahier des charges à la programmation. 1999,LISSANE Ellipses. ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 1) S. Moreno & E. Peulot : Grafcet, conception, implantation dans les automates programmables industriels. Casteilla, 2009 4) A. Reiller : Analyse et maintenances des automatismes industriels. 1999, Ellipses. LISSANE ELHAQ Saâd 3 LISSANE ELHAQ Saâd Automatisation et automatismes L’automatisation consiste à rendre automatique les opérations qui LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd exigeaient auparavant l’intervention humaine» EncyclopédiaUniversalis Buts de l’automatisation LISSANE ELHAQ(remplacée Saâd Simplifier le travail de l'humain par l’appui sur un poussoir) Augmenter la sécurité (Éviter les catastrophes) Accroître la productivité (production plus élevée, minimisation des coûts) Bouteille + bouchon. Pièce non percée Matière brute Bouteille bouchée Pièce percée Sytème Automatisé LISSANE ELHAQ Saâd de Production Pièce finie LISSANE ELHAQ Saâd 4 LISSANE ELHAQ Saâd Comment automatiser un système de production ? LISSANE ELHAQ Saâd Définition : LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd → Solution : utilisation de systèmes à base de microprocesseursͲͲхƵƚŽŵĂƚĞ Programmable Industriel (API). ⇒ logique programmée L'Automate Programmable Industriel LISSANE ELHAQ (API) Saâdest un appareil électronique programmable, adapté à l'environnement industriel, qui réalise des fonctions d'automatisme pour assurer la commande de préactionneurs et d'actionneurs à partir d'informations logique, analogique ou numérique;ĐĂƉƚĞƵƌƐͿ. Contraintes du milieu industriel : - température, - humidité, - poussières, - vibrations, - parasites électromagnétiques, … LISSANE ELHAQ Saâd Sociétés qui commercialise des API Allen Bradley Omron (japon) Siemens Schneider (France) LISSANE ELHAQ Saâd 5 LISSANE ELHAQ Saâd Les API sont utilisés dans divers secteurs d'activités, que l'on peut regrouper en trois catégories : - Les systèmes automatisés de production (SAP) LISSANE ELHAQ Saâd - La production d'énergie (centrales nucléaires, thermiques, ͘͘͘Ϳ - L'industrie agro-alimentaire, LISSANE ELHAQpharmaceutique, Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd - L'industrie automobile, la métallurgie, la pétrochimie, - L'automatisation des bâtiments (GTB : Gestion Technique des Bâtiments), dont les objectifs sont : - L'amélioration du confort (gestion des ascenseurs, régulation de températures...), - La sécurité (alarmes anti-intrusion, détection de fumées...) - La réduction des dépenses énergétiques (gestion automatisée des consignes de température et d'éclairage...) LISSANE ELHAQ Saâd - L'automatisation de machines spéciales : - Engins de chantiers (grues...), LISSANE ELHAQ Saâd 6 LISSANE ELHAQ Saâd Structure d’un automatisme La partie commande LISSANE ELHAQ Saâd La partie opérative LISSANE ELHAQ Saâd – Moteurs électriques (CA ou CC) LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd – Automates programmables – Vérins (pneumatiques ou hydrauliques) – Vannes (électriques ou pneumatiques) – Capteur de position, détecteur de pièce. – Etc. LISSANE ELHAQ Saâd Machine de perçage Machine à remplir les bouteilles etc.. LISSANE ELHAQ Saâd 7 LISSANE ELHAQ Saâd Structure d’un automatisme (suite) La partie relation – Interfaces Homme-Machine LISSANE ELHAQ Saâd Les outils de conception et développement sont : – Logique combinatoire et logique séquentielle. – Le GRAFCET ; – Le GEMMA ; Le cahier des charges d'un projet d'automatisation LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd − Voyants, indicateurs − Poussoirs, sélecteurs LISSANE ELHAQ Saâd – Panneaux de commande LISSANE ELHAQ Saâd – C’est un contrat entre le client et le fournisseur. − Juridiques (responsabilités, accidents, ...) − Commerciales (prix, garanties, …) − Techniques LISSANE ELHAQ Saâd 8 LISSANE ELHAQ Saâd Exemple de SAP: chaîne de palettisation (palettes de cartons). Transformer l’énergie Acquérir les états du système Capteur de Position LISSANE ELHAQ Saâd Agir sur la matière d’œuvre palettes de cartons Ventouse, convoyeur Traiter les données Communiquer LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Moteur, Vérin Distribuer l’énergie LISSANE ELHAQ Saâd API Terminaux de dialogue LISSANE ELHAQ Saâd Contacteur électrique Distributeur pneumatique 9 LISSANE ELHAQ Saâd Organisation fonctionnelle Schéma de l’automate Mémoire Exprimé en Mo L’unité centrale : processeur LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Fonctions : Lecture des informations d’entrée boutons poussoirs, LISSANE:capteurs, ELHAQ Saâd interrupeurs, .. Exécution de la totalité des instructions du programme en mémoire Écriture des actions en sortie : Contacteurs (moteur), distributeurs (vérin), variateur de vitesse, ... 10 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Organisation fonctionnelle (suite) Sortie DC (24 V) -> commande actionneur (Moteur, Vérin, etc..) LISSANE ELHAQNature Saâd des informations traitées par l'automate : Mémoire Exprimé en Mo LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Entrées/Sorties Digitales (numériques : mot binaire) Entrées analogique -> mesure pression, température, etc.. ➢Tout ou rien (T.O.R.) : deux états (vrai/faux, 0 ou 1 …), type d'information délivrée par un détecteur, un bouton poussoir (fermé ou ouvert) … ➢Analogique : information continue avec valeur comprise dans (4 - 20 mA) LISSANE Saâd ouELHAQ (0 - 10 V). Type d'information délivrée par capteur (pression, température …) ➢Numérique ŽƵĚŝŐŝƚĂů: mots codés binaire. Exemple mot 8 bits (01100011) LISSANE ELHAQ Saâd 11 LISSANE ELHAQ Saâd Principe de câblage avec un automate Entrées Boutons Sorties LISSANE ELHAQ Saâd Sorties LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Actionneur Pre-Actionneur Electro-Pneumatique (24 V) LISSANE ELHAQ Saâd Entrées Logique Capteurs LISSANE ELHAQ Saâd 12 LISSANE ELHAQ Saâd Introduction à la logique combinatoire ¤ Deux états fondamentaux et distincts; ¤ Vrai/Faux, Marche/Arrêt, Oui/Non. Par convention: ¤ Un état est représenté par « 1 »; ¤ L’autre est représenté par « 0 ». LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Systèmes binaires LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd En 1847, George Boole invente une algèbre pour traiter les variables binaires. LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 13 LISSANE ELHAQ Saâd Fonctions logiques utilisant des interrupteurs Au repos A=0 (bouton fermé) ALISSANE ELHAQ Saâd A = 0 -> Lampe = 1 Lampe A Lampe V A 1 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd En automatisation, on utilise des interrupteurs et des relais pour représenter les fonctions logiques. Fonction logique NON Interrupteur normalement fermé Lampe LISSANE ELHAQ Saâd Fonction logique OU LISSANE ELHAQ Saâd Lampe A + B 14 LISSANE ELHAQ Saâd Fonction logique ET Utilise deux interrupteurs normalement ouvert en série. B Lampe V LISSANE ELHAQ Saâd Fonction logique NON-ET A B & Lampe Utilise deux interrupteurs normalement fermés en parallèle. B A V Lampe AB A B A LISSANE ELHAQ Saâd & B Lampe LISSANE ELHAQ Saâd A B >=1 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Lampe A B LISSANE ELHAQ Saâd A Lampe Lampe 15 LISSANE ELHAQ Saâd Fonctions logiques utilisant des relais A A LISSANE ELHAQ Saâd Bobine LISSANE ELHAQ Saâd Contact normalement ouvert A LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd En automatisation, on utilise les relais pour réaliser des fonctions logiques. LISSANE ELHAQ Saâd Le relais est une composante électromécanique. Contact normalement fermé 16 LISSANE ELHAQ Saâd NON Fonction logique Relais avec un contact normalement fermé Diagramme en échelle (Ladder) Bobine d'entrée B Lampe LISSANE ELHAQ Saâd Lampe = B Fonction logique ET 2 relais avec des contacts N.O. en série. V V Bobines d'entrée Diagramme en échelle (Ladder) V++ c d C D C D Lampe LISSANE ELHAQ Saâd V B LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd b V++ LISSANE ELHAQ Saâd Lampe = C . D LISSANE ELHAQ Saâd 17 LISSANE ELHAQ Saâd Fonction logique OU LISSANE ELHAQ Saâd Bobines d'entrée Diagramme en échelle (Ladder) V++ e V E E F f V Lampe LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 2 relais avec des contacts N.O. en parallèle. LISSANE ELHAQ Saâd F Lampe = C + D LISSANE ELHAQ Saâd 18 LISSANE ELHAQ Saâd Fonction logique NON-OU Bobines d'entrée Diagramme en échelle (Ladder) LISSANE ELHAQ Saâd V++ i I I V Lampe J j V LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 2 relais avec des contacts N.F. en parallèle. LISSANE ELHAQ Saâd J LISSANE ELHAQ Saâd Lampe = I + J 19 LISSANE ELHAQ Saâd La Programmation IEC 1131-3 LISSANE ELHAQ Saâd L'adressage des DonnéesƚƌĂŝƚĠĞƐƉĂƌůΖW/͗ LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd La Norme IEC 11 31-3 définit les règles d 'écriture des programmes pour les API. Cette norme définit entre autres : - Les langages de programmation utilisés, ainsi que les règles de programmation et de syntaxe associées ; LISSANE ELHAQtraitées Saâd par l'API, ainsi que les différents - Le principe d'adressage des données formats de variables éxistants. - Une Direction (Entrée, Sortie, Interne) - Un format (Bit, Octet, Mot ...) - Un numéro d'adressage (valeur numérique indiquant la position de la LISSANE ELHAQ Saâd donnée dans le plan mémoire de l'API). La syntaxe pour toute donnée est la suivante : % 'Direction' 'Format' . 'Numéro' LISSANE ELHAQ Saâd 20 LISSANE ELHAQ Saâd Exemple d'adressage de l'API SIMATIC S7-1200 de SIEMENS : L'adressage des données à la syntaxe suivante : % : indique qu'il s'agit d'une adresse LISSANE ELHAQ Saâd Exemple ĚΖĞŶƚƌĠĞƐ: capteur, détecteur, bouton poussoir etc... Pour adresser une sortie, on définit l’adresse suivante : Exemple : voyant lumineux, commande d'un contacteur ;DŽƚĞƵƌͿŽƵĚΖƵŶĞǀĂŶŶĞetc... LISSANE ELHAQ Saâd n° de l'octet dans le plan mémoire n° du bit à l'intérieur de l'octet LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd I : Entrées Q : Sorties M : Internes %I 1.0 LISSANE Saâd qui n'estELHAQ pas physiquement liée à la P.O, mais une Une variable interne est une donnée information gérée par le programme chargé dans l'API. Exemples : valeur d'un compteur, d'une temporisation, étape d'un grafcet … Notation : %Mx.x Bit interne LISSANE ELHAQ Saâd 21 LISSANE ELHAQ Saâd Le format : Notation : %xBx % I B3 ✔ Un mot est une donnée codée sur 16 bit Notation : %x W x Saâd est relié à la 3eme entrée Exemple : LISSANE Un capteurELHAQ de température analogique du rack automate. La valeur numérique correspondante sera stockée dans la variable : % IW2 ✔ Un double mot est une variable codée sur 32 bits LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Exemple : LISSANE ELHAQ Saâd ✔ Un octet est une donnée codée sur 8 bits Notation : %x DW x LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 22 Comment l’APIELHAQ reçoit-t-il les informations sur les états du processus ? Input LISSANE Saâd =1 LISSANE ELHAQ Saâd =0 Comment l’API commande-t-il le processus ? Output L’API commande le processus en connectant desELHAQ Saâd = 1 LISSANE actionneurs via les sorties à une tension de commande de 24 V par exemple. Ceci permet de démarrer ou d’arrêter un moteur, sortir ou rentrer =0 des vérins ou d’allumer etLISSANE éteindre ELHAQ des lampes. Saâd M : masse LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd pièce d'usinage ou des boutons poussoirs, qui peuvent être ouverts ou fermés, API LISSANE ELHAQ Saâd L’API reçoit les informations du processus à partir des capteurs qui sont câblés aux entrées. Capteurs : détecteurs de présence d'une 23 LISSANE Saâdest-il traité dans l’API ? Comment leELHAQ programme Le traitement du programme dans l'API est cyclique et se déroule comme suit : LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 1) En premier lieu, l'état provenant de la mémoire image des sorties (MIS) est transmis aux sorties et celles-ci sont activées ou désactivées. 2) Ensuite, le processeur, vérifie l’état des LISSANE entrées (sous tension ou non).ELHAQ L'état Saâd des entrées est enregistré dans la mémoire image des entrées (MIE). Si l'entrée est sous tension, l'information 1 ou "High". Si l'entrée n'est pas sous tension, l'information 0 ou "Low". 3) Ce processeur exécute le programme stocké en mémoire programme. Celuici est constitué d'une liste LISSANE ELHAQ Saâd d'instructions exécutées de manière séquentielle. La procédure reprend ensuite à partir du point 1. 24 LISSANE ELHAQ Saâd Comment choisir un API ? LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 25 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Langage à contact : LADDER Logiciel de programmation STEP7 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 26 LISSANE ELHAQ Saâd Logiciel de programmation STEP 7 STEP 7 comprend des langages de programmation standard : CONT (schéma à contacts ou LADDER) langage de programmation graphique. LOG (logigramme) est un langage graphiques LISSANE ELHAQ Saâd utilisés en algèbre booléenne. SCL (Structured Control Language) est un langage de programmation littéral. GRAPH : langage proche du Grafcet Etapes de développement d’applications d’automatismes avec STEP 7 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd STEP 7 est un environnement pour développer les applications d’automatismes industriels, ainsi que pour gérer et configurer les automates et les appareils IHM. LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 27 LISSANE ELHAQ Saâd Organisation du programme utilisateur Dans un programme d'automatisation, les instructions sont insérées dans des blocs : LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd a. Bloc d'organisation (OB) Le bloc d'organisation est obligatoire, et fournit la base du programme. C’est le bloc par défaut pour l'exécution cyclique du programme. b. Fonction (FC) LISSANE Saâdune opération sur un Une fonction (FC) est un blocELHAQ qui exécute ensemble de valeurs d'entrée (calculs mathématiques ou fonctions technologiques). FC stocke les résultats dans des adresses de mémoire. c. Bloc fonctionnel (FB) Un bloc fonctionnel (FB) est un sous-programme qui est exécuté lorsqu'il est appelé dans un autre bloc de code (OB, FB ou FC). Un (FB) utilise un bloc de données d'instance (DB) pour ses paramètres. Un FB peut piloter plusieurs pompes ou vannes avec des DB d'instance différents LISSANE ELHAQ Saâd contenant les paramètres de chaque pompe ou vanne. Les variables des FB sont sauvegardées dans un bloc de données appelé DB d'instance. d. Bloc de donnée d’instance (DB) : Données associées à un FB contient les variables utilisées par le bloc FB. LISSANE ELHAQ Saâd 28 LISSANE ELHAQ Saâd Schéma à contacts ou LADDER Contacts à ouverture et à fermeture et bobines forment un réseau. LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 29 LISSANE ELHAQ Saâd Schéma à contacts (CONT) ou LADDER CONT LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd DESCRIPTION Contacts à fermeture et contacts à ouverture Le contact NOT inverse l'état logique de l'entrée de flux de courant. ● S'il y a flux de courant à travers une bobine, le bit de sortie d’adresse OUT est mis à 1. S'il n'y a pas de flux de courant, le bit de sortie LISSANE Saâd d’adresse OUT est misELHAQ à 0. ● S'il y a flux de courant à travers une bobine inversée, le bit d’adresse OUT est mis à 0. S'il n'y a pas de flux de courant, le bit OUT est mis à 1. Lorsque S (mise à 1) est activé, la valeur de données à l'adresse OUT est mise à 1. Lorsque S n'est pas activé, OUT n'est pas modifié. Lorsque R (Mise à 0) est activé, la valeur de données à l'adresse OUT est mise à 0. Lorsque R n'est pas activé, OUT n'est pas modifié. L'état de ce contact est VRAI lorsqu'un front montant (0 à 1) est détecté sur le bit "IN" affecté. M_BIT : Bit ELHAQ de mémento dans lequel l'état LISSANE Saâd précédent de l'entrée est sauvegardé. L'état de ce contact est VRAI lorsqu'un front descendant (1 à 0) est détecté sur le bit IN. Le contact N ne peut pas être situé à la fin d'une branche. M_BIT : bit où l'état précédent de l'entrée est sauvegardé. 30 LISSANE ELHAQ Saâd Schéma à contacts (CONT) ou LADDER Lorsque SET_BF est activé, la valeur 1 est affectée à "n" bits en commençant à l'adresse OUT. Lorsque SET_BF n'est pas activé, OUT n'est pas modifié. n Nombre de bits à écrire. RESET_BF écrit la valeur 0 dans "n" bits en commençant à l'adresse OUT. Lorsque RESET_BF n'est pas activé, OUT n'est pas modifié. n Nombre de bits à écrire. LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Le bit "OUT" est VRAI lorsqu'un front montant (0 à 1) est détecté sur le flux de courant entrant dans la bobine. M_BIT : Bit où l'état précédent de l'entrée est sauvegardé. Le bit affecté "OUT" est VRAI lorsqu'un front descendant (1 à 0) est détecté sur le flux de courant entrant dans la bobine. LISSANE ELHAQ Saâd de l'entrée est sauvegardé. M_BIT : Bit dans lequel l'état précédent LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 31 LISSANE ELHAQ Saâd Schéma à contacts (CONT) ou LADDER ou Q DESCRIPTION L'état logique de la sortie Q est VRAI lorsqu'un front montant (0 à 1) est LISSANE Saâd détecté sur le flux de courant entrantELHAQ CLK. L'instruction P_TRIG ne peut pas être située au début ou à la fin d'un réseau. L'état logique de la sortie Q est VRAI lorsqu'un front descendant (1 à 0) est détecté sur le flux de courant entrant CLK. L'instruction P_TRIG ne peut pas être située au début ou à la fin d'un réseau. LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd CONT L'opération RS est une bascule avec mise à 1 prioritaire. Si les signaux de mise à 1 (S1) et de mise à 0 (R) sont tous deux vrais, l'adresse de sortie OUT sera à 1 (Q=1). Q suit l’état du bit OUT. L'opération SR est une bascule avec mise à 0 prioritaire où la mise à 0 domine. Si les signaux de mise à 1 (S1) et de mise à 0 (R) sont tous Saâd deux vrais,LISSANE l'adresse deELHAQ sortie OUT sera à 0. Q suit l’état du bit OUT. 32 LISSANE ELHAQ Saâd La temporisation TON met la sortie Q à 1 après un temps de retard prédéfini. IN = 1 activer la temporisation LISSANE ELHAQ Saâd Type Description Bool TP, TON et TONR : Boîte : 0=désactiver la temporisation, 1=activer la tempo Bobine : pas de flux de courant=désactiver la temporisation, flux de courant=activer la temporisation Bool Sortie boîte Q ou bit Q dans les données du DB de tempo Bobine : vous pouvez accéder au bit Q uniquement dans les données du DB de temporisation Boîte : Q Bobine : DBdata.Q Boîte : PT de tempo : EntréeSaâd valeur de temps prédéfinie Time Boîte ou bobine LISSANE ELHAQ Bobine : "PRESET_Tag" Boîte : ET Time Sortie de boîte ET (temps écoulé) ou valeur de temps ET Bobine : dans les données du DB de temporisation DBdata.ET LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Paramètre Boîte : IN Bobine : Flux de courant LISSANE ELHAQ Saâd Temporisation : LADDER (CON) Boites Bobines DESCRIPTION La temporisation TP génère une impulsion de durée prédéfinie 33 LISSANE ELHAQ Saâd Temporisation TP Temporisation TON Exemple de temporisation : LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Exemple : Tant que la temporisation s'exécute, l'état de DB1.MyIEC_Timer.Q est égal à 1 et la valeur de Tag_Output est égale à 1. Lorsque la valeur Tag_Time est écoulée, DB1.MyIEC_Timer.Q est égal à 0 et la valeur de Tag_Output est égale à 0. LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 34 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 35 LISSANE ELHAQ Saâd Compteur : LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd CTU est un compteur de comptage. CTD est un compteur de décomptage. CTUD : compteur de comptage et de décomptage. Les données de chaque compteur sont sauvegardées dans un bloc de données DB. LISSANE ELHAQ Saâd Logigramme (LOG) LOG (Logigramme) est un langage de programmation graphique. La représentation de la logique repose sur les symboles logiques graphiques utilisés en algèbre booléenne. LISSANE ELHAQ Saâd On = (Start + On) . /Stop SCL : (Structured Control Language) langage de programmation basé sur Pascal. Exemple : IF _condition THEN // …. // END_IF LISSANE ELHAQ Saâd 36 LISSANE ELHAQ Saâd Exemple d’application : Une presse avec capot de protection doit être mise en Adresses I0.1 B3 I0.3 I0.4 I0.5 LISSANE ELHAQ Saâd Variables AU (NF) : Arrêt d’urgence S3 (NO) : Bouton marche B1 (NO) : Capteur protection fermé B3 (NO) : Capteur vérin sorti. M0 sortir vérin A LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd marche avec le bouton poussoir (NO) S3 uniquement si le capot de protection est fermé (capteur B1, NO). Un distributeur M0 (sortir vérin A) commande le vérin de la presse afin que la forme plastique puisse être pressée. La presse doit se retirer quand le capteur vérin sorti B3 = 1 (NO), si on active l'arrêt d’urgence AU (NF) et quand B1 = 0. NO : Normalement ouvert ; NF : Normalement fermé ; LISSANE ELHAQ Saâd Liste d’Entrées/Sorties : LISSANE ELHAQ Saâd Q0.0 LISSANE ELHAQ Saâd 37 LISSANE ELHAQ Saâd Programme LADDER (CONT) Programme avec Bascule SR LISSANE ELHAQ Saâd Programme Logigramme (LOG) LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 38 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 39 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Sorties passées LISSANE ELHAQ Saâd 40 LISSANE ELHAQ Saâd Le GRAFCET GRAphe Fonctionnel de Commande par Etapes de Transitions Outil de modélisation graphique normalisé (Norme CEI 848) LISSANE ELHAQ Saâd Pourquoi le GRAFCET ? automatisé en se basant sur le programme automate. Le GRAFCET permet de représenter de façon graphique le LISSANE ELHAQ Saâd fonctionnement d'un automatisme. Cela permet une meilleure compréhension tous les intervenants. Note importante de l’automatisme par Le GRAFCET ne s'attarde qu'au fonctionnement LISSANE normal de l'automatisme et ne ELHAQ prend Saâd pas en compte les divers modes de marche et d'arrêt, de même que les défaillances et les pannes. Le GEMMA s'interesse à ces modes LISSANE ELHAQ Saâd de marche et d'arrêt LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Il est difficile de comprendre le fonctionnement du système 41 LISSANE ELHAQ Saâd Eléments graphiques de base LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd (Particpe passé) (Verbe à l'infinitif) LISSANE ELHAQ Saâd Exemple de GRAFCET NIVEAU 1 LISSANE ELHAQ Saâd 42 LISSANE ELHAQ Saâd GRAFCET NIVEAU 2 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Exemple de GRAFCET NIVEAU 2 LISSANE ELHAQ Saâd 43 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Moteur Vanne LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Contacteur Distributeur LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 44 LISSANE ELHAQ Saâd LES ETAPES Si Xi = 1, étapeLISSANE active ELHAQ Saâd Synthaxe LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Si Xi = 0, étape désactive LISSANE ELHAQ Saâd Chaque étape est représentée par une variable Booléenne Xi (i = numéro de l’étape) LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 45 LISSANE ELHAQ Saâd Divergence en ET LISSANE ELHAQ Saâd Convergence en ET LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 46 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 47 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 48 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 49 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 50 LISSANE ELHAQ Saâd Saut de séquence : LISSANE ELHAQ Saâd Reprise de séquence : LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 51 LISSANECAS ELHAQ Saâd PARTICULIERS Action conditionnelle LISSANE ELHAQ Saâd Action mémorisée 22 M1 Equivalent à 23 M1 <=======> 24 M1 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd L’équation logique de K est K = X20 . m LISSANE ELHAQ Saâd L'action K est mis à 1 à l'étape 20, lorsque la condition m est vraie. Réceptivité toujours vraie LISSANE ELHAQ Saâd 25 L'action M1 est active aux étapes 22, 23 et 24. LISSANE ELHAQ Saâd 52 LISSANE ELHAQ Saâd Ces grafcets fonctionnent-ils ? LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 53 LISSANE ELHAQ Saâd Réceptivité fonction du temps : (1) X10 T=10s LISSANE ELHAQ X11Saâd 10s t/X10/10s 11 (2) T=20s X12 t/X11/20s 12 Notation : t/Xi/ q sec : 20s LISSANE ELHAQ Saâd 10 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd comptage de temps LISSANE ELHAQ Saâd L’étape comportant l’action de comptage du temps. La durée écoulée depuis l’activation de l’étape i. LISSANE ELHAQ Saâd 54 LISSANE ELHAQ Saâd COMPTAGE La transition 20 - 21 est franchie lorsque le contenu du compteur C1 est égal à 4. Le compteur est incrémenté sur front montant du signal b. Il est mis à zéro à l'étape 21. LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 55 LISSANE ELHAQ Saâd Conversion du GRAFCET au LADDER PROGRAMMATION API SIEMENS S7 1200 Contact à fermeture (passant à 1) LISSANE Contact ELHAQ Saâd à ouverture ( passant à 0) Connection Horizontale (éléments en sér Connection Verticale (éléments en parall 1 - Adressage des entrées sorties et des bites internes de S7 1200 - Sorties LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Le langage à relais ou à contact : : LISSANE ELHAQ Saâd %Q0.0 à %Q0.7 ; %I0.0 à %I0.7 ; - Entrées : - Bits internes : %M0.0 à %M0.7 ; %M1.0 à %M1.7 ; etc.. - Temporisateurs ; - Compteurs ; LISSANE ELHAQ Saâd 56 LISSANEde ELHAQ Saâd de grafcets : 2 - Exemples programmation Soit le grafcet linéaire suivant : Programme du grafcet en langage à contact X0 X2 X1 X0 a LISSANE ELHAQ Saâd X1 b - Définition des bits X1 internes : LISSANE ELHAQ Saâd Xi (étape du grafcet) %Mj.i (bobines internes et 2 contacts auxiliaires associés) X2 LISSANE ELHAQ Saâd X2 LISSANE ELHAQ Saâd c LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd X2 B C 57 LISSANE ELHAQ Saâd Exemple comptage et temporisation : Système de remplissage de bouteilles : LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Ce système de remplissage de bouteilles est constitué d’un convoyeur commandé par un moteur « MT », d’une valve de remplissage « V », d’un capteur de présence de bouteille prête à être remplie « pb » et un bouton poussoir m pour démarrer l’automatisme. Le tapis roulant démarre et une première bouteille se présente au poste de remplissage. Le capteur « pb » détecte la bouteille, le convoyeur s'arrête, puis la valve « V » s’ouvre pendant 3 secondes pour remplir la bouteille. La bouteille est évacuée et une nouvelle bouteille LISSANE est présentée pour remplissage. ELHAQ Saâd Il faut remplir 6 bouteilles suite à l’appui sur le bouton « m ». 1) Réaliser le GRAFCET du système. 2) Programmer le GRAFCET en utilisant le langage de contacts de STEP7. 58 LISSANE ELHAQ Saâd Exemple comptage et temporisation : Système de remplissage de bouteilles : LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Grafcet et programme LADDER LISSANE ELHAQ Saâd 59 Exemple ELHAQ comptageSaâd et temporisation : Système de remplissage de bouteilles : LISSANE - Ajouter dans la table de variables, une variable entière (int) Val_Compt pour afficher la valeur du compteur en ligne. LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 60 Exemple comptage et temporisation : Système de remplissage de bouteilles : LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Compteur Val_Compt permet d’afficher la valeur du compteur Initialisation du grafcet LISSANE ELHAQ Saâd X4 Variable QU = sortie du compteur Q 61 LISSANE ELHAQ Saâd Exemple comptage et temporisation : Système de remplissage de bouteilles : - Associer la variable Val_Compt à CV du compteur comme suit : LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 62 LISSANE ELHAQ Saâd Synchronisation de Grafcets 20 10 30 10 LISSANE ELHAQ Saâd m 1 seule tâche à la fois 19 X19 29 X39 39 X10 LISSANE ELHAQ Saâd Tâche T10 Tâche T20 LISSANE ELHAQ Saâd X29 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 10 10 LISSANE ELHAQ Saâd Coordination horizontale X10 Tâche T30 63 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 64 LISSANE ELHAQ Saâdlogicielle de la partie commande Conception d’un système automatisé LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd La réalisation d’un programme automate se fait en trois étapes : 1ère Etape : Traitement préliminaire : Il est réalisé par le langage LADDER. Il s’occupe du traitement des défauts, d’arrêts d’urgence et des modes de marches après arrêts désirés. Il s'exécute avant le grafcet. Exemple de traitement de défaut de discordance d’un moteur : Il faut vérifier que si on donne l’ordre de démarrer LISSANE ELHAQ Saâd au moteur, il démarre effectivement en vérifiant l’état de retour contacteur km1 après une temporisation de 2s (TON). Moteur en mode manuel %Q0.0 Sortie Automate AU Marche LISSANE ELHAQ Saâd Arrêt km1 Auto-Maintien KM1 KM1= (Marche + km1) . /Arrêt . /AU 65 LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Défaut : Allumez le voyant de défaut lorsqu’il y a discordance entre la sortie automate qui commande le Moteur et retour du contacteur (km1), le défaut doit être mémorisé, il faudra actionner le BPA pour faire disparaître le défaut. LISSANE ELHAQ Saâd KM1 Acquittement défaut : Une fois le défaut réparé, il faut l’acquitter : BPA : Bouton Poussoir Acquittement défaut LISSANE ELHAQ Saâd KM1 Retour contacteur LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd Sortie Automate LISSANE ELHAQ Saâd 2ème Etape : Traitement séquentiel : Ce traitement est réalisé par le GRAFCET de production normal (mode Auto). On ne s’occupe pas ici des défauts et défaillances. LISSANE ELHAQ Saâd 66 LISSANE ELHAQ Saâd 3ème Etape : traitement postérieur : Il s'exécute après le grafcet. Dans cette étape on calcule les sorties (actions) automates en LADDER : - la logique de sortie et les sécurités spécifiques aux sorties. Auto/Manu Marche Manuelle Postérieur voyants : LISSANE ELHAQ Saâd Auto/Manu Marche Automatique LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd LISSANE ELHAQ Saâd 67