Support de cours Automates Programmables Industriels CHAPITRE I INTRODUCTION AUX AUTOMATISMES I – Définition II – Les objectifs de l’automatisation III – Structure des systèmes automatisés IV – Les principales fonctions des automatismes V – Outils de description du comportement d’un automatisme VI – Technologie de commande câblées et programmées Walid CHEBBI 1 ISET GAFSA Support de cours Automates Programmables Industriels I – Définitions I – 1 – Système automatisé Un automatisme désigne, en général, le dispositif assurant le fonctionnement, avec le minimum d’intervention humaine, d’une machine ou d’une installation de production. L’automatisation d’un procédé consiste à en assurer la conduite par un dispositif technologique. La fonction globale de tout système automatisé est de conférer une VALEUR AJOUTEE à un ensemble de MATIERES D UVRE dans un ENVIRONNEMENT ou CONTEXTE donné. I – 2 – Système de production Un système de production est un système à caractère industriel possédant les caractéristiques suivantes : § L’obtention de la valeur ajoutée présente, pour un ensemble de matières d’ uvre donné, un caractère reproductible, § La valeur ajoutée peut être exprimée et quantifiée en termes économiques. Un système de production répond au besoin d’élaborer des produits, de l’énergie ou de l’information à un coût rentable pour l’utilisateur du système. II –Les objectifs de l’automatisation La compétition économique impose à l’industrie de produire en qualité et en quantité pour répondre à la demande dans un environnement très concurrentiel. Les objectifs de l’automatisation sont : • Accroître la productivité du système c’est-à-dire augmenter la quantité de produits élaborés pendant une durée donnée !; cet accroissement de productivité exprime un gain de valeur ajoutée sous forme : • D’une meilleure rentabilité, • D’une meilleure compétitivité. • Améliorer la flexibilité de production, • Améliorer la qualité du produit grâce à une meilleure répétabilité de la valeur ajoutée, • S’adapter à des contextes particuliers : • Adaptation à des environnements hostiles pour l’homme (milieu salin, spatial, nucléaire,…), • Augmenter la sécurité, etc. Walid CHEBBI 2 ISET GAFSA Support de cours Automates Programmables Industriels III – Structure des systèmes automatisés III – 1 – Décomposition en Partie Commande et Partie Opérative Chaque système automatisé comporte deux parties (Figure.1) : • Une Partie Opérative PO dont les actionneurs agissent sur le processus automatisé, • Une Partie Commande PC qui coordonne les actions de la Partie Opérative. Pré-actionneurs Actionneurs Commande Processus Conditionneurs Capteurs Partie Commande (PC) Figure.1 Partie Opérative (PO) Structure de base d un système automatisé La Partie Opérative effectue des opérations (mécaniques, thermiques, physicochimiques, etc.) sur la nature ou la forme des produits traités par la machine ou par l’installation, et leur fait subir des transformations. Mais ces opérations peuvent correspondre aussi à un déplacement, à un changement de position dans l’espace (systèmes de manutention, ascenseurs, etc. …) à des régulations, des assemblages, des montages, etc. D’une manière générale la Partie Opérative apporte aux produits traités une valeur ajoutée, de nature économique. Elle est en outre caractérisée par une utilisation d’énergie significative contrairement à la Partie Commande qui n’effectue qu’un traitement d’information à faible niveau d’énergie. Cette énergie est mise en uvre par des actionneurs (moteurs, vannes, etc.) commandés par des pré-actionneurs pilotés eux-mêmes par la Partie Commande. La Partie Commande émet des ordres vers la Partie Opérative et en reçoit les signaux en retour afin de coordonne ses actions de la Partie Opérative. Elle élabore les actions à partir des mesures et des informations Walid CHEBBI 3 ISET GAFSA Support de cours Automates Programmables Industriels L’intervention de l’opérateur humain est souvent nécessaire : - Pour assurer le pilotage global du procédé (consignes de fonctionnement). - Pour surveiller les installations et reprendre en commande manuelle tout ou une partie du système si un incident se produit. Actionneurs Procédé Capteurs P. O. P. C. Actions Organe de Commande Informations Mesures Consignes Opérateur humain Figure.2 Schéma fonctionnel d une installation automatisée III – Organes équipant la Partie Opérative et la Partie Commande III – 2 – 1 – Les actionneurs et pré-actionneurs Ce sont des éléments de puissance (moteur électrique, vérin pneumatique, relais électrique, etc. …) qui agissent sur le procédé. On classe les actionneurs selon trois technologies : - Les actionneurs électriques Ils utilisent l’énergie électrique et prennent des formes variées : moteur à vitesse constante ou variable, électrovanne, résistance de chauffage, électro-aimant, têtes de soudure par résistances, têtes de découpe au laser, etc. Les pré-actionneurs associés aux actionneurs électriques sont principalement les contacteurs et les variateurs de vitesse entourés des sécurités nécessaires. Walid CHEBBI 4 ISET GAFSA Support de cours Automates Programmables Industriels - Les actionneurs pneumatiques Ils utilisent directement l’air comprimé distribué sur les machines. Les vérins pneumatiques se présentent sous des formes très variées et sont utilisés pour de nombreux mouvements : transfert, serrage, marquage, maintien, assemblage, etc. Les distributeurs sont les pré-actionneurs qui lui sont associés. Ils reçoivent soit un signal pneumatique soit un signal électrique lorsqu’ils sont équipés d’une électrovanne. - Les actionneurs hydrauliques Vérins ou moteurs, ils ne sont utilisés que lorsque les actionneurs électriques et pneumatiques ne peuvent donner satisfaction, car il exigent l’installation sur la machine d’un groupe générateur de pression. Ils sont utiles lorsque les efforts à développer sont très importants (presses, …) ou lorsque des vitesses lentes doivent être contrôlées avec précision (avance d’outil de coupe, …) III – 2 – 2 – Les capteurs Captant les déplacements des actionneurs ou le résultat de leurs actions sur le processus, les capteurs fournissent les informations en retour nécessaires pour la conduite du processus, Ils peuvent détecter de pressions, des positions, des températures, des débits, des contraintes, des codes, des vitesses, des accélérations, etc. En automatisation courante, les capteurs de position sont les plus utilisés. Ils prennent des formes très variées : - interrupteur de position avec contact, - détecteur de proximité sans contact, - capteur de déplacement. IV – Les principales fonctions des automatismes Le degré d’automatisation d’un système est extrêmement variable selon la nature du procédé et sa complexité. On distingue trois degrés d’automatisation. IV – 1 – La surveillance des grandeurs Elle répond à un objectif de connaissance technique te économique du procédé. Il s’agit d’une fonction passive vis à vis du procédé, l’organe de contrôle fait l’acquisition des informations, leur analyse et produit des journaux de bord et des bilans. Walid CHEBBI 5 ISET GAFSA Support de cours Automates Programmables Industriels IV – 2 – Le mode guide opérateur Complète la surveillance par des traitements plus élaborés et propose des actions pour conduire le procédé selon un critère donné. L’automatisme est en boucle ouverte, il n’agit pas directement sur le procédé. IV – 3 – La commande proprement dite Elle correspond à l’automatisation complète et elle a une structure de boucle fermée. L’homme est ici exclu de la conduite. Il intervient en cas d’incident pour reprendre le pilotage manuel éventuellement aidé par un mode guide opérateur (fonctionnement en mode dégradé de l’automatisme). IV – 4 – conduite et surveillance d’un système automatisé Il s’avère très difficile en pratique d’intégrer dans la Partie Commande la totalité des savoir faire humains de sorte que l’automatisation reste souvent partielle : certaines tâches restent confiées à des intervenants humains. A ces causes techniques viennent s’ajouter des considérations économiques de compétitivité des considérations financières imposant un fractionnement des investissements, des considérations sociales d’automatisation douce. Certaines tâches restent donc manuelles et l’automatisation devra donc prendre en compte la spécificité du travail humain, c’est-à-dire en particulier : § assurer le dialogue entre les intervenants et le système automatisé, § assurer la sécurité de ces intervenants dans l’exécution de leurs tâches manuelles. En outre le modèle de fonctionnement de la Partie commande, choisi par le concepteur du système, ne correspond qu’à un ensemble de situations PREVUES, c’est-à-dire RETENUES par le concepteur parmi un ensemble de situations possibles. Or, il est impératif de pouvoir faire face à des situations NON PREVUES (donc non retenues en général pour des raisons économiques compte tenu de leur faible probabilité), voire IMPREVISSIBLES. Seul un opérateur peut alors intervenir et prendre les décisions requises par cette situation : il assure une fonction de CONDUITE et de SURVEILLANCE du système automatisé. Cette fonction peut être plus ou moins assistée par un ensemble de moyens (pupitres, informatique,…). Walid CHEBBI 6 ISET GAFSA Support de cours Automates Programmables Industriels Le concepteur devra alors : § fournir à l’intervenant (ou lui permettre de prélever) toutes informations SIGNIFICATIVES (ou INDICES) nécessaires à l’analyse de la situation, § lui permettre d’agir sur le système, soit directement (dépannage,…), soit indirectement (consignes de sécurité, de marches et d’arrêts,…). V – Outils de description du comportement d’un automatisme Pour concevoir, réaliser, exploiter un automatisme, il est indispensable d’en décrire le comportement. Les outils ou langages qui permettent cette description peuvent être littéraux, symboliques ou graphiques. Il est important de connaître ces outils qui se complètent pour permettre une expression claire et concise des problèmes d’automatisation à résoudre V – 1 – Description littérale du comportement d’un automatisme Figure.3 Exemple de description littérale du comportement d un automatisme En utilisant le langage courant, on énumère ce que l’automatisme doit faire en décrivant chaque étape et en précisant les conditions à satisfaire à chaque instant. Cette méthode conduit à des cahiers des charges très lourds à exploiter (le langage courant n’est pas suffisamment précis). Il est indispensable de développer des outils symboliques et graphiques permettant une expression plus concise et plus claire. V – 2 – Description symbolique du comportement d’un automatisme Elle se base sur l’utilisation de symboles pour représenter les variables et les états du système à automatiser. Cette description peut être sous forme de fonctions logiques simples (NON, ET, OU, …) ou des fonctions plus évoluées, combinatoires (codeurs, décodeur, circuits d’inhibition) ou séquentielles (fonctions mémoires, circuits de maintien, … ) Walid CHEBBI 7 ISET GAFSA Support de cours Automates Programmables Industriels V – 3 – Description graphique du comportement d’un automatisme En complément des expressions symboliques, les outils de description graphique sont appréciés : - Soit parce qu’ils se rapprochent de certaines technologies de réalisation : contacts électromécaniques, modules logiques, … - Soit, au contraire, parce qu’ils sont indépendants de la technologie qui sera mise en uvre. Ils permettent une description fonctionnelle des problèmes séquentiels V – 3 – 1 – Schémas à contact - diagrammes en échelle Ce langage graphique de description des automatisme est né à l’époque où seule la technologie à contact était disponible pour résoudre les problèmes de commande. Les illustrations ci-dessous (figure.4) montrent comment en plaçant en série ou en parallèle des contacts, qui sont soit à fermeture, soit à ouverture, on peur reproduire chacune des fonctions logiques de base (ET, OU, NON) et mémoire par auto-alimentation. Il est donc simple de décrire ainsi les expressions combinatoires. Par contre, pour les problèmes séquentiels, il est nécessaire de construire une succession de circuits à auto-alimentation ce qui devient difficile à établir et à lire. Figure.4 Walid CHEBBI Exemple de langage à contact 8 ISET GAFSA Support de cours Automates Programmables Industriels Les schémas à contact sont normalisés. Parce qu’ils sont très familiers aux électriciens. Ils sont souvent utilisés pour exprimer ou visualiser les automatismes programmés. On emploi pour cela leur version américaine : le diagramme en échelle (Ladder Diagram). V – 3 – 2 – Logigramme C’est la représentation graphique de relations logiques dont les fonctions de base (ET, OU, NON, MEMOIRE). Cette représentation est normalisée sur nu plan international et conduit à des résultats clair et compacts par le regroupement graphique des fonctions de base. Figure.5 Exemple d une représentation en logigramme Le fonctionnement séquentiel des processus de production ne peut être clairement décrit par un schéma à contact ou un logigramme. C’est pourquoi différents langages graphiques ont été développés avec pour objectif essentiel une expression claire des problèmes séquentiels. V – 3 – 3 – Le GRAFCET Le chronogramme, le digramme des phases, les réseaux de PETRI ont été des langages graphiques utilisés en automatisme. Chacun d’eux a aidé à bâtir l’expérience dont le GRAFCET est la synthèse. Le GRAFCET est reconnu comme le langage graphique le mieux adapté à l’expression de la partie séquentielle des automatismes de production. Le GRAFCET représente la succession des étapes dans le cycle. L’évolution du cycle étape par étape est contrôlée des transitions disposées entre les étapes. A chacune des étapes peut correspondre une ou plusieurs actions. A chaque transition correspond une réceptivité, condition qui doit être satisfaite pour que la transition puisse être franchie permettant l’évolution d’une étape à la suivante. Walid CHEBBI 9 ISET GAFSA Support de cours Automates Programmables Industriels Figure.6 GRAFCET simplifié VI – Technologie de commande câblées et programmées Après les outils de description du fonctionnement des automatismes, il est important de connaître les différents outils de réalisation et de distinguer les deux grandes familles : • Technologies câblées • Technologies programmées VI – 1 – Principes comparés Avec une technologie câblée, l’automatisme est réalisé par des modules raccordés entre eux. Le fonctionnement obtenu résulte du choix de ces modules et du câblage qui les relie. Dans tous les cas l’automatisme est entièrement personnalisé par sa réalisation matérielle. Au contraire, avec une technologie programmée, l’automatisme est réalisé par la programmation de constituants prévus à cet effet, le fonctionnement obtenu résulte de la programmation effectuée. L’automatisme est personnalisé par les choix matériels, mais aussi par la programmation. L’illustration ci-dessous compare dans leurs principes les réalisations en câblé et en programmé des moyens de description exposés précédemment. • Les schémas à contacts issus de la technologie câblée à contact et transposée en diagramme en échelle pour leur représentation sur terminal de programmation • Les expressions logiques (logigramme, expression booléenne, …) • Le GRAFCET, concrétisé en câblé par des lignes de modules et pouvant être visualisé sur un terminal en programmé. Walid CHEBBI 10 ISET GAFSA Support de cours Figure.7 Automates Programmables Industriels Description fonctionnelle câblée et programmée utilisant les différents langages de description d un automatisme VI – 2 – Technologie câblée Trois technologies permettent de réaliser des automatismes câblés : • Relais électromagnétiques • Modules logiques pneumatiques • Cartes ou modules électronique Walid CHEBBI 11 ISET GAFSA Support de cours Automates Programmables Industriels - Relais électromagnétiques Composé de contact activé par une bobine à effet électromagnétique, le relais est le module de base à câbler. Le passage du courant est assuré par des contact vissés, soudés ou sertis aux bornes du relais. Les relais peuvent être asservis entre eux dans un schéma qui intègre les contacts des capteurs et les bobines des pré-actionneurs. - Modules logiques pneumatiques Le fluide utilisé est l’air comprimé. Il agit sur des membranes actionnant des clapets de commutation. Les modules sont logiques (ET, OU, NON, MEMOIRE), Ils sont raccordés par tubes souples. Le GRAFCET est réalisé par un séquenceur associant les modules en ligne - Cartes ou modules électronique Les modules de base sont réalisés à partir des composants électroniques (diodes, transistors, circuits intégrés, …) implantés sur des circuits imprimés ou cartes. Les liaisons entre cartes se font par câblage. Walid CHEBBI 12 ISET GAFSA Support de cours Automates Programmables Industriels VI – 3 – Technologies programmées Seules les technologies électroniques à haute intégration permettent la concentration des composants et l’obtentions des temps de réponse nécessaires pour la réalisation de constituants programmables. Ces constituants peuvent prendre différentes formes : • Cartes électroniques standards et spécifiques • Micro et mini-ordinateur • Automates programmables VI – 4 – Choix de l’unité de traitement Le choix d’une technologie d’unité de traitement dépend de nombreux paramètres. Les critères essentiels permettant un choix sont définis ci-après : Solution envisagée Conditions de choix Développement spécifique d une carte (interne ou externe) § § § § § § Production en grande série Temps de développement élevé Niveau de compétence élevé Adaptabilité très faible Maintenance par remplacement Nombre d entrées/sorties faibles Adaptation d une carte industrielle § § § § § § Production en petite et moyenne série Temps de développement moyen Niveau de compétence élevé Adaptabilité bonne Maintenance par fournisseur Nombre d entrées/sorties illimité Automate programmable industriel § § § § § § Production en très petite série ou unitaire Temps de développement court Niveau de compétence moyen Adaptabilité selon fournisseur Maintenance par fournisseur Nombre d entrées/sorties illimité Walid CHEBBI 13 ISET GAFSA Support de cours Automates Programmables Industriels VI – 5 – Domaines d’application L’automatisme peut toucher, presque, tous les domaines. Nous citerons les plus répandus : § Métallurgie et sidérurgie, § Mécanique et automobile, § Industrie chimique, § Industries pétrolières, § Industries agricoles et alimentaires, § Transport et manutention, § Applications diverses : surveillance, sécurité, etc. Walid CHEBBI 14 ISET GAFSA Support de cours Automates Programmables Industriels CHAPITRE II LE LANGAGE DE DESCRIPTION FONCTIONNELLE : GRAFCET I – GRAFCET - règles et éléments II - GRAFCET - structure III - Structuration et hiérarchisation IV - Compléments sur la norme Walid CHEBBI 15 ISET GAFSA Support de cours Automates Programmables Industriels I – GRAFCET règles et éléments I – 1 – Introduction Le Grafcet est un outil graphique de définition pour l’automatisme séquentiel ou combinatoire. Il utilise une représentation graphique. C’est un langage clair, strict et sans ambiguïté permettant au réalisateur de montrer au donneur d’ordre comment il a compris le cahier des charges. I – 2 – Cahier des charges fonctionnel Le Cahier des charges fonctionnel, au sens large, est un document qui peut être rédigé suivant les cas par : • Le fournisseur qui renouvelle son catalogue, auquel s'associe le concepteur ; • Le futur utilisateur demandeur d'un produit répondant à son besoin. Il décrit en termes de finalités (fonctions) un besoin, une envie, à laquelle le fournisseur doit apporter une réponse, matérialisée par un produit. Dans le cadre d’un système automatique, le cahier des charges doit : • décrire le comportement de la Partie Opérative, • préciser les différents modes de marches, • préciser les procédures de mise en sécurité. L’automaticien doit se référer au cahier des charges pour réaliser l’automatisme, il fait force de loi. Le GRAFCET, les organigrammes, les logigrammes, les chronogrammes sont des outils utilisés pour décrire le comportement d'un système automatisé. Le GRAFCET est utilisé pour décrire la partie séquentielle du cahier des charges afin d’éviter les descriptions littérales sources de malentendus I – 3 – Point de vue La description du comportement attendu d’une Partie Commande peut se représenter par un GRAFCET d’un certain niveau. La caractérisation du niveau du GRAFCET nécessite de prendre en compte trois dimensions : § Une dimension « point de vue », caractérisant le point de vue selon lequel un observateur s’implique dans le fonctionnement du système pour en donner une description. On distingue trois point vue : Walid CHEBBI 16 ISET GAFSA Support de cours Automates Programmables Industriels o Un point de vue « système », ou « procédé », o Un point de vue « Partie Opérative », o Un point de vue « Partie Commande » ou « réalisateur ». o Une dimension « spécifications », caractérisant la nature des spécifications techniques auxquelles doit satisfaire la Partie Commande. On distingue trois groupes de spécifications : o Spécifications fonctionnelles, o Spécifications technologiques, o Spécifications opérationnelles. § Une dimension « finesse », caractérisant le niveau de détail dans le description du fonctionnement, d’un niveau global (ou macro-représentation) jusqu’au niveau de détail complet où toutes les actions et informations élémentaires sont prises en compte. I – 4 – Niveaux de spécification a) Spécification fonctionnelle Les représentations relevant des SPECIFICATIONS FONCTIONNELLES décrivent en terme de FONCTIONS les comportements que doit avoir la Partie Commande face aux informations issues de la Partie Opérative, des intervenants ou d’autres Parties Commandes. Ces spécifications peuvent s’exprimer selon chacun des points de vue « système », « Partie Opérative » ou « Partie Commande ». b) Spécification technologique Les représentations relevant des SPECIFICATIONS TECHNOLOGIQUES décrivent en terme de MOYENS, donc de solutions technologiques, le fonctionnement de la Partie Commande. Ces spécifications technologiques peuvent correspondre également à chacun des point de vue en caractérisant le procédé (solution technique), et la technologie utilisée tant pour la Partie Opérative que la Partie Commande. c) Spécification opérationnelle Les représentations relevant des SPECIFICATIONS OPERATIONNENLLES intègrent les comportements que doit posséder la Partie Commande, et le système automatisé dans son ensemble, dans le CONTEXTE de production. Elles concernent les performances globales du système automatisé, la sûreté de fonctionnement (disponibilité, absence de pannes dangereuses), la facilité d’exploitation ou de maintenance, les modes de marche et d’arrêt. Walid CHEBBI 17 ISET GAFSA Support de cours Automates Programmables Industriels I – 5 – Le GRAFCET a) Définition Le GRAFCET est un diagramme fonctionnel dont le but est de décrire graphiquement les différents comportements d’un automatisme séquentiel. Il est composé d’étapes, de transitions et de liaisons. b) Exemple Poinçonneuse CAHIER DES CHARGES (partiel) A l’état initial le poinçon est en position haute, l’opérateur installe la pièce, une action sur marche fait descendre le poinçon jusqu’à la position basse puis il retourne en position initiale Le Grafcet traduit ce cahier des charges. Etape initiale 0 Monter Ph Attendre Transition Marche et position haute Etape Descendre Descendre 1 Pb Arc orienté réceptivité Position haute Monter 2 Marche Position basse Action associée Figure.1 Poinçonneuse Figure.2 Grafcet de la poinçonneuse • A chaque situation du système on associe une étape du GRAFCET. • Des actions caractérisant cette situation sont associées aux étapes. • L’étape initiale caractérise le comportement à la mise en route. • Le système évolue d’une étape à la suivante lorsque les conditions associées aux transitions sont remplies, il y a franchissement de la transition. • La condition de passage est appelée réceptivité. Les ordres correspondent aux actions du GRAFCET. Les réceptivités sont des combinaisons logiques des comptes rendus et des consignes. Walid CHEBBI 18 ISET GAFSA Support de cours Automates Programmables Industriels I – 6 – Eléments du GRAFCET a) Etape Une étape correspond à un comportement stable du système. Les étapes sont numérotées dans l’ordre croissant. A chaque étape peuvent correspondre une ou plusieurs actions. Une étape est soit active soit inactive. b) Etape initiale La ou les étapes initiales caractérisent l’état du système au début du fonctionnement. c) Transition Les transitions indiquent les possibilités d’évolution du cycle, à chaque transition est associée une réceptivité. d) Réceptivité La réceptivité est la condition logique qui permet l’évolution si la réceptivité est vraie (=1) le cycle peut évoluer. Les réceptivités sont des comptes-rendus en provenance de la partie opérative ou des consignes en provenance du pupitre. e) Liaisons orientées Un GRAFCET se lit de haut en bas, dans un autre sens il est nécessaire d’indiquer le sens par une flèche. f) Actions Les actions sont réalisées lorsque l'étape associée à l'action est active. Il est possible de définir des actions continues, conditionnelles, temporisées, à niveaux, mémorisées et / ou impulsionnelles, … I – 7 – Règles du GRAFCET Règle 1 situation initiale La situation initiale d’un Grafcet caractérise le comportement initial de la partie commande vis à vis de la partie opérative, de l’opérateur et/ou des éléments extérieurs. Elle correspond aux étapes actives au début du fonctionnement. Elle traduit généralement un comportement de repos. Walid CHEBBI 19 ISET GAFSA Support de cours Règle 2 Automates Programmables Industriels franchissement d une transition Une transition est soit validée soit non validée. Elle est validée lorsque toutes les étapes immédiatement précédentes sont actives. Elle ne peut être franchie que : - lorsqu'elle est validée, - et que la réceptivité associée à la transition est vraie. Elle est alors obligatoirement franchie. 8 A.B+C = 0 ou 1 Règle 3 8 8 A.B+C = 0 A.B+C = 1 9 9 9 Transition non validée Transition validée mais non franchie Transition franchie évolution des étapes actives Le franchissement d'une transition entraîne l'activation de toutes les étapes immédiatement suivantes et la désactivation de toutes les étapes immédiatement précédentes. 6 15 10 6 A.B+C = 0 ou 1 17 18 Transition non validée (étape 6 inactive) Règle 4 15 10 6 10 A.B+C = 0 17 18 Transition validée (6, 10 et 15 actives) 15 A.B+C = 1 17 18 Transition franchie (6, 10, 15 inactives ; 17, 18 actives) évolutions simultanées Plusieurs transitions simultanément franchissables sont simultanément franchies. Walid CHEBBI 20 ISET GAFSA Support de cours Règle 5 Automates Programmables Industriels activation et désactivation simultanées d une étape Si au cours du fonctionnement, une même étape doit être désactivée et activée simultanément, elle reste active. Nota : La durée de franchissement d'une transition ne peut jamais être rigoureusement nulle, même si elle peut être rendue aussi petite que l'on veut. Il en est de même pour la durée d'activation d'une étape. II - Structure du GRAFCET II – 1 – Structures de base 10 A10 a) Séquence unique (structure linéaire) R10 Dans un cycle à séquence unique les étapes 11 et les transitions se succèdent de manière linéaire. A11 R11 b) Sélection de séquences 12 Un GRAFCET est dit à sélection de séquences A12 lorsque à partir d’une étape plusieurs évolutions R12 sont possibles. Figure.3 § Séquence unique Séquences exclusives Une sélection de séquence est dite exclusive lorsque les réceptivités associées aux transitions ne peuvent pas être vraies simultanément. Pour réaliser un choix exclusif entre les branches, les réceptivités associées aux transitions doivent être exclusives En fonction des réceptivités l'étape 11 , 21 ou 31 va être activée. Les 3 réceptivités doivent être exclusives. 10 A10 R11.C1 11 R21.C1.C2 A11 21 A12 22 32 A23 R24 Figure.4 A32 R33 23 R14 A31 R32 A22 A13 10 Walid CHEBBI 31 R23 R13 13 A21 R22 R12 12 R31.C1.C2 A10 Représentation graphique de la divergence Les transitions précisent les possibilités évolution. Représentation graphique de la convergence Chaque branche peut activer l étape suivante Séquences exclusives 21 ISET GAFSA Support de cours Les Automates Programmables Industriels réceptivités exclusives peuvent correspondre soit à des informations logiques complémentaires (comme sur l’exemple ci dessus) soit à des informations physiquement exclusives – Cf. exemple ci contre – les deux capteurs ne sont jamais vrais simultanément. Figure.5 § Exclusion physique Reprise et haut d étapes Le saut d’étapes et la reprise d’étapes sont deux formes particulières de sélection de séquences. Le saut d’étape est une sélection de séquence permettant de sauter plusieurs étapes en fonction des conditions d’évolution. La reprise d’étapes au contraire permet de recommencer plusieurs fois si nécessaire une même séquence. 10 A10 10 A10 R10 R10.C R10.C 11 A11 11 R11 12 R11 A12 12 R12 13 A12 R12 A13 13 R13 A13 R13.C 14 A14 14 R14 Figure.6 Walid CHEBBI A11 R13.C A14 R14 Figure.7 Saut d étapes 22 Reprise d étapes ISET GAFSA Support de cours Automates Programmables Industriels c) Séquences simultanées § Parallélisme structurel Ce type de cycle est surtout utilisé sur des machines du type transfert ou des machines comportant plusieurs sous machines travaillant de manière indépendante. Le franchissement de la transition entraîne activation simultanée de toutes les étapes immédiatement suivantes (11, 21, 31). La transition de regroupement ne peut être franchie que si toutes les étapes immédiatement précédente 10 A10 R11 11 A11 21 A21 R22 R12 12 A12 22 A22 A13 23 R24 10 A10 A31 R32 R13 13 31 32 Représentation graphique Des séquences simultanées. Une seule transition autorise toutes les évolutions A32 Représentation graphique R23 Du regroupement des séquences A23 simultanées Il est conseillé avant le regroupement Il prévoir est conseillé, avantsans de prévoir de des étapes actions, desde étapes sans actions, afin de afin synchroniser les différentes synchroniser les rapide différentes branches (la plus attend les branches (la plus rapide « attend » autres les autres). Figure.8 - Séquences simultanées Dans un cycle à séquences simultanées, les séquences débutent en même temps, finissent en même temps, mais les étapes de chaque branche évoluent de façon indépendante. § Parallélisme interprété Le parallélisme interprété est une forme particulière qui permet de gérer à la fois les séquences exclusives et les séquences simultanées. Le graphisme associé est celui de la sélection de séquences avec des réceptivités de choix qui ne sont plus exclusives. Cette forme graphique est à éviter ou à utiliser avec précautions. Walid CHEBBI 23 ISET GAFSA Support de cours Automates Programmables Industriels Figure.9 Parallélisme interprété II – 2 – Actions et réceptivités particulières Les actions sont précisées dans un cadre lié à l’étape, de manière générale, l’action n’est vraie (on dit que l’action est assignée) que si l’étape correspondante est active. a) Actions à niveau Dans une action à niveau, la sortie n’est vraie que si l’étape est active, elle reste active toute la durée de l’étape. Figure.10 Walid CHEBBI Actions continues 24 ISET GAFSA Support de cours Automates Programmables Industriels b) Actions mémorisées Dans une action mémorisée on distingue la mise à 1 et la mise à 0 de l’action. L’action M est affectée de la valeur 1 à l’instant de l’activation de l’étape 7, elle reste à l’état 1 après la désactivation de l’étape 7 (effet mémoire). Elle est mise à 0, à l’instant de la désactivation de l’étape 9. Figure.11 Actions mémorisées Nota : les flèches sur le cadre d’action précisent si l’affectation doit être réalisée à l’instant de l’activation de l’étape ( ) ou de la désactivation ( ). c) Actions conditionnelles Une action conditionnelle n’est réalisée que si l’étape est active ET la condition d’assignation est vraie. Figure.12 Walid CHEBBI Actions conditionnelles 25 ISET GAFSA Support de cours Automates Programmables Industriels d) Prise en compte du temps La prise en compte du temps dans un Grafcet peut être traitée soit au niveau de la description des actions ou dans l’écriture des réceptivités. On distingue 2 types d’actions, les actions retardées et les actions à durée limitée. Actions à durée limitée L’action est exécutée tant que la temporisation n’est pas terminée. L’action M de dure que 3 s à partir du début de l’étape X7. Remarque : la prise en compte dans une réceptivité (temporisation) permet d’obtenir le Figure.13 Action à durée limitée même fonctionnement (voir plus bas) Actions retardées L’action n’est exécutée que si le délai est écoulé. L’action ne M débute que 3s à partir du début de l’étape X7. Figure.14 Action retardée Temporisation La prise en compte du temps peut aussi être réalisée dans la réceptivité. La temporisation est lancée dès l’activation de l’étape X7, elle n’est effective qu’au bout du temps T=3s. La réceptivité étant vraie, la transition est franchie. Walid CHEBBI 26 ISET GAFSA Support de cours Automates Programmables Industriels Figure.15 - Temporisation e) Prise en compte de l état d une étape Il est possible d’utiliser pour faire évoluer un Grafcet, de prendre en compte l’état logique d’une étape. La norme précise que l’état logique d’une étape est noté X suivi du numéro de l’étape. Figure.16 Prise en comte de l état d une étape Cette utilisation permet de synchroniser les évolutions de plusieurs Grafcets complexes. f) Prise en compte des événements Front montant / front descendant On appelle front montant de la variable binaire a, la variable, notée ªa, qui prend la valeur 1 à l’instant du passage de 0 à 1 de la variable a. On appelle front descendant de la variable binaire a, la variable, notée «a, qui prend la valeur 1 à l’instant du passage de 1 à 0 de la variable a. Walid CHEBBI 27 ISET GAFSA Support de cours Automates Programmables Industriels Figure.17 Fronts Un moteur permet de mettre en route le disque si le capteur a est actionné et si m est appuyé, il fait alors un tour Figure.18 Utilisation des fronts montants g) Réceptivité toujours vraie Une réceptivité toujours vraie peut être associée à une transition. Cette réceptivité est notée = 1. Avant d’utiliser cette réceptivité, il est important de vérifier que les actions assignées de l’étape précédentes ne sont pas des actions à niveau mais des actions mémorisées ou des calculs internes à la partie commande. Walid CHEBBI 28 ISET GAFSA Support de cours Automates Programmables Industriels h) Comptage Il est souvent nécessaire de compter un nombre de cycle ou de pièces, d’évènements dans un Grafcet. Un cycle de comptage comprend en général • Une initialisation de la variable de comptage. • Une incrémentation (ou décrémentation) de cette variable • Des réceptivités qui testent la valeur de la variable de comptage. Dans le cycle ci-dessous, la séquence 20 à 29 est répétée 15 fois La notation 1 : + = C ;C se lit: la somme de la valeur courante (actuelle) de la variable numérique C et 1 est affectée à la variable C. L’affectation d’un calcul à une variable numérique est notée : « = : » Figure.19 Cycle avec comptage II – 3 – Cas générique Nous traitons dans ce paragraphe des exemples génériques (priorité, travail à la chaine et ressource ou sémaphore), c’est à dire que les problèmes évoqués ici se posent assez souvent, et la méthode utilisée pour les résoudre pourra être utilisée. Walid CHEBBI 29 ISET GAFSA Support de cours Automates Programmables Industriels a) Priorité Soit un chariot se déplaçant sur deux rails (action D vers la droite, G vers la gauche). Il comporte une pince pouvant prendre une pièce (PP, fin quand fpp) s’il se trouve sur le tapis A (capteur y) et qu’une pièce est présente (capteur a) (idem en z si b). Puis il retourne en x, pose la pièce (action DP, fin quand fdp) sur le plateaux supposé en position haute (fv+). Celui-ci descend (V- jusqu’à fv-), un second vérin pousse la pièce (P+ fin quand fp+), puis le pousseur recule en fp-, le plateau remonte en fv+. Le tapis de sortie C est supposé toujours en mouvement. Les tapis A et B sont commandés par des systèmes non traités ici. Effectuer d’abord un Grafcet linéaire comprenant une seule voie d’arrivée A. puis l’améliorer en prévoyant les retours des actionneurs en temps masqué (attention toutefois de ne pas endommager le pousseur). Puis prévoir deux tapis d’alimentation A et B (en cas de pièces en a et B, prendre celle en a). Puis prévoir une priorité tournante (en cas de conflit, prendre la voie qui n’a pas été servie la fois précédente) attention, si plusieurs pièces arrivent sur la même voie et aucune sur l’autre, ne pas bloquer le système. Puis modifier la règle de la priorité en donnant en cas de conflit la priorité à celui qui n’en a pas profilé lors du dernier conflit. Pour gérer la priorité tournante, remplacer la réceptivité de la deuxième transition (notée *) par : y.a.(b + X10)+z qui signifie : arrivé en y avec une pièce en a et soit pas de pièce en b, soit priorité. Sinon on continue et quoi qu’il arrive on s’arrête en z (le chariot n’a pas de parachute), en rajoutant un second Grafcet définissant quelle voie est prioritaire : Walid CHEBBI 30 ISET GAFSA Support de cours Automates Programmables Industriels Priorité voie A, retour V masqué 1 (a+b).(x.fp-fv-) 2 (y.a)+z * 3 PP PP 4 V+ fpp 5 G x.f v + 6 DP fdp 7 Vfv- 8 P+ fp- 9 Pfp- Chaque fois qu’une condition séquentielle (dépendant de ce qui s’est passé auparavant) intervient dans une réceptivité, il vaut mieux ne pas compliquer le Grafcet, mais « calculer » cette condition par un petit Grafcet annexe. 10 X3.a 11 X3.b Walid CHEBBI 31 ISET GAFSA Support de cours Automates Programmables Industriels Améliorations : a) permettre au chariot de rechercher une pièce dès qu’il a posé la précédente : séparer le problème en deux : chariot et partie basse. Prévoir deux Grafcets différents, pouvant évoluer simultanément, mais synchronisés pour le dépose de la pièce (par des Xi ou une ressource). b) Faire attendre la chariot en y plutôt qu’en x (pour améliorer le temps de réponse). Pour la partie basse, l’attente se fait plateau en haut, mais ce ne peut pas être l’état initial (il risque de descendre pendant la nuit). Prendre cela en compte : Les deux étapes initiales ne testent que leurs conditions initiales respectives (partie haute ou partie basse). Walid CHEBBI 32 ISET GAFSA Support de cours Automates Programmables Industriels b) Travail à la chaîne Soit une chaîne de remplissage de bidons d’huile. Un tapis se déplaçant par saccades (cadencé par un système supposé externe à notre Grafcet, s’arrêtant à chaque nouvel appui de la came sur le capteur av) est alimenté manuellement (de temps en temps il manque des bidons). Trois postes sont prévus : remplissage (R), bouchage (B) et enfoncement (E). Un seul capteur détecte la présence d’un bidon en début de chaîne : pp. on désire faire les 3 opérations simultanément, sauf qu’il n’y a pas de bidon sous le poste. S’il vous semble obligatoire de rajouter des capteurs, vous n’avez RIEN compris au Grafcet puisqu’il vous faut un système combinatoire (il vaut mieux alors câbler en combinatoire chaque poste : avance tapis et présence bidon). On suppose que le tapis est vide lors de l’initialisation. L’étape 1 est constamment active. La dernière transition est appelée « transition puits », mais il était possible de la relier à l’étape 1. en fonctionnement normal, toutes les étapes du Grafcet sont actives. Du point de vue commande, chaque opération comportera plusieurs étapes (R=descendre l’entonnoir, ouvrir le robinet,…) dont une seule sera active à la fois. Chaque activation présente un bidon dans le circuit. Cette méthode utilise au mieux le séquencement du Grafcet, on peut maintenant rajouter des capteurs, mais qui n’auront de fonction que de vérifier le bon fonctionnement du système. Walid CHEBBI 33 ISET GAFSA Support de cours Automates Programmables Industriels Dans tous les cas similaires, on utilisera cette démarche : faire le Grafcet pour une pièce seule, mais le modifier pour gérer l’ensemble des pièces, vérifiant bien que jamais une même étape ne correspond à deux pièces, on décompose donc le système en tronçons et on ne laisse entrer dans un tronçon que s’il est libre. Exemples : atelier flexible (on suit la pièce pour chaque opération jusqu’au produit fini), montage (monter 2 pièces ensemble correspond à une convergence en ET : de 2 étapes actives on arrive à 1), chariots filoguidés (si un tronçon est occupé, essayer de le contourner par une voie libre)… c) Ressource (ou sémaphore) Au fond du puits de mine. i, un mineur remplit un chariot Xxi. Quand il est plein (le chariot), il (le mineur) appuie sur un bouton di. Immédiatement, le chariot se déplace dans la direction Bi jusqu’au poste de déchargement, composé d’un tapis roulant en mouvement continu, et d’un vérin V qui retourne le benne. Si le poste est occupé, il attend son tour en bi. Le poste de déchargement est libre, le chariot avance jusqu’au capteur c, est déchargé puis s’en retourne en ai. Si le poste est occupé, il attend son tour en bi. Le poste de déchargement, commun à plusieurs voies, n’est utilisable que par une voie à la fois. On l’appelle une « ressource physique ». Traiter le cas de deux voies (pas nécessairement de la même longueur). Supposons que la ressource est occupée en utilisant le capteur c est IDIOT : et s’il est entre bi et c ? Et si le temps de freinage l’a arrêté juste à côté de c ? Il faut utiliser les facilités séquentielles du Grafcet autant que possible (ne tester un capteur que quand c’est nécessaire). Un capteur ne doit servir que comme condition de passage d’une étape à une autre, mais pas pour vérifier un état du système qui découle du séquencement effectué (par exemple, une Walid CHEBBI 34 ISET GAFSA Support de cours Automates Programmables Industriels transition vérifie la présence d’une pièce, aucune action ne déplace la pièce puis on re-vérifie la présence : ce n’est censé que si l’on prévoit dans le Grafcet ce qu’il faut faire si la pièce a disparu). Ici, on utilise donc une étape (la ressource), qui est active quand la ressource physique est disponible. Dès utilisation, on la désactive, pour la réactiver quand on libère la ressource physique. On pouvait également résoudre le problème par des Grafcets séparés (un pour chaque chariot, un pour le déchargement) synchronisés par des Xi. La seule différence est que n’ayant plus de divergence sous l’étape 3, on risque d’oublier de traiter le cas d’arrivée simultanée en b1 et b2, cas arrivant assez rarement pour que l’on ne détecte pas le problème en phase d’essais, mais se produira de temps en temps en fonctionnement réel sans que l’on puisse reproduire le problème lorsqu’un spécialiste sera présent (seule solution : graphe des états accessibles). Walid CHEBBI 35 ISET GAFSA Support de cours Automates Programmables Industriels III – Structuration et hiérarchisation III – 1 – Principe Les Systèmes Automatisés de production sont de plus en plus complexes, afin de simplifier l'étude, la mise en oeuvre et la maintenance du système, il est nécessaire de structurer la partie commande et la partie opérative. L'objectif essentiel de la structuration est de permettre une approche progressive du fonctionnement d'un système automatisé, tant au niveau de l'analyse qu'au niveau de la représentation. Figure.20 Système non structuré Dans l’analyse structurée, le Grafcet global est décomposé en module, chacun de ces modules correspond à une fonction du système (Sécurité, modes de marche, etc.) ou à une sous partie de la P.O (Poste 1, Poste 2, Poste3). Figure.21 Walid CHEBBI Structuration du Grafcet 36 ISET GAFSA Support de cours Automates Programmables Industriels La structuration est, soit Hiérarchique (GRAFCET Maître, GRAFCET Esclave), soit sans hiérarchie (communication entre 2 postes). L'analyse structurée d'un système permet de décrire celui-ci depuis le niveau le plus général vers des niveaux de plus en plus détaillés. Cette structuration utilise les notions de Taches et de Macro-étape. Le système est décomposé soit suivant sa topologie (les taches correspondent à des parties opératives indépendantes) soit fonctionnellement (les taches correspondent à des fonctions du système), soit plus généralement en combinant ces deux formes. Les commandes de forçage et figeage de Grafcet, sont des moyens supplémentaires qui permettent de préciser la hiérarchie des différents Grafcets. La hiérarchie des différents Grafcets issue de cette structuration est celle qui vient de la description du fonctionnement (succession séquentielle des taches définie par le processus). En fait, il est souvent nécessaire de placer à un niveau hiérarchiquement supérieur des Grafcets de gestions Les principaux Grafcets que l’on peut trouver sont : § § § § GRAFCET de surveillance : (de sécurité) ce GRAFCET décrit l’ensemble des procédures de sécurité du système, c’est le GRAFCET hiérarchiquement le plus important. L’arrêt d’urgence et les procédures de mise en route sont décrits dans ce GRAFCET. GRAFCET de conduite : (ou GRAFCET des Modes de Marches) ce GRAFCET décrit l’ensemble des procédures de Marches (auto, Cycle/Cycle, Manuel,…) et des arrêts normaux. GRAFCET de maintenance : Précise les procédures d’intervention de l’opérateur et de réglage de la partie opérative. GRAFCET de Production : ce GRAFCET est le niveau de description du fonctionnement normal de l’automatisme. Ce GRAFCET est en général décomposé en plusieurs taches représentant les différentes fonctions de l’automatisme. III – 2 – Critères de structuration La structuration d’une partie commande peut être réalisée selon les trois critères principaux suivants : a) Selon l’aspect temporel Cette structuration temporelle est basée sur la succession des modes de marches du système (incluant les préoccupations de sécurités et de production). Ceux-ci peuvent être décrits à partir d’une grille d’analyse de type ‘‘G.E.M.M.A’’ présentée dans le chapitre suivant. Walid CHEBBI 37 ISET GAFSA Support de cours Automates Programmables Industriels b) Selon l’aspect fonctionnel La décomposition fonctionnelle du système sert de trame à la structuration de la partie commande en présentant les différentes fonctions du système. Une telle structuration permet de simplifier la représentation globale du fonctionnement du système. La notion de ‘‘macro-étape’’ intervient souvent dans ce type de description à partir de GRAFCET. Cette dernière sera présentée dans un chapitre ultérieur. c) Selon l’aspect topologique de la Partie Opérative La décomposition de la Partie Commande est réalisée en fonction de la structure topologique de la Partie Opérative. Cette opération est simplifiée lorsqu’un système est composé de plusieurs postes distincts ayant chacun une fonction particulière. La notion de ‘‘tâche’’ intervient souvent dans ce type de description à partir de GRAFCET. Cette dernière sera présentée dans un chapitre ultérieur. III – 3 – Macro-étapes Une macro-étape (ME) est la représentation unique d'un ensemble d'étapes et de transitions nommé "Expansion d'étapes", la macro-étape se substitue à une étape du grafcet. - L'expansion de ME comporte une étape d'entrée repérée E et une étape de sortie repérée S. - Tout franchissement de la transition amont de la macro-étape active l'étape E d'entrée de son Expansion. - L’étape de sortie participe à la validation des transitions aval de la macro-étape. - La transition suivant la macro-étape n’est validée que lorsque la dernière étape de l’expansion de macro-étape est active. Figure.22 Walid CHEBBI Macro-étape 38 ISET GAFSA Support de cours Automates Programmables Industriels Lorsque l'étape 19 est active et que la réceptivité r1 est vraie, alors la macro-étape est activée, l'étape d'entrée de l'expansion est activée simultanément et le cycle décrit dans l'expansion se déroule jusqu’à l'étape de sortie S20. Dès que l'étape S20 est active, si la réceptivité qui suit la macro-étape est vraie alors l'étape suivante est activée. Il est préférable de ne pas associer d’actions aux étapes d’entrées et de sortie de la macro-étape Le concept de macro-étape est à différencier de celui de sous-programme, une macro-étape est une extension du concept d'étape. A chaque macro-étape correspond une expansion et réciproquement, si plusieurs cycles identiques sont à représenter, autant de macro et d'extension seront nécessaires. Le concept de macro-étape se prête aisément à l’analyse descendante du système. III – 3 – Taches – Sous–programme Un sous programme est un Grafcet indépendant dont l’exécution et le déroulement sont synchronisés à un Grafcet principal. Lorsqu’une tache doit être réalisée plusieurs fois dans un cycle, la description de cette tache sous la forme d’un Grafcet indépendant permet de simplifier l'analyse et de simplifier la programmation. Ce Grafcet indépendant est un sous programme lancé par le programme (le Grafcet) principal. Figure.23 Walid CHEBBI Sous-programme 39 ISET GAFSA Support de cours Automates Programmables Industriels Dans l’exemple, la tache «dosage» est exécutée 2 fois dans le cycle. Le Grafcet dosage décrit cette tache. Le lancement de cette tache est réalisé par l’activation des étapes X15 et X25. Lorsque la tache est terminée, une information d’état (fin de tache) est retournée au Grafcet principal qui peut alors évoluer. Il est souhaitable de terminer le Grafcet de la tache par la vérification que l’étape de lancement du Grafcet principal est bien désactivée avant de le boucler. IV - Compléments sur la norme IV – 1 – Structuration des Grafcets a) Forçage Le forçage est utilisé pour structurer la description d’un automatisme complexe. Les actions de forçage sont représentées dans un double cadre. On retrouve les possibilités suivantes Ces situations sont maintenues tant que les étapes sont actives. b) Macro étapes Les macro–étapes permettent de structurer la description du fonctionnement, à chaque macro– étape correspond une expansion unique. Figure.24 Walid CHEBBI Macro-étape 40 ISET GAFSA Support de cours Automates Programmables Industriels L’activation de la macro M10 implique l’activation de l’étape d’entrée de l’expansion E10.La transition aval de la macro étape n’est validée que lorsque l’étape S10 de sortie de l’expansion est active. c) Structuration par synchronisation de Grafcets connexes La structuration par synchronisation de Grafcets connexes est surtout utile lorsque une même tache (sous – programme) est appelée plusieurs fois par un ou plusieurs Grafcets de niveau hiérarchiquement supérieur. Figure.25 Synchronisation Le Grafcet connexe évolue lorsque la réceptivité X12 + X14 est vraie c'est-à-dire lorsque l’une des deux étapes d’appel est active. Une étape de synchronisation à la fin du graphe (X115) permet d’informer le Grafcet appelant que la tache est terminée. Cette information est utilisée dans la réceptivité aval à l’appel du sous – programme. d) Encapsulation L’évolution la plus importante de la norme est la notion d’encapsulation, cette notion ajoute un nouvel outil permettant la structuration des systèmes automatisés complexes aux outils précédents (macro – étape , synchronisation de Grafcets connexes, forçage). L’encapsulation associe un ensemble d’étapes (un Grafcet) dites encapsulées à une étape encapsulante. L’activation de l’étape encapsulante du Grafcet hiérarchiquement supérieur implique l’activation dans le Grafcet encapsulé de la ou des étapes possédant un lien d’activation (représenté par un astérisque à droite de l’étape). La désactivation de l’étape encapsulante entraîne la désactivation de toutes les étapes du Grafcet encapsulé. Walid CHEBBI 41 ISET GAFSA Support de cours Automates Programmables Industriels Le Grafcet encapsulé est représenté dans un cadre reprenant en haut le numéro de l’étape encapsulante et en bas le nom du graphe encapsulé. Chaque Grafcet encapsulé ne dépend que d’une et une seule étape encapsulante mais plusieurs Grafcets encapsulés peuvent être associés à la même étape encapsulante. On distingue aussi la notion d’étape encapsulante initiale, une étape encapsulante est initiale lorsque le Grafcet encapsulé possède une étape initiale. Désignation d une étape d un Grafcet encapsulé. - Un Grafcet encapsulé est désigné par X*/G# ou X* désigne l’étape encapsulante et G# le Grafcet encapsulé (on peut, s’il n’y a pas d’ambiguïté le designer directement par G#). - Une étape d’un Grafcet encapsulé est désigné par X*/X# ou X* désigne l’étape encapsulante et X# l’étape encapsulée, s’il n’y a pas ambiguïté on peut directement la nommer X#. Figure.26 Encapsulation Les Grafcets G250 et G10 sont deux Grafcets encapsulés dans l’étape X8. Le Grafcet G10 comportant une étape initiale, l’étape 8 est une étape encapsulante initiale. Ce Grafcet est désigné par X8/G10. Le Grafcet Gava est encapsulé dans l’étape X19 du Grafcet G10. L’activation de l’étape X8 entraîne l’activation des étapes X12 de G10 et X250 de G250. Ces étapes sont désignés par X8/X12 et X8/X250. L’étape X100 de Gava est activée par l’activation de X19 de G10. Cet étape est désignée par 8/X19/X100 (étape X100 du Grafcet encapsulé dans X19 du Grafcet encapsulé dans X9) Walid CHEBBI 42 ISET GAFSA Support de cours Automates Programmables Industriels Une encapsulation se comporte comme une macro – étape lors de l’activation, en effet, l’activation de l’étape encapsulante entraîne l’activation des étapes sélectionnées (par l’astérisque) dans le Grafcet encapsulé (il peut il y avoir plusieurs étapes activés contrairement à l’expansion d’une macro – étape,). Figure.27 Arrêt d urgence La désactivation du Grafcet encapsulé est équivalente à un forçage dans l’état vide du Grafcet encapsulé, cette désactivation intervient dès la désactivation de l’étape encapsulante et une simple évolution du Grafcet réalise cette action. Il devient très facile de programmer un arrêt d’urgence d’un cycle complexe à partir d’une encapsulation (figure.27). IV – 2 – Actions Le vocabulaire associé aux actions a évolué, on considère deux modes de sortie, le mode continu et le mode mémorisé. a) Mode continu (assignation sur état) Une action est assignée sur état lorsque sa valeur dépend directement de l’état logique d’une étape. L’action « Pousser A » est assignée à la valeur vraie (1) si l’étape X12 est active, à la valeur fausse (0) si l’étape X12 n’est pas active. Si la durée de l’étape est nulle – infiniment courte -, Figure.28 Assignation On dit aussi que l’évolution est fugace, alors l’action n’est pas assignée. Walid CHEBBI 43 ISET GAFSA Support de cours Automates Programmables Industriels b) Mode mémorisé (affectation sur événement) Le mode mémorisé correspond à l’affectation d’une valeur à une sortie lors d’un événement interne. A l’instant du front montant de X12, l’action « Pousser A » est affectée de la valeur 1. Cette affectation a lieu même lors d’une évolution fugace. On distingue les événements suivants : Figure.29 Affectation Un autre type d’action mémorisée est défini dans la norme, mais elle doit être maniée avec précaution (voire évitée), en effet ce nouveau type action est associé, non pas à un événement relatif à l’évolution d’une étape mais à un événement relatif au franchissement d’une transition. Action au franchissement La variable J est affectée de la valeur 1 lors du franchissement de la transition. On ne peut obtenir un fonctionnement identique en associant une action à la désactivation de l’étape 24 ou à l’activation de l’étape 13. Figure.30 Action sur événement c) Notion d évolution fugace On dit qu’une évolution du Grafcet est fugace lorsque à la suite d’un événement d’entrée (un changement de l’état des entrées) ou de l’évolution du Grafcet, plusieurs transitions sont franchies successivement. Walid CHEBBI 44 ISET GAFSA Support de cours Automates Programmables Industriels - Instant t o Le système est dans la situation i {12}, o La réceptivité b est vraie - Instant t+å o a passe à l’état 1 o L’étape 12 est activée, l’étape 11 est désactivée ; o La réceptivité aval est déjà vraie ; o L’étape 13 est activée, l’étape 12 est désactivée ; Figure.31 Evolution fugace o Cette situation est transitoire - Instant t+1 o La situation i+1 est stable Lors d’une évolution fugace, les actions continues ne sont pas réalisées, par contre les actions mémorisées sont effectuées. Walid CHEBBI 45 ISET GAFSA Support de cours Automates Programmables Industriels CHAPITRE III GUIDE D’ETUDE DE MODES DE MARCHE ET D’ARRETS : GEMMA I – Définition II – Les concepts de base III – GEMMA : les états de Marches et d’Arrêts IV – GEMMA : méthode de mise en uvre V – GEMMA : vers le GRAFCET complété VI – GRAFCET : traitement des arrêts d’urgence Walid CHEBBI 46 ISET GAFSA Support de cours Automates Programmables Industriels I – Définition Le GEMMA (Guide d’Etude des Modes de Marches et d’Arrêts) définit un vocabulaire et des concepts de base qui permettent de définir avec précision les modes de marche et arrêt nécessaires au bon fonctionnement d’un automatisme. Le GEMMA se présente sous forme d’un guide graphique qui est rempli progressivement lors de la conception du système. On commence par recenser les « Modes » ou « Etats » de fonctionnement du système en utilisant des critères clairement définis, indépendants à la fois du type de système étudié et de la technologie de commande. On établit ensuite les liaisons possibles entre ces « Modes » ou « Etats », en expliquant les conditions d’évolution. Le GEMME est alors un outil d’aide à l’analyse, d’aide à la synthèse du cahier des charges et d’aide à la conduite de la machine, à sa maintenance ainsi qu’à son évolution. II – Les concepts de base Le GEMMA constitue une méthode d’approche des Modes de Marches et d’Arrêts, fondée sur quelques concepts de base matérialisés par un Guide graphique. La démarche proposée comporte 2 temps : 1. le recensement des différents modes envisagés, et la mise en évidence des enchaînements qui les relient, 2. la détermination des conditions de passage d’un mode à l’autre. II – 1 – Concept N°1 : les modes de Marches sont vus par une partie commande en ordre de marche Tout système peut être décomposé fonctionnellement en deux parties qui coopèrent : la Partie Opérative et la Partie Commande. Les Modes de Marches ou Arrêts concernent le système, c’est-à-dire l’ensemble « Partie opérative » + « Partie commande », mais tels qu’ils sont vus par la partie commande. Par conséquent, ceci suppose que la partie commande est en ordre de marche, avec tous ses organes convenablement alimentés, même si la partie opérative est hors énergie, ou en défaut, ou à l’arrêt. Walid CHEBBI 47 ISET GAFSA Support de cours Automates Programmables Industriels Le guide graphique GEMMA est donc constitué de deux zones : - une zone correspondant à l’état inopérant de la partie commande (PC). Elle ne figure que pour la forme ; - une zone permettant de décrire ce qui se passe lorsque la partie commande (PC) fonctionne normalement. C’est la zone qui couvre la quasi-totalité du guide graphique. La mise sous énergie et dans un état initial de la partie commande permet de franchir la frontière entre deux zones. On trouve alors la partie opérative (PO) hors ou sous énergie. On peut franchir la frontière dans l’autre sens par coupure d’énergie sur PC. PC HORS ENERGIE Mise en énergie de la PC PC SOUS ENERGIE PC HORS ENERGIE Mise hors énergie de la PC PC SOUS ENERGIE II – 2 – Concept N°2 : le critère « production » Un système industriel automatisé est conçu fondamentalement pour produire une certaine valeur ajoutée. C’est la justification principale de la construction du système. Cette production de valeur ajoutée peut être très variée : modification des produits, contrôle, manutention, stockage, et cependant, l’expérience montre qu’on peut toujours la caractériser pour un système donné de façon précise et unique. Ce sera donc notre premier critère : en dire que le système est « en production » si la valeur ajoutée pour laquelle le système a été conçu est obtenue, on dira que le système est « hors production » dans le cas contraire. HORS PRODUCTION PRODUCTION Walid CHEBBI 48 ISET GAFSA Support de cours Automates Programmables Industriels II – 3 – Concept N°3 : les trois grandes familles de modes de marche arrêts F A Procédures d arrêts Procédures des fonctionnements D Procédures de défaillance § Famille F : On groupe dans cette famille tous les modes ou états qui sont indispensables à l’obtention de la valeur ajoutée, ou, autrement dit, tous ceux sans lesquels on ne peut pas techniquement ou fonctionnement obtenir la valeur ajoutée pour la quelle la machine est prévue. Ces modes sont regroupés dans le guide graphique dans une zone F « procédures de fonctionnement ». Notons que l’on ne « produit » pas forcement dans tous les modes de cette famille : ils peuvent être préparatoires à la production, ou servir aux régalages ou aux tests par exemple. Ils n’en demeurent pas moins indispensables : on ne sait pas faire du moulage en coquille sans préchauffer l’outillage (marche de préparation), ni effectuer des opérations d’usinage sans réglage ni contrôles périodiques. § Famille A : Une automatique fonctionne rarement 24h/24 : il est nécessaire de l’arrêter de temps à l’autre, pour des raisons extérieurs au système, tout simplement parce que la journée est fini, ou bien par manque d’approvisionnement, par exemple. L’expérience montre qu’il est souvent délicat de concevoir les équipements automatiques pour qu’ils arrêtent correctement le processus qu’ils contrôlent. On classera dans cette famille tous les modes conduisant à (ou traduisant) un état d’arrêt du système pour des raisons extérieures. Ils sont regroupés dans une zone A « procédure d’arrêt » du guide graphique. Notons qu’on peut produire en étant une procédure d’arrêt, si cet arrêt est demandé à la fin d’une opération, par exemple. Walid CHEBBI 49 ISET GAFSA Support de cours § Automates Programmables Industriels Famille D : Il est rare qu’un système fonctionne sans incident pendant toute sa vie : il est indispensable de prévoir les défaillances. On regroupe dans cette famille tous les modes conduisant à (ou traduisant) un état d’arrêt du système pour des raisons intérieures au système, autrement dit, à cause de défaillances de la partie opérative. Ces modes sont représentés dans une zone D « procédures en défaillance » du guide graphique. II – 4 – Les « rectangles-états » Sur le guide graphique GEMMA, chaque Mode de Marche ou d’Arrêt désiré peut être décrit dans l’un des « rectangles-états » prévus à cette fin. La position d’un rectangle-état sur le guide graphique définit : - son appartenance à l’une des 3 familles : procédure de fonctionnement, d’arrêt ou de défaillance ; - la fait qu’il soit « en » ou « hors production ». Le rectangle-état porte une désignation de Marche ou d’arrêt utilisant un vocabulaire ne pouvant prêter à confusion : c’est à dessein qu’ont été écartées, pour ces dénominations générales, les expressions communément utilisées pour dénommer les Modes de Marche ou d’Arrêts, qui sont souvent comprises différemment de chacun. Par contre, ces expressions usitées pourront être employées dans le « langage machine », précisant dans le cadre des « rectangles-états » les Modes de Marches ou d’Arrêts pour une machine déterminée. Par exemple, dans le « rectangle-état » <Production normale >, on trouvera la précision : « moulage semi-automatique ». PROCEDURES DE FONCTIONNEMENT A1 < Arret dans l’etat initial > PRODUCTION A2 < Arret demande en fin de cycle > PROCEDURES D’ARRET < Production normale > F1 Moulage semi-automatique PROCEDURES DE DEFAILLANCE Walid CHEBBI 50 ISET GAFSA Support de cours Automates Programmables Industriels III – GEMMA : les états de Marches et d’Arrêts Le guide graphique GEMMA porte les « rectangles-états » dans lesquels seront exprimés les différents états de Marches et d’Arrêts pris par la machine. En pratique, pour une machine donnée, on ne choisira parmi les états proposés par le guide que ceux qui sont nécessaires, et on précisera le nom de chacun des états retenus, à l’intérieur du « rectangleétat » correspondant. Pour effectuer ce choix, il est nécessaire de bien comprendre la signification de chacun des états de Marches et d’Arrêts proposés par le guide graphique : c’est l’objet de ce chapitre. III – 1 – Un « rectangle-état » type F2 < Marches de préparation > F2 est le repère du « rectangle-état ». F signifie que l état proposé fait partie des procédures de Fonctionnement. (A pour procédures d Arrêt, et D pour procédures en Défaillance). < Marche de préparation > est la dénomination générale de l état proposé. Les <---> indiquent emploi du « langage général ». les principales possibilités de liaisons d état à état sont suggérées. III – 2 – Utilisation d’un « rectangle-état » F2 F2 < Marches de préparation > Préchauffage du moule Walid CHEBBI I - L état est retenu pour la machine. Il est précisé dans le « langage machine ». Les liaisons retenues indiqués en très fort. sont II - Les conditions d évolution entre états sont indiquées sur les liaisons. 51 < Marches de préparation > Préchauffage du moule T=300° ISET GAFSA Support de cours Automates Programmables Industriels III – 3 – Les états § Famille F : Ce sont les états de marches situés dans la zone « procédures de Fonctionnement » du guide graphique GEMMA. o F1 : < Production normale > : Dans cet état, la machine produit normalement : c’est l’état pour lequel elle a été conçue. C’est à ce titre que le « rectangle-état » a un cadre particulièrement renforcé. On peut souvent faire correspondre à cet état un GRAFCET que l’on appelle GRAFCET de base. o F2 : < Marche de préparation > : Cet état est utilisé pour les machines nécessitant une préparation préalable à la production normale : préchauffage de l’outillage, remplissage de la machine, mises en routes diverses, etc. o F3 : < Marche de clôture > : C’est l’état nécessaire pour certaines machines devant être vidées, nettoyées, etc., en fin de journée ou en fin de série. o F4 : < Marche de vérification dans le désordre > : Cet état permet de vérifier certaines fonctions ou certains mouvements sur la machine, sans respecter l’ordre du cycle. o F5 : < Marche de vérification dans l ordre > : Dans cet état, le cycle de production peut être exploré au rythme voulu par la personne effectuant le vérification, la machine pouvant produire ou ne pas produire. o F6 : < Marche de test > : Les machines de contrôle, de mesure, de tri,…, comportent des capteurs qui doivent être réglés ou étalonnés périodiquement : cet état permet ces opérations de réglage ou d’étalonnage. Walid CHEBBI 52 ISET GAFSA Support de cours Automates Programmables Industriels § Famille A : Situés dans la zone « procédures d’Arrêts de la partie opérative », ces états correspondent à des arrêts normaux ou à des marches conduisant à des arrêts normaux. o A1 : < Arrêt dans l état initial > : C’est l’état « repos » de la machine. Il correspond en général à la situation initiale, ce « rectangle-état » est entouré d’un double cadre. Pour une étude plus facile de l’automatisme, il est recommandé de représenter la machine dans cet état initial. o A2 : < Arrêt demandé en fin de cycle > : Lorsque l’arrêt est demandé, la machine continue de produire jusqu’à la fin du cycle. A2 est donc un état transitoire vers l’état A1. o A3 : < Arrêt demandé dans un état déterminé > : La machine continue de produire jusqu’à un arrêt en une position autre que la fin de cycle : c’est un état transitoire vers A4. o A4 : < Arrêt obtenu > : La machine est alors arrêtée en une autre position que la fin du cycle. o A5 : < Préparation pour remise en route après défaillance > : C’est dans cet état que l’on procède à toutes les opérations (dégagements, nettoyages,…) nécessaires à une remise en route après défaillance. o A6 : < Mise de la P.O dans l état initial > : La machine étant en A6, on remet manuellement ou automatiquement la partie Opérative en position pour un redémarrage dans l’état initial. o A7 : < Mise de la P.O dans un état déterminé > : La machine étant en A7, on remet la P.O en position pour un redémarrage dans une position autre que l’état initial. Walid CHEBBI 53 ISET GAFSA Support de cours Automates Programmables Industriels § Famille D : Ce sont les états de Marches et d’Arrêts situés dans la zone « procédures de Défaillance3 de la Partie Opérative. o D1 : < Arrêt d urgence > : C’est l’état pris lors d’un arrêt d’urgence : on y prévoit non seulement les arrêts, mais aussi les cycles de dégagements, les procédures et précautions nécessaires pour éviter ou limiter les conséquences dues à la défaillance. o D2 : < Diagnostic et/ou traitement de défaillance > : C’est dans cet état que la machine peut être examinée après défaillance et qu’il peut être apporté un traitement permettant le redémarrage. o D3 : < Production tout de même > : Il est parfois nécessaire de continuer la production même après une défaillance de la machine : on aura alors une « production dégradée », ou une « production forcée », ou une production aidée par des opérateurs non prévus en < Production Normale >. III – 4 – Liaisons entre les cases Les diverses cases du GEMMA sont reliées entre elles par des traits fin fléchés qui indiquent les possibilités d’évolution du système, c’est-à-dire les passages d’une situation à une autre. Tous ces traits ne seront pas systématiquement utilisés pour un système donné. Ceux qui sont significatifs seront passés en trait fort. III – 5 - Mise en uvre d’un GEMMA Le mise en uvre d’un GEMMA consiste à : § Identifier les situations possibles du système, § Définir les « rectangles-états », § Etablir les liaisons entre les états, § Spécifier les conditions qui génèrent ces transitions, § Identifier les indicateurs qui se rendent compte. Walid CHEBBI 54 ISET GAFSA Support de cours Walid CHEBBI Automates Programmables Industriels 55 ISET GAFSA Support de cours Automates Programmables Industriels IV – GEMMA : méthode de mise en uvre Comme nous l’avons montée, le GEMMA est non seulement un méthode systématique pour sélectionner les modes de marches et d’arrêts lors de la conception d’une machine automatique, mais aussi un moyen pratique pour les présenter et les exploiter : le guide graphique de format A3, reproduit aux deux pages suivantes, est destiné à être photocopié pour servir de base à la recherche et à la mise en formate du GEMMA pour, chaque application Les deux exemples introductif que nous avons explorés nous permettent de dégage les règles pratiques pour l’emploi du GEMMA dans la conception d’un équipement automatisé 1- Utilisation du GEMMA pour l étude d une machine de production automatisée Comme nous l’avons montré, la pratique courante de l’étude des machines de production Automatisée n’aborde pas méthodiquement la sélection des modes de marches et d’Arrêts, ce qui entraîne souvent des modifications longues et coûteuses de la machine après réalisation. En mettant en uvre le GEMMA dans l’étude, les modes de marches et d’arrêts, sont prévus dès la conception et intégrés dans la réalisation. Voici une séquence d’étude typique. - Etude de processus d’action Définition du cycle de production (Grafcet fonctionnel) - définition de la partie opérative et des capteurs établissement du Grafcet opérationnel de base III - Mise en uvre du guide graphique GEMMA pour la sélection des Modes de Marches et d’Arrêts avec mise en évidence des liaisons entre ces modes IV - Parallelement - définition a l’aide du GEMMA des conditions d’évolution entre les états de Marche et d’Arrêt définition des fonctions du pupitre de commande établissement du Grafcet complet V - Choix d’une technologie de commande : électrique, électronique ou pneumatique, câblee ou programmee… VI - Conception du schéma ou du programme de commande dans la technologie choisie I Parallelement II Parallelement Walid CHEBBI 56 ISET GAFSA Support de cours Automates Programmables Industriels 2- Sélection de modes Marches et d Arrêts La partie opérative de la machines étant définie, ainsi que le GRAFCET du cycle de production normale, le guide graphique GEMMA est mis en uvre, dans un premier temps, pour sélectionner et préciser les modes de Marches et d’Arrêts nécessaires. Deux préoccupations simultanées permettent d’aboutir facilement : a- envisager tous les « rectangle-état » proposés par le GEMMA Avec ses « rectangle-état », le guide graphique constitue une « check list » des différents types de modes de Marches et d’Arrêts nécessaires en automatisation industrielle courante. Pour une machine donnée, il est donc important d’examiner le cas de chaque « rectangleétat » : - si le mode proposé est retenu, il sera précisé en « langage machine » dans le « rectangle-état » ; au besoin, plusieurs variantes de ce mode seront distinguées ; - si le mode proposé n’est pas nécessaire pour la machine, un choix sera porté dans le « rectangle-état ». Pour bien signifier qu’il n’est pas retenu. Ce rectangle-état est retenu et précise dans le langage machine F2 F3 < Marche de cloture > < Marche de preparation > Ce rectangle-état n’est pas retenu pour la machine Prechauffage F1 < Production normale > b- rechercher les évolutions d’un état à l’autre Deux états essentiels, définis dès le début de l’étude, se retrouvent sur touts les machines : - l’état A1, dit <état initial>, ou « état repos » de la machine (2) - l’état F1 mode de <production normale>, pour lequel la machine a été conçue (2). En parlant de chacun des deux états, A1 et F1, il est intéressant de rechercher les évolutions vers d’autres états, donc la nécessite est moins évidente au premier abord. Walid CHEBBI 57 ISET GAFSA Support de cours - Automates Programmables Industriels On pourra commencer par démarrer la machine, c’est-à-dire passer de A1 à F1, en se posant la question : une <marche de préparation> F2 est-elle nécessaire ? - - - On arrêtera alors la machine, au choix : • Enfin de cycle => circuit F1 => A2 => A1 • Dans une autre position => circuit F1 => A3 => A4 On examinera les cas de défaillance, • Avec < Arrêt d’urgence >, D1 • Avec < production tout de même >, D3 Etc. En pratique, on mettra en évidence des boucles passant par les état A1 ou F1, et appartenant à l’une des deux familles montrées par le croquis ci-dessus : • Les boucles « démarrage – arrêt normal » • Les boucles « démarrage – défaillance – retour à l’état initial ». A1 < Arret dans etat initial> < Production normale > F1 Le guide graphique GEMMA permet donc une sélection des modes de marches et d’arrêts pour une machine donnée : la méthode consiste à examiner le cas de chacun des états proposés, en recherchant les évolutions d’un état dans l’autre, en particulier à partir des deux états essentiels sur toute machine, l’état initial A1 et l’état de production normale F1. Cette sélection étant achevée et mise au net sur le guide graphique GEMMA, il y a lieu d procéder au 2° temps de l’exploitation du GEMMA : la recherche des conditions d’évolution entre les modes de marches et d’arrêts. Walid CHEBBI 58 ISET GAFSA Support de cours Automates Programmables Industriels V – GEMMA : vers le GRAFCET complété Le Gemma d’un système ayant été obtenu, on dispose alors des éléments nécessaire pour obtenir le cahier des charges définitif de la partie commande et en particulier son GRAFCET. L’objet de ce chapitre est de monter comment intégrer les précisions obtenues sur les modes de marches et d’arrêts, dans le GRAFCET (1) d’ensemble de la partie commande. On emploie toujours le singulier pour désigner le graphe ou l ensemble de graphes décrivant le fonctionnement d un automatisme, car on peut toujours passer d une forme à autre tout en ne décrivant qu un seul fonctionnement On appelle GRAFCET COMPLETE, le GRAFCET d’un automatisme intégrant l’ensemble des modes de marche, par opposition au GRAFCET de BASE (2) qui décrit seulement le comportement du système en mode F1 < Production Normale >. Pour aboutir au GRAFCET COMPLETE, on peut envisager 2 types de méthodes : 1- enrichissement du GRAFCET de BASE. 2- Structuration en « TACHES ». On se place ici dans le cas fréquent en production automatisée où le fonctionnement normal se prête bien à une description par GRAFCET. Si tel n est pas le cas, l approche GEMMA demeure utile pour l étude de la machine. V – 1 – Enrichissement du GRAFCET de BASE C’est la méthode utilisée dans l’exemple introductif de la machine à remplir et à boucher. A partir du GRAFCET de BASE correspondant au rectangle-état F1 <Production Normale>, on examine ce qu’il faut rajouter pour que les autres modes puissent être assurés. Ceci revient souvent à ajouter des « branches » ou « séquences » exclusives les unes des autres, où les conditions d’aiguillages sont les conditions de passage d’un rectangle-état à un autre. Exemple : Considérons un système doté d’une < marche de clôture > F3 constituée d’une séquence d’ouverture d’un magasin pour réapprovisionnement. Walid CHEBBI 59 ISET GAFSA Support de cours Automates Programmables Industriels Nous trouvons les éléments suivants : a) Extrait du « GRAFCET de BASE » b) extrait du GEMMA du système c) Extrait du GRAFCET COMPLETE Walid CHEBBI 60 ISET GAFSA Support de cours Automates Programmables Industriels V – 2 – Découpage en Tâches Il arrive fréquemment qu’un ou plusieurs rectangle-état autres que F1 <Production normale> exigent la mise en uvre de cycles assez complexes justifiant pour chacun d’eux une étude séparée. Il peut être alors intéressant de structurer chacun de ces modes, y compris F1 <Production Normale> en tâches autonomes, dont on étudiera ensuite les conditions de coordination. Le GRAFCET permet facilement de représenter une telle structure en tâches. L’illustration ci-contre donne une méthode possible. Une fois que chacun des rectangle-état intéressés est décrit par GRAFCET sous forme de tâche autonome (tâche de préparation, tâche de test…) il convient d’examiner attentivement les conditions de coordination entre tâches. Pour cela, on peut recourir à 2 types de méthodes - Coordination « horizontale » - Coordination « verticale » ou « hiérarchisée ». Walid CHEBBI 61 ISET GAFSA Support de cours Automates Programmables Industriels A – Coordination horizontale Ce procède est intéressant lorsque aucune tache n’est preeminente et que chacune peut en lancer une autre. Prenons l’exemple donne plus haut ou l’on trouve une <marche de clôture > F3que l’on structure en tache F3. le Grafcet de base correspondant a F1 est également structure en taches. Cet exemple montre qu’on peut facilement entraîner les taches et que les liaisons entre elles sont assez limitées. De plus, il est souhaitable qu’à tout instant une tache et une seule soit en cours d’exécution. Ceci est le cas pour un système régi par un GEMMA unique, puisqu’il y a a tout instant unicité du mode. B – Coordination Verticale ou Hiérarchisée Reprenons l’exemple déjà évoque plus haut et dotons le système d’une < marche de préparation > F2 correspondant a une séquence de fermeture du magasin après réapprovisionnement. Il a de plus un mode A1, < arrêt dans état initial>. Il peut avoir d’autres rectangles-états, mais nous ne considérons que A1, F1, F2, F3. Walid CHEBBI 62 ISET GAFSA Support de cours Automates Programmables Industriels D’où l’extrait ci-dessous du GEMMA d’un système. Walid CHEBBI 63 ISET GAFSA Support de cours Automates Programmables Industriels VI – GRAFCET : traitement des arrêts d’urgence On sait qu’un des intérêts du GRAFCET est de n’indiquer à chaque les seules circonstances qui la font évoluer. L’ARRÊT D’URGENCE devant toujours faire évoluer la situation de la partie commande. On devait en toute rigueur la faire apparaître à chaque étape du GRAFCET. Dès que le cas traité devient un peut important le GRAFCET devient complètement illisible. Il en découle qu’il est malaisé de considérer l’arrêt d’urgence comme une information entrée comme les autres. C’est de plus contraire à l’esprit même de l’urgence accordant à cet arrêt une sorte de « super priorité ». Pourtant il est intéressant (mais ce n’est pas toujours formaliser système possible) le lors de pouvoir comportement de l’apparition d’un de l’information AU. Deux solutions peuvent être proposées : 1 – sans séquence d’urgence : le système arrête son évolution, 2 – avec séquence d’urgence : l’apparition de AU déclenche une procédure particulière. VI – 1 – Sans séquence d’urgence A – Inhibition des actions L’apparition de AU n’arrête pas directement l’évolution de l’automatisme, mais inhibe les actions associées aux étapes. Les sorties à 1 sont ramenées à 0 ce qui entraîne généralement l’arrêt de l’évolution par non-satisfaction des réceptivité. Ceci peut être obtenu très facilement par l’insertion de fonctions inhibition dans l’interface avec la partie opérative. Walid CHEBBI 64 ISET GAFSA Support de cours Automates Programmables Industriels Dans ce cas, la commande des actionneurs doit être particulièrement bien étudiée selon le type de réaction souhaitée en cas d arrêt d urgence . Par exemple : § Pour des distributeurs commandant des vérins : • Commande mono-stable, si l on désire un retour dans une position donnée. • Commande bi-stable, si l on désire un arrêt en fin de mouvement, • Distributeur à 3 positions, si l on désire un arrêt sur place .. § Pour des contacteurs commandant des moteurs : • Commande mono-stable, • Câblage incluant des « sur-courses » en sécurité B – Figeage de l’automatisme On suppose dans ce cas que terme AU est en facteur implicite dans toutes les réceptivités. Dès l’occurrence de AU, aucune réceptivité ne peut prendre la valeur 1 : la situation ne peut évoluer. La disparition de AU autorise à nouveau l’évolution du cycle. Notons que dans ce cas, les actions associées aux étapes actives demeurent. Les mouvements lancés se poursuivent, ce qui peut être dangereux en soi, ou bien par suite de blocage de évolution. Pour décrire les procédés A et B combinés on pourra avoir la convention suivante. De nombreux matériels contiennent « par constriction » cette possibilité de figeage par AU sans qu un câblage ou qu une programmation supplémentaire ne soit nécessaire Walid CHEBBI 65 ISET GAFSA Support de cours Automates Programmables Industriels VI – 2 – Avec séquence d’urgence Diverses possibilités s’offrent : citons-en deux. A – Adjonction d’une « tâche d’urgence » On peut ajouter une tâche (voir p. 21) non soumis aux conventions ci-dessus et qui sera lancée par AU. 00 Marche normale AU 01 A1 Description par Grafcet du cycle de degagement R2 02 A2 AU Remarque : La question des arrêts d’urgence est toujours très délicate. Les quelques lignes qui lui sont ici consacrées ne veulent pas être autre chose que des éléments de réflexion. B – Utilisation d’un système de regroupement Un système particulier (choisissons un « entonnoir ») permet d’éviter de tracer tous les arcs en provenance de toutes les étapes, ce qui allége le graphisme. L’inconvénient est qu’on perd la « mémoire » de la situation où est intervenu l’AU 10 100 11 101 12 Walid CHEBBI 66 ISET GAFSA Support de cours Automates Programmables Industriels CHAPITRE IV LES AUTOMATES PROGRAMMABLES INDUSTRIELS : API I- Définition II – Structure de base III – Modules spéciaux IV – Critères de choix d’un automate Walid CHEBBI 67 ISET GAFSA Support de cours Automates Programmables Industriels I- Définition Un Automate programmable industriel est une machine électronique spécialisée dans la conduite et la surveillance en temps réel de processus industriels. Il exécute une suite d'instructions introduites dans sa mémoire sous forme de programme, et s'apparente, par conséquent aux machines de traitement de l'information, mais trois caractéristiques fondamentales le distinguent totalement des outils informatiques tels que les ordinateurs utilisés dans les entreprises. Il peut être directement connecté aux capteurs et pré-actionneurs grâce à ses entrées sorties industrielles. Il est conçu pour fonctionner dans les ambiances industrielles sévères (température, vibration, micro-coupures de la tension d'alimentation, parasites, etc.) Enfin, sa programmation à partir de langages spécialement développés pour le traitement de fonctions d'automatismes fait en sorte que sa mise en uvre et son exploitation ne nécessitent aucune connaissance en informatique. II – Structure de base La Structure de base de base d'un automate programmable repose sur trois éléments fonctionnels principaux : un processeur, une mémoire, des entrées sorties tout ou rien. La liaison électrique entre ces éléments est réalisée par un bus. Un bloc d'alimentation fournit les tensions nécessaires pour le fonctionnement de l'ensemble. Capteurs Processus à commander Actionneurs Automate Alimentation Entrées Processeur Sorties Mémoire Pupitre Walid CHEBBI Console de programmation 68 Affichage ISET GAFSA Support de cours Automates Programmables Industriels II – 1 – Le processeur Le processeur ou unité centrale (UC), a pour rôle principal le traitement des instructions qui constituent le programme de fonctionnement de l'application. Mais, en dehors de cette tâche de base, il réalise également d'autres fonctions : § Gestion des entrées/sorties, § Surveillance et diagnostic de l'automate par une série de tests lancés à la mise sous tension ou cycliquement en cours de fonctionnement, § Dialogue avec le terminal de programmation aussi bien pour l'écriture et la mise au point du programme ou en cours d'exploitation pour des réglages ou des vérifications des données. Un ou plusieurs microprocesseurs exécutent ces fonctions grâce à un micro-logiciel pré-programmé (FIRMWARE) dans une mémoire système inaccessible à l'utilisateur. II – 2 – Mémoire utilisateur Elle est destinée au stockage des instructions qui constituent le programme de fonctionnement de l'automatisme ainsi que les données qui peuvent y être : § Des informations susceptibles d'évoluer en cours de fonctionnement de l'application. C'est le cas par exemple de résultats de traitement effectués par le processeur et rangés dans l'attente d'une utilisation ultérieure. Ces données sont appelées variables internes. § Des informations qui n'évoluent pas en cours de fonctionnement, mais qui peuvent en cas de besoins être modifiées par l'utilisateur (textes à afficher, valeur de présélection, etc.). Ce sont les constantes. L'élément de base de la mémoire est le bit (abréviation de l'anglais Binary digit : chiffre binaire) qui peut prendre les deux états logiques 0 et 1. Les bits sont généralement regroupés en mot de 8 bits (byte ou octet) qui sont identifiés chacun par une adresse. La taille de la mémoire est évaluée en Kilo mots (1 K mots = 210 mots = 1024 mots) ou en K octets, ceci pour chacune des deux parties : programme et données. Walid CHEBBI 69 ISET GAFSA Support de cours Automates Programmables Industriels Deux types de mémoires sont utilisés dans les API - Les mémoires vives (RAM mémoires à accès aléatoire) : Le contenu de ces mémoires peut être lu et modifié à volonté, mais il est perdu en cas de manque d’alimentation électrique (mémoire volatile). Elles nécessitent par conséquent une sauvegarde par batterie. Les mémoires vives sont utilisées pour l’écriture et la mise au point des programmes et pour le stockage des données. - Les mémoires mortes dont le contenu maintenu (non volatile) en cas de disparition de la tension d’alimentation, et qui peuvent être lues uniquement. Leur réécriture nécessite un effacement total préalable par une procédure particulière hors de l’automate, soit par rayons ultraviolets (EPROM UVPROM) soit électrique (EEPROM). Elles sont destinées à la mémorisation du programme après la phase de mise au point. La mémoire programme est contenue dans une ou plusieurs cartouches qui viennent s’insérer sur le module processeur ou sur un module d’extension mémoire. II – 3 – Entrées Sorties TOR Les entrées sorties TOR Assurent l’intégration directe de l’automate dans son environnement industriel en réalisant la liaison entre le processeur et le processus. Elles ont toutes de base une double fonction : Une fonction d’interface pour la réception et la mise en forme des signaux provenant de l’extérieur (capteurs, bouton poussoir, etc.) et pour l’émission des signaux vers l’extérieur (commande de pré-actionneurs, voyants de signalisation, etc.) La conception de ces interfaces avec un isolement galvanique ou un découplage optoélectronique assure la protection de l’automate contre les parasites. Une fonction de communication pour l’échange des signaux avec l’unité centrale par l’intermédiaire du bus d’entrée - sortie. II – 4 – Le bus Le bus est un ensemble de conducteurs qui réalisent la liaison entre les différents éléments de l’automate. Walid CHEBBI 70 ISET GAFSA Support de cours Automates Programmables Industriels Il est organisé en plusieurs sous-ensembles destinés chacun à véhiculer un type bien défini d’informations : - Bus de données pour les signaux d’entrée- sortie, - Bus d’adresse des entrées – sorties, - Bus de commande pour les signaux de service tels que le top de synchronisation, sens des échanges, contrôle des validités des échanges, etc. - Bus de distribution des tensions issues du bloc d’alimentation. II – 5 – Bloc d’alimentation Le bloc d’alimentation élabore à partir d’un réseau 110 V ou 220 V en courant alternatif ou d’une source 24 ou 48 V en courant continu, les tensions internes distribuées aux modules de l’automate. Afin d’assurer le niveau de sûreté requis, elle comporte des dispositifs de détection de baisse ou baisse ou de coupure de la tension réseau et de surveillance des tensions internes. En cas de défaut, ces dispositifs peuvent lancer une procédure prioritaire de sauvegarde. III – Modules spéciaux III – 1 – Modules d’entrée/Sorties analogiques Les modules d’entrées analogiques permettent l’acquisition de mesures de grandeurs continues analogiques variant dans une plage de tension (0 à.10 V) ou de courant (4 à 20 mA) Le module assure la conversion analogique – numérique (CAN) et fournit pour la CPU un nombre code sur 8, 12 ou 16 bits Les modules de sortie analogique permettent de générer un signal de commande analogique sous forme d’une tension ou d’un courant. Ils sont muni de convertisseur numériques analogiques (CNA). Les entrées/sorties analogiques sont très utilisées dans la commande des processus où interviennent des grandeurs physiques continues (vitesse, pression, température, …) Ces modules ne font généralement pas partie des configurations de base des automates commercialisés, ils constituent des modules d’extension. Ils coûtent beaucoup plus cher que les modules d’entrées/sorties logiques. Walid CHEBBI 71 ISET GAFSA Support de cours Automates Programmables Industriels III – 2 – Les modules de communication Ce sont des modules spécialisés qui permettent de relier des automates programmables industriels en un réseau. Il n’y a pas de standard bien défini pour les réseaux d’automates comme c’est le cas pour les réseaux d’ordinateurs. Chaque constructeur propose un réseau avec un protocole de communication propre. III – 3 – Les modules de fonctions spécialisées Ces modules permettent d’assurer des tâches spécifiques (positionnement d’axe, comptage rapide, régulation PID …). Ils sont généralement équipés de CPU spécialisés. Leur utilisation simplifie la tâche du développeur et permet de libérer la CPU de l’automate pour d’autres traitements IV – Critères de choix d’un automate Les principaux critères techniques pour le choix d’un API sont : • Capacité en entrées / sorties logiques • Capacité d’extension des entrées / sorties en nombre et en type • Capacité de programme (taille de mémoire de programme code et donnée) • Temps de cycle et temps de réaction • Possibilité de communication • Classe de protection • Langages de programmation • Outils de développements d’applications et de diagnostic • Compatibilité avec d’autres matériels et protocoles S’ajoutent à ces critères techniques d’autres critères économiques (coût d’achat, d’installation et de maintenance) et logistiques (disponibilité des pièces de rechange, assistance technique, compatibilité avec les équipements existants …). Walid CHEBBI 72 ISET GAFSA Support de cours Automates Programmables Industriels CHAPITRE IV L’AUTOMATE SIEMENS S7-200 I – Présentation du micro-automate S7-200 II – Jeu d’opération S7-200 Walid CHEBBI 73 ISET GAFSA Support de cours Automates Programmables Industriels I – Présentation du micro-automate S7-200 La famille S7-200 est constituée de micro-automates programmables utilisables dans des applications d’automatisation variées. Sa forme compacte, son faible prix et son important jeu d’opérations en font une solution idéale pour la commande de petites applications. En outre, le large choix de modèles S7-200 ainsi que l’outil de programmation se basant sur Windows offrent la souplesse nécessaire pour résoudre plusieurs problèmes d’automatisation. I – 1 – CPU S7-200 Un automate programmable S7-200 consiste en une CPU S7-200 seule ou complétée de divers modules d’extension facultatifs. La CPU S7-200 combine un microprocesseur, une alimentation intégrée, des circuits d’entrée et des circuits de sortie dans un boîtier compact afin de créer un puissant micro-automate (figure.1). Une fois qu’on a chargé notre programme, le S7-200 contient la logique nécessaire au contrôle et à la commande d’unités d’entrée et de sortie dans notre application. Figure.1 micro automate S7-200 I – 2 – Composantes principales de l’automate programmable S7-200 La CPU S7-200 est un appareil autonome compact comprenant une unité centrale (CPU ou UC), une alimentation et des entrées/sorties discrètes. • La CPU exécute le programme et sauvegarde les données pour la commande du processus ou de la tâche d’automatisation. • Les entrées et les sorties TOR sont les points de commande du système : les entrées surveillent les signaux des appareils sur site (tels que capteurs et commutateurs) et les sorties commandent pompes, moteurs et autres appareils dans un processus. Walid CHEBBI 74 ISET GAFSA Support de cours Automates Programmables Industriels • L’alimentation fournit de l’énergie électrique à la CPU et à tout module d’extension connecté. • Les interfaces de communication permettent de connecter la CPU à une console de programmation ou à d’autres appareils. • Des témoins (DEL) d’état donnent des informations visuelles sur l’état de fonctionnement de la CPU (Marche – RUN – ou Arrêt – STOP –), l’état en vigueur des entrées/sorties locales et la détection éventuelle d’une défaillance système. • On peut ajouter des E/S supplémentaires à la CPU par l’intermédiaire de modules d’extension (à l’exception de la CPU 221 pour laquelle ce n’est pas possible). • Il est possible d’adjoindre des liaisons de communication aux performances plus élevées avec des modules d’extension. • Certaines CPU comportent une horloge temps réel intégrée alors que d’autres ont une cartouche d’horloge temps réel optionnelle. • Une cartouche EEPROM série enfichable (en option) permet de stocker des programmes CPU ou de transférer des programmes d’une CPU dans une autre. • Une cartouche pile enfichable (en option) permet d’étendre la rémanence de la mémoire de données en mémoire vive. I – 3 – Raccordement de l’alimentation à la CPU S7-200 Figure.2 Walid CHEBBI Raccordement de l alimentation du S7-200 75 ISET GAFSA Support de cours Automates Programmables Industriels La première étape consiste à raccorder le S7-200 à une source de courant. La figure 2-montre les connexions de câblage pour un modèle en courant continu et un modèle en courant alternatif de la CPU S7-200. I – 4 – Progiciel de programmation STEP 7-Micro/WIN Le progiciel de programmation STEP 7-Micro/WIN fournit un environnement convivial pour concevoir, éditer et surveiller la logique nécessaire à la commande des applications. STEP 7-Micro/WIN comprend trois éditeurs de programme, ce qui s’avère très pratique et efficace pour la mise au point du programme de commande d’une application. Figure.3 Connexion du câble RS-232/PPI La connexion de l’automate S7-200 est facile. Il suffit de raccorder l’alimentation à l’automate S7-200, puis de connecter le câble de communication entre la console de programmation et la CPU S7-200. I – 5 – Exécution des tâches du S7-200 Le S7-200 exécute une série de tâches de manière répétitive. On appelle ”cycle” cette exécution cyclique des différentes tâches. Comme illustré figure.4, le S7-200 exécute la plupart ou la totalité des tâches suivantes pendant un cycle : § Lecture des entrées : Le S7-200 copie l’état des entrées physiques dans la mémoire image des entrées. § Exécution de la logique de commande dans la programme : Le S7-200 exécute les instructions du programme et sauvegarde les valeurs dans différentes Figure.4 zones de mémoire. Walid CHEBBI 76 cycle automate ISET GAFSA Support de cours § Automates Programmables Industriels Traitement de toute demande de communication : Le S7-200 exécute toute tâche nécessaire pour la communication. § Exécution du test d’auto-diagnostic de la CPU : Le S7-200 s’assure que le microprogramme, la mémoire de programme et les modules d’extension présents fonctionnent correctement. § Ecriture des sorties : Les valeurs enregistrées dans la mémoire image des sorties sont écrites dans les sorties physiques. I – 6 – Accès aux données du S7-200 Le S7-200 range les informations à différents emplacements de la mémoire ayant chacun une adresse unique. On peut identifier explicitement l’adresse de mémoire à laquelle on veut accéder. Ainsi, un programme dispose d’un accès direct aux informations. Le tableau suivant montre la plage des nombres entiers pouvant être représentés par les différentes tailles de données. Pour accéder à un bit dans une zone de mémoire, on doit préciser son adresse composée d’un identificateur de zone de mémoire, de l’adresse d’octet et du numéro de bit. La figure suivante montre comment accéder à un bit par la méthode appelée adressage octet.bit . Dans cet exemple, la zone de mémoire et l’adresse d’octet (I = entrée et 3 = octet 3) sont suivies d’un point les séparant de l’adresse de bit (bit 4). Le format d’adresse d’octet permet d’accéder à des données dans la plupart des zones de mémoire (V, I, Q, M, S, L et SM) sous forme d’octets, de mots ou de doubles mots. Pour accéder à un octet, un mot ou un double mot de données dans la mémoire, on précise l’adresse Walid CHEBBI 77 ISET GAFSA Support de cours Automates Programmables Industriels de manière comparable à l’adresse d’un bit. Cette adresse est composée d’un identificateur de zone, de la désignation de la taille des données et de l’adresse d’octet de départ de la valeur d’octet, de mot ou de double mot. On accède aux données situées dans d’autres zones de mémoire (T, C, HC et accumulateurs, par exemple) via un format d’adresse comprenant l’identificateur de zone et le numéro de l’élément en question. a) Accès aux données dans les zones de mémoire § Mémoire image des entrées : I Le S7-200 lit les entrées physiques au début de chaque cycle et écrit ces valeurs dans la mémoire image des entrées. On peut accéder à la mémoire image des entrées par bits, octets, mots ou doubles mots. Bit : I[adresse d octet].[adresse de bit] I0.1 Octet, mot ou double mot : I[taille][adresse d octet de départ] IB4 § Mémoire image des sorties : Q A la fin du cycle, le S7-200 copie dans les sorties physiques les valeurs contenues dans la mémoire image des sorties. On peut accéder à la mémoire image des sorties par bits, octets, mots ou doubles mots. Bit : Q[adresse d octet].[adresse de bit] Q1.1 Octet, mot ou double mot : Q[taille][adresse d octet de départ] QB5 § Mémoire des variables : V On peut se servir de la mémoire des variables (mémoire V) pour sauvegarder des résultats intermédiaires d’opérations exécutées par la logique de commande dans le programme. On peut également s’en servir pour la sauvegarde d’autres données en rapport avec un processus ou une tâche. On peut accéder à la mémoire V par bits, octets, mots ou doubles mots. Walid CHEBBI 78 ISET GAFSA Support de cours Automates Programmables Industriels Bit : V[adresse d octet].[adresse de bit] V10.2 Octet, mot ou double mot : V[taille][adresse d octet de départ] VW100 § Mémentos : M Les mémentos internes (mémoire M) - ou relais de commande - fournissent de l’espace mémoire pour l’état intermédiaire d’une opération ou d’autres informations de commande. On peut accéder à la zone des mémentos par bits, octets, mots ou doubles mots. Bit : M[adresse d octet].[adresse de bit] M26.7 Octet, mot ou double mot : M[taille][adresse d octet de départ] MD20 b) Temporisations : T Le S7-200 fournit des temporisations qui comptent des incréments de temps selon des résolutions (incréments de base de temps) égales à 1 ms, 10 ms ou 100 ms. Deux variables sont associées à chaque temporisation : - la valeur en cours : ce nombre entier signé de 16 bits contient la durée comptabilisée par la temporisation ; - le bit de temporisation : ce bit est mis à 1 ou à 0 selon le résultat de la comparaison entre valeur en cours et valeur prédéfinie, cette dernière étant indiquée dans l’opération de temporisation. On accède à ces deux variables à l’aide de l’adresse de la temporisation (T + numéro de la temporisation). Selon l’opération utilisée, l’accès se fait au bit de temporisation ou à la valeur en cours : les opérations avec des bits comme opérandes accèdent au bit de temporisation alors que les opérations ayant des mots comme opérandes accèdent à la valeur en cours. Comme la montre la figure, le contact à fermeture accède au bit de temporisation et l’opération Transférer mot à la valeur en cours de la temporisation. Walid CHEBBI 79 ISET GAFSA Support de cours Automates Programmables Industriels c) Compteurs : C Le S7-200 fournit trois types de compteurs qui comptent chaque transition du niveau bas au niveau haut aux entrées de comptage : les compteurs qui incrémentent, ceux qui décrémentent et ceux pouvant à la fois incrémenter et décrémenter. Deux variables sont associées à chaque compteur : § la valeur en cours : ce nombre entier signé de 16 bits contient le total cumulé ; § le bit de compteur : ce bit est mis à 1 ou à 0 selon le résultat de la comparaison entre valeur en cours et valeur prédéfinie, cette dernière étant indiquée dans l’opération de comptage. Vous accédez à ces deux variables à l’aide de l’adresse du compteur (C + numéro du compteur). Selon l’opération utilisée, l’accès se fait au bit de compteur ou à la valeur en cours : les opérations avec des bits comme opérandes accèdent au bit de compteur alors que les opérations ayant des mots comme opérandes accèdent à la valeur en cours. Comme la montre la figure suivante, le contact à fermeture accède au bit de compteur et l’opération Transférer mot à la valeur en cours du compteur. d) Mémoire locale : L L’automate programmable S7-200 fournit 64 octets de mémoire locale (L) dont 60 peuvent être utilisés comme mémoire intermédiaire ou pour la transmission de paramètres formels aux sous-programmes. e) Entrées analogiques : AI Le S7-200 convertit une valeur analogique (telle que la température ou la tension) en valeur numérique de 16 bits (un mot). Vous accédez à ces valeurs par l’identificateur de zone (AI), la taille des données (W) et l’adresse d’octet de départ. Comme les entrées analogiques sont des mots et commencent toujours sur des octets pairs (tels que 0, 2 ou 4), on y accède par Walid CHEBBI 80 ISET GAFSA Support de cours Automates Programmables Industriels des adresses d’octet paires (AIW0, AIW2, AIW4, par exemple). Seule la lecture des entrées analogiques est possible. Format : AIW[adresse d octet de départ] AIW4 f) Sorties analogiques : AQ Le S7-200 convertit une valeur numérique de 16 bits (mot) en un courant ou une tension proportionnelle à la valeur numérique. On écrit ces valeurs via l’identificateur de zone (AQ), la taille des données (W) et l’adresse d’octet de départ. Comme les sorties analogiques sont des mots et commencent toujours sur des octets pairs (tels que 0, 2 ou 4), on y accède par des adresses d’octet paires (AQW0, AQW2 ou AQW4, par exemple). Seule l’écriture des sorties analogiques est possible. Format : AQW[adresse d octet de départ] AQW4 II – Jeu d’opération S7-200 II – 1 – Opérations combinatoires sur bits A) Contacts § Contacts standard Les opérations Contact à fermeture (LD, A, O) et Contact à ouverture (LDN, AN, ON) obtiennent la valeur référencée dans la mémoire ou dans la mémoire image du processus. Les opérations Contacts standard obtiennent la valeur référencée dans la mémoire ou dans la mémoire image si le type de données est I ou Q. Le contact à fermeture est fermé (activé) lorsque le bit est égal à 1 et le contact à ouverture est fermé (activé) lorsque le bit est égal à 0. En LOG, on peut rajouter des entrées aux boîtes AND et OR à condition de ne pas dépasser 32 entrées au maximum. En LIST, l’opération LD charge la valeur du bit en haut de la pile et les opérations A et O combinent la valeur du bit à la valeur supérieure de la pile selon ET et OU respectivement. L’opération LDN charge la négation de la valeur du bit en haut de la pile et les opérations AN et ON combinent cette valeur inversée à la valeur supérieure de la pile selon ET et OU respectivement. Walid CHEBBI 81 ISET GAFSA Support de cours § Automates Programmables Industriels Opération NOT L’opération NOT change l’état de l’entrée de flux de signal (elle inverse la valeur supérieure de la pile, de 0 à 1 ou de 1 à 0). § Opérations Front montant et front descendant L’opération Front montant (EU) permet au courant de circuler pour un cycle, à chaque transition de 0 à 1. L’opération Front descendant (ED) permet au courant de circuler pour un cycle, à chaque transition de 1 à 0. Pour l’opération Front montant, la détection d’une transition de 0 à 1dans la valeur supérieure de la pile met la valeur supérieure de la pile à 1 ; sinon, la valeur supérieure de la pile est mise à 0. Pour l’opération Front descendant, la détection d’une transition de 1 à 0 dans la valeur supérieure de la pile met la valeur supérieure de la pile à 1 ; sinon, la valeur supérieure de la pile est mise à 0. Lorsque on édite le programme à l’état ”Marche”, on doit entrer un paramètre pour les opérations Front montant et Front descendant. b) Bobines § Sortie L’opération Sortie (=) écrit la nouvelle valeur du bit de sortie dans la mémoire image. Lors de l’exécution de l’opération Sortie, le S7-200 met le bit de sortie dans la mémoire image à 1 ou à 0. En CONT et en LOG, le bit indiqué est posé égal au flux de signal. En LIST, la valeur supérieure de la pile est copiée dans le bit indiqué. § Mettre à 1, Mettre à 0 Les opérations Mettre à 1 (S) et Mettre à 0 (R) mettent à 1 (activent) ou mettent à 0 (désactivent) le nombre N de sorties indiquées, en commençant à l’adresse Bit indiquée. On peut mettre 1 à 255 sorties à 1 ou à 0. Si, pour l’opération Mettre à 0, le bit correspond à un bit de temporisation (T) ou de compteur (C), l’opération met le bit de temporisation ou de compteur à 0 et efface la valeur de comptage ou de temporisation en cours. Walid CHEBBI 82 ISET GAFSA Support de cours § Automates Programmables Industriels Mettre à 1 directement, Mettre à 0 directement Les opérations Mettre à 1 directement et Mettre à 0 directement mettent à 1 (activent) ou mettent à 0 (désactivent), et ce directement, le nombre N de sorties indiquées, en commençant à l’adresse Bit indiquée. On peut mettre directement à 1 ou à 0 de 1 à 128 sorties. Le ”I” - pour immédiat - signifie que la nouvelle valeur est écrite à la fois dans la sortie physique et dans l’adresse correspondante de la mémoire image lors de l’exécution de l’opération. Pour les opérations indirectes en revanche, la nouvelle valeur est écrite dans la mémoire image uniquement. II – 2 – Opérations de transfert § Transférer octet, mot, double mot ou réel Les opérations Transférer octet (MOVB), Transférer mot (MOVW), Transférer double mot (MOVD) et Transférer réel (MOVR) transfèrent une valeur d’une adresse IN à une nouvelle adresse OUT sans modifier la valeur d’origine. L’opération Transférer double mot permet de créer un pointeur. § Transférer octet directement (lecture et écriture) Les opérations Transférer octet directement permettent de transférer directement un octet entre une E/S physique et une adresse de mémoire. L’opération Transférer octet, lecture directe (BIR) lit l’entrée physique IN et écrit le résultat dans l’adresse de mémoire OUT, sans mise à jour de la mémoire image du processus. L’opération Transférer octet, écriture directe (BIR) lit le contenu de l’adresse de mémoire IN et l’écrit dans la sortie physique OUT et dans l’adresse de mémoire image correspondante. § Opérations de transfert en bloc Transférer nombre d’octets, de mots ou de doubles mots Les opérations Transférer nombre d’octets (BMB), de mots (BMW) et de doubles mots (BMD) transfèrent le nombre N indiqué d’octets, de mot et de doubles mots, respectivement, en commençant à l’adresse d’entrée IN dans un nouveau bloc commençant à l’adresse OUT. N est compris entre 1 et 255. Walid CHEBBI 83 ISET GAFSA Support de cours Automates Programmables Industriels II – 3 – Opérations de temporisation SIMATIC § Opérations de temporisation Démarrer temporisation sous forme de retard à la montée/ Démarrer temporisation sous forme de retard à la montée mémorisé Les opérations Démarrer temporisation sous forme de retard à la montée (TON) et Démarrer temporisation sous forme de retard à la montée mémorisé (TONR) comptent le temps qui s’écoule lorsque l’entrée de validation est activée. Le numéro de la temporisation (Txx) détermine la résolution de la temporisation et la résolution est maintenant montrée dans la boîte de l’opération. Temporisation sous forme de retard à la retombée L’opération Démarrer temporisation sous forme de retard à la retombée (TOF) sert à retarder la désactivation d’une sortie pour un intervalle de temps donné après que l’entrée a été désactivée. Le numéro de la temporisation (Txx) détermine la résolution de la temporisation. - on peut utiliser une temporisation TON pour mesurer un intervalle de temps unique. - on peut utiliser une temporisation TONR pour accumuler un certain nombre d’intervalles de temps. - on peut utiliser une temporisation TOF pour allonger le temps après une situation ”désactivé” ou ”faux”, par exemple pour refroidir un moteur une fois qu’il a été mis hors tension. Walid CHEBBI 84 ISET GAFSA Support de cours § Automates Programmables Industriels Détermination de la résolution de la temporisation Les temporisations comptent des intervalles de temps. La résolution (ou période) de la temporisation détermine la durée dans chaque intervalle. Par exemple, une temporisation TON ayant une résolution de 10 ms compte le nombre d’intervalles de 10 ms qui s’écoulent une fois la temporisation TON validée : une valeur de comptage de 50 pour une temporisation de 10 ms correspond à 500 ms. Les temporisations SIMATIC sont disponibles avec trois résolutions : 1 ms, 10 ms et 100 ms. La résolution est déterminée par le numéro de la temporisation, comme illustré au tableau suivant : II – 4 – Opérations de comptage SIMATIC § Compteur incrémental L’opération Compteur incrémental (CTU) incrémente en partant de la valeur en cours à chaque front montant de l’entrée d’incrémentation CU. Lorsque la valeur en cours ”Cxxx” est supérieure ou égale à la valeur prédéfinie PV, le bit de compteur Cxx est activé. Le compteur est remis à zéro lorsque l’entrée de remise à zéro R est activée ou que l’opération ”Mettre à 0” est exécutée. Le compteur incrémental arrête le comptage lorsqu’il atteint la valeur maximale 32 767. § Compteur décrémental L’opération Compteur décrémental (CTD) décrémente en partant de la valeur en cours à chaque front montant de l’entrée de décrémentation CD. Lorsque la valeur en cours Cxx est égale à zéro, le bit de compteur Cxx est activé. Le compteur remet le bit de compteur Cxx à 0 et charge la valeur prédéfinie PV dans la valeur en cours lorsque l’entrée de chargement LD est activée. Le compteur s’arrête lorsqu’il atteint zéro et le bit de compteur Cxx est alors mis à 1. Walid CHEBBI 85 ISET GAFSA Support de cours § Automates Programmables Industriels Compteur incrémental/décrémental L’opération Compteur incrémental/décrémental (CTUD) incrémente en partant de la valeur en cours à chaque front montant de l’entrée d’incrémentation CU et décrémente à chaque front montant de l’entrée de décrémentation CD. La valeur en cours Cxx du compteur contient le décompte en cours. La valeur prédéfinie PV est comparée à la valeur en cours à chaque exécution de l’opération de comptage. Lorsqu’il atteint la valeur maximale de 32 767, le front montant suivant à l’entrée d’incrémentation fait prendre à la valeur en cours la valeur minimale de -32 768. Lorsque la valeur minimale -32 768 est atteinte, le front montant suivant à l’entrée de décrémentation fait prendre à la valeur en cours la valeur maximale de 32 767. Lorsque la valeur en cours ”Cxxx” est supérieure ou égale à la valeur prédéfinie PV, le bit de compteur Cxx est activé. Sinon, le bit de compteur est désactivé. Le compteur est remis à zéro lorsque l’entrée de remise à zéro R est activée ou que l’opération ”Mettre à 0” est exécutée. Le compteur incrémental/décrémental arrête le comptage lorsqu’il atteint la valeur prédéfinie. Walid CHEBBI 86 ISET GAFSA Support de cours Automates Programmables Industriels II – 5 – Opérations arithmétiques Opérations Additionner, Soustraire, Multiplier et Diviser § Additionner Soustraire IN1 + IN2 = OUT / IN1 - IN2 = OUT / IN1 + OUT = OUT / OUT-IN1=OUT Les opérations Additionner entiers de 16 bits (+I) et Soustraire entiers de 16 bits (-I) additionnent et soustraient respectivement deux nombres entiers de 16 bits et fournissent un résultat de 16 bits. Les opérations Additionner entiers de 32 bits (+D) et Soustraire entiers de 32 bits (-D) additionnent et soustraient respectivement deux nombres entiers de 32 bits et fournissent un résultat de 32 bits. Les opérations Additionner nombres réels (+R) et Soustraire nombres réels (-R) additionnent et soustraient respectivement deux nombres réels de 32 bits et fournissent un résultat réel de 32 bits. § Multiplier Diviser IN1 * IN2 = OUT / IN1/ IN2 = OUT / IN1 * OUT = OUT / OUT / IN1 = OUT Les opérations Multiplier entiers de 16 bits (*I) et Diviser entiers de 16 bits (/I) multiplient et divisent respectivement deux nombres entiers de 16 bits et fournissent un résultat de 16 bits. Pour la division, aucun reste n’est conservé. Les opérations Multiplier entiers de 32 bits (*D) et Diviser entiers de 32 bits (/D) multiplient et divisent respectivement deux nombres entiers de 32 bits et fournissent un résultat de 32 bits. Pour la division, aucun reste n’est conservé. Les opérations Multiplier réels (*R) et Diviser réels (/R) multiplient et divisent respectivement deux nombres réels de 32 bits et fournissent un résultat réel de 32 bits. Bits SM et ENO SM1.1 signale les débordements et valeurs illicites. Si SM1.1 est à 1, l’état de SM1.0 et SM1.2 n’est pas valable et les opérandes d’entrée d’origine ne sont pas modifiés. Si SM1.1 et SM1.3 ne sont pas mis à 1, l’opération arithmétique s’est achevée avec un résultat correct et l’état des bits SM1.0 et SM1.2 est valable. Si SM1.3 est mis à 1 pendant une opération de division, les autres bits d’état des opérations arithmétiques restent inchangés. Multiplier entiers de 16 bits en entier de 32 bits et Diviser entiers de 16 bits avec reste Multiplier entiers de 16 bits en entier de 32 bits IN1 * IN2 = OUT Walid CHEBBI 87 ISET GAFSA Support de cours Automates Programmables Industriels L’opération Multiplier entiers de 16 bits en entier de 32 bits (MUL) multiplie deux nombres entiers de 16 bits et fournit un produit de 32 bits. Dans l’opération de multiplication LIST, le mot de poids faible (16 bits) du double mot OUT constitue l’un des facteurs. Diviser entiers de 16 bits avec reste IN1/ IN2 = OUT / OUT / IN1 = OUT L’opération Diviser entiers de 16 bits avec reste (DIV) divise deux nombres entiers de 16 bits et fournit un résultat de 32 bits composé d’un reste de 16 bits (mot de poids fort) et d’un quotient de 16 bits (mot de poids faible). II – 6 – Opérations numériques Calcul sinus, Calcul cosinus et Calcul tangente Les opérations Calcul sinus (SIN), Calcul cosinus (COS) et Calcul tangente (TAN) évaluent la fonction trigonométrique de la valeur d’angle IN et placent le résultat dans OUT. La valeur de l’angle d’entrée doit être exprimée en radians. SIN (IN) = OUT / COS (IN) = OUT / TAN (IN) = OUT Pour convertir un angle de degrés en radians : multipliez l’angle en degrés par 1.745329E-2 (approximativement par /180) à l’aide de l’opération MUL_R (*R). Calcul logarithme naturel et Calcul exponentielle L’opération Calcul logarithme naturel (LN) calcule le logarithme naturel de la valeur contenue dans IN et place le résultat dans OUT. L’opération Calcul exponentielle (EXP) calcule l’exponentielle de e élevé à la puissance de la valeur contenue dans IN et place le résultat dans OUT. LN (IN) = OUT / EXP (IN)= OUT Pour obtenir le logarithme en base 10 à partir du logarithme naturel : Divisez le logarithme naturel par 2,302585 (environ le logarithme naturel de 10). Pour élever tout nombre réel à la puissance d un autre nombre réel, exposants fractionnaires compris : Combinez l’opération Calcul exponentielle avec l’opération Calcul logarithme naturel. Par exemple, pour élever X à la puissance Y, entrez l’opération suivante : EXP (Y * LN (X)). Walid CHEBBI 88 ISET GAFSA Support de cours Automates Programmables Industriels Racine carrée L’opération Racine carrée (SQRT) extrait la racine carrée d’un nombre réel de 32 bits (IN) et fournit un résultat réel OUT. SQRT (IN) = OUT Pour obtenir d’autres racines : 5 au cube = 5^3 = EXP(3*LN(5)) = 125 La racine cubique de 125 = 125^(1/3) = EXP((1/3)*LN(125))= 5 La racine carrée de 5 au cube = 5^(3/2) = EXP(3/2*LN(5)) = 11.18034 Bits SM et ENO pour les opérations numériques Pour toutes les opérations décrites sur cette page, le mémento SM1.1 signale des débordements et des valeurs illicites. Si SM1.1 est à 1, l’état de SM1.0 et SM1.2 n’est pas valable et les opérandes d’entrée d’origine ne sont pas modifiés. Si SM1.1 est à 0, l’opération arithmétique s’est achevée avec un résultat correct et l’état des bits SM1.0 et SM1.2 est valable. Opérations d’incrémentation et de décrémentation Incrémenter IN + 1 = OUT / OUT + 1 = OUT Décrémenter IN - 1 = OUT / OUT - 1 = OUT L’opération Incrémenter ajoute 1 à l’entrée IN et l’opération Décrémenter en retire 1 ; elles placent toutes deux le résultat dans la variable OUT. Les opérations Incrémenter octet (INCB) et Décrémenter octet (DECB) ne sont pas signées. Les opérations Incrémenter mot (INCW) et Décrémenter mot (DECW) sont signées. Les opérations Incrémenter double mot (INCD) et Décrémenter double mot (DECD) sont signées. Opérations de comparaison Comparaison de valeurs numériques Les opérations de comparaison servent à comparer deux valeurs : N1 = N2 ; N1 >= N2 ; N1 <= N2 Les opérations de comparaison d’octets ne sont pas signées. Les opérations de comparaison d’entiers de 16 bits sont signées. Les opérations de comparaison de doubles mots sont signées. Les opérations de comparaison de réels sont signées. Walid CHEBBI 89 ISET GAFSA Support de cours Automates Programmables Industriels Opérations de conversion Opérations de conversion standard Conversions numériques Les opérations Convertir octet en entier de 16 bits (BTI), Convertir entier de 16 bits en octet (ITB), Convertir entier de 16 bits en entier de 32 bits (ITD), Convertir entier de 32 bits en entier de 16 bits (DTI), Convertir entier de 32 bits en réel (DTR), Convertir DCB en entier (BCDI) et Convertir entier en DCB (IBCD) convertissent une valeur d’entrée IN au format indiqué et rangent la valeur de sortie dans l’adresse de mémoire OUT. Vous pouvez, par exemple, convertir un entier de 32 bits en un nombre réel. Vous pouvez également effectuer des conversions entre formats entier et décimal codé binaire (DCB). Fonctionnement des opérations Convertir DCB en entier et Convertir entier en DCB L’opération Convertir DCB en entier (BCDI) convertit la valeur décimale codée binaire IN en une valeur entière et charge le résultat dans la variable indiquée par OUT. IN doit être un nombre décimal codé binaire compris entre 0 et 9999. Fonctionnement de l’opération Convertir entier de 32 bits en réel L’opération Convertir entier de 32 bits en réel (DTR) convertit un entier de 32 bits signé IN en nombre réel de 32 bits et place le résultat dans la variable indiquée par OUT. Fonctionnement de l’opération Convertir entier de 32 bits en entier de 16 bits L’opération Convertir entier de 32 bits en entier de 16 bit (DTI) convertit l’entier de 32 bits IN en un nombre entier de 16 bits et place le résultat dans la variable indiquée par OUT. Fonctionnement de l’opération Convertir entier de 16 bits en entier de 32 bits L’opération Convertir entier de 16 bits en entier de 32 bits (ITD) convertit l’entier de 16 bits IN en un nombre entier de 32 bits et place le résultat dans la variable indiquée par OUT. Il y a extension du signe. Fonctionnement de l’opération Convertir octet en entier de 16 bits L’opération Convertir octet en entier de 16 bits (BTI) convertit la valeur d’octet IN en un nombre entier de 16 bits et place le résultat dans la variable indiquée par OUT. L’octet n’étant pas signé, il n’y a pas d’extension de signe. Walid CHEBBI 90 ISET GAFSA Support de cours Automates Programmables Industriels Fonctionnement de l’opération Convertir entier de 16 bits en octet L’opération Convertir entier de 16 bits en octet (ITB) convertit une valeur de mot IN en valeur d’octet et place le résultat dans la variable indiquée par OUT. Les valeurs 0 à 255 sont converties Toutes les autres valeurs entraînent un débordement et la sortie n’est pas influencée. . . . Walid CHEBBI 91 ISET GAFSA
© Copyright 2024