Academia.eduAcademia.edu

SME Automatismes industriels[88] (1)

Automatismes industriels Filière LP SME Mohammed Nabil KABBAJ Automatismes industriels 2019-2020 Sommaire Chapitre 1 Introduction aux automatismes industriels ..................................................................2 1 Structure d’un système automatisé de production ..................................................................2 2. Automatismes logiques ...........................................................................................................3 3. Technologies des automatismes..............................................................................................4 Chapitre 2 Architecture des Automates Programmables industriels ..............................................6 1. Introduction ............................................................................................................................6 2. Architecture d’un API ..............................................................................................................7 3. Fonctionnement......................................................................................................................9 Chapitre 3 Langages de programmation.......................................................................................10 1. Introduction ..........................................................................................................................10 2. Problèmes combinatoires ......................................................................................................10 3. Problèmes séquentielles........................................................................................................12 4. Langages séquentiels.............................................................................................................16 Chapitre 4 Le GRAFCET ...............................................................................................................17 1. Le modèle GRAFCET ..............................................................................................................17 2. Principaux concepts ..............................................................................................................18 3. Structures de base.................................................................................................................20 4. Les structures particulières.................................................................................................... 23 5. Les réceptivités .....................................................................................................................25 6. Différents types d’actions ......................................................................................................26 7. Structures hiérarchisées ........................................................................................................29 8. Synchronisation et protection ...............................................................................................31 9. Mise en équation du GRAFCET ..............................................................................................36 10. Modes de marches et d’arrêts ...............................................................................................37 Références........................................................................................................................................41 Automatismes industriels, M.N. Kabbaj, 2020 1 Chapitre 1 Introduction aux automatismes industriels 1 Structure d’un système automatisé de production L’automatisation d’un procédé (équipement industriel) consiste à en assurer la conduite par un dispositif technologique. Le système ainsi conçu sait prendre en compte les situations pour lesquelles sa commande a été réalisée. On peut décomposer fonctionnellement un système automatisé de production en trois parties (Figure 1.1). ordres PARTIE COMMANDE PARTIE (PC) OPERATIVE informations informations ordres PARTIE RELATION Figure 1.1 : structure d’un système automatisé de production 1.1 La Partie Opérative (PO) La partie opérative, qui opère sur la matière d’œuvre et le produit, regroupe : ƒ les effecteurs : dispositifs terminaux qui agissent directement sur la matière d’œuvre pour lui donner sa valeur ajoutée (outils de coupe, pompes, têtes de soudure, etc.) ; ƒ les actionneurs : éléments chargés de convertir l’énergie afin de l’adapter au besoin de la partie opérative ; cette énergie étant ensuite consommée par les effecteurs (moteur, vérin, électroaimant, résistance de chauffage, etc.) ; ƒ les pré-actionneurs sont des éléments chargés : - d'adapter le faible niveau énergétique disponible en sortie de la P.C. au besoin de la P.O ; Automatismes industriels, M.N. Kabbaj, 2020 2 - de distribuer ou de moduler l’énergie délivrée aux actionneurs (contacteur, distributeur, variateur de vitesse,…). ƒ les capteurs qui assument l’ensemble des fonctions de la chaîne d’acquisition de données (fin de course de vérin, détecteur de position, capteur de température, etc.) 1.2 La Partie Relation (PR) La partie relation comporte le pupitre de dialogue homme-machine. Elle est équipée des organes de commande permettant la mise en/hors énergie de l’installation, la sélection des modes de marche, la commande manuelle des actionneurs, la mise en référence, le départ des cycles, l’arrêt d’urgence… ainsi que des signalisations diverses telles que voyants lumineux, afficheurs, écrans vidéo, sonneries, etc. 1.3 La Partie Commande (PC) La partie regroupe les composants (relais électromagnétique, opérateur logique, etc.) et les constituants (API, cartes à microprocesseur, micro-ordinateurs, etc.) destinés au traitement des informations émises par les organes de commande de la PR et capteurs de la PO. Les ordres résultants sont transmis aux pré-actionneurs de la PO et aux composants de signalisation de la PR afin d’indiquer à l’opérateur l’état et la situation du système. 2. Automatismes logiques On s’intéresse aux procédés logiques qui sont caractérisés par la nature « Tout Ou Rien » ou « binaire » des informations. 2.1 Logique combinatoire La logique combinatoire se définit par la reproductibilité des situations: à toute combinaison de variables d’entrée u correspond de façon unique une combinaison des variables de sortie y. Exemple : une illustration triviale en est le commutateur à deux positions qui commande une lampe. Automatismes industriels, M.N. Kabbaj, 2020 3 2.2 Logique séquentielle La connaissance de l’entrée (ou action) ne suffit plus à prédire le comportement du dispositif, il faut également connaître son état. C’est là la caractéristique d’une logique séquentielle. Un exemple type est celui d’une lampe commandée par un bouton poussoir. Lorsqu’aucune contrainte temporelle ne conditionne la propagation des signaux, la logique séquentielle est dite asynchrone. En revanche, il peut être avantageux de n’autoriser la propagation des signaux de couche à couche qu’à certains instants privilégiés, usuellement périodiques et conditionnés par des « tops » d’horloge : la logique séquentielle est alors dite synchrone. 3. Technologies des automatismes L’automaticien dispose de nombreux outils technologiques pour réaliser l’organe de commande de son système que l’on regroupe habituellement en deux catégories fondamentales : les solutions câblées et les solutions programmées. 3.1 Logique câblée Dans cette logique de commande, l'enchaînement des fonctions de commande d'un automatisme dépend de l'organisation du réseau d'interconnections qui relie entre eux les différents composants de l'équipement. Une telle logique n'est valable que pour l'automatisme pour lequel, elle a été conçue ; elle est figée. Cette logique est réalisée à base d’une technologie fluidique, ou une technologie électrique (Relayage électromagnétique, Statique électronique). Les outils câblés présentent un certain nombre de limitations parmi lesquelles nous retiendrons : ƒ leur encombrement (poids et volume) ; ƒ leur manque de souplesse vis-à-vis de la mise au point des commandes de l’évolution de celles-ci (amélioration, nouvelles fonctions) ; ƒ la difficulté de maîtriser les problèmes complexes ; ƒ le coût de réalisation des composants ; Automatismes industriels, M.N. Kabbaj, 2020 4 ƒ la complexité de recherche de pannes et donc du dépannage. 3.2 Logique programmée L’informatique offre une alternative technologique à l’automaticien et lui ouvre des possibilités nouvelles liées à la puissance de traitement et aux facilités de mémorisation de l’information. Les applications techniques relèvent de l’informatique industrielle. Le principe des logiques programmables est de substituer le câblage par un programme informatique. instructions U Y Mémoire des données Processeur ƒ Carte à microprocesseur ƒ Micro-ordinateur ƒ Automate Programmable Industriel (API) Automatismes industriels, M.N. Kabbaj, 2020 5 Chapitre 2 Architecture des Automates Programmables industriels 1. Introduction Les Automates Programmables Industriels (API) sont apparus aux Etats-Unis vers 1969 où ils répondaient aux désirs des industries de l’automobile de développer des chaînes de fabrication automatisées qui pourraient suivre l’évolution des techniques et des modèles fabriqués. L’API s’est ainsi substitué aux armoires à relais en raison de sa souplesse (mise en œuvre, évolution), mais aussi parce que dans les automatismes de commande complexe, les coûts de câblage et de mise au point devenaient trop élevés. Le cahier des charges de ces nouvelles machines comprenaient aussi des spécifications sur les conditions d’utilisation en milieu industriel perturbé, sur la variété et le nombre des entrées/sorties industrielles, sur la simplicité de mise en œuvre par le personnel en place et naturellement sur les coûts de développement des automatismes. On écartait ainsi les autres solutions programmées traditionnelles : mini-ordinateur, etc. Les contraintes de l’environnement industriel peuvent être de trois types : ƒ Environnement physique et mécanique : vibrations, chocs, température, humidité,..; ƒ Pollution chimique : gaz corrosifs, vapeurs d’hydrocarbures, poussières métalliques ou minérales ; ƒ Perturbations électriques : parasites d’origine électrostatique, interférences électromagnétiques. Les API s’adressent à des applications que l’on trouve dans la plupart des secteurs industriels : ƒ Mécanique et automobile ƒ Industries chimiques ƒ Industries pétrolières ƒ Industries agricoles et alimentaires ƒ Transports et manutention ƒ Applications diverses : surveillance, sécurité, … Automatismes industriels, M.N. Kabbaj, 2020 6 2. Architecture d’un API 2.1 Organisation matérielle Les API sont disponibles sous forme compacte ou modulaire. La configuration minimale comporte les éléments suivants : ƒ Module d’UC : c’est l’ensemble des dispositifs nécessaires au fonctionnement logique interne de l’API. Le module comporte un microprocesseur, des circuits périphériques de gestion des entrées/sorties, des mémoires nécessaires pour stocker les programmes, les données et les paramètres de configuration du système. ƒ Modules d’entrées / sorties : dont le rôle est l’échange de données entre la partie opérative et la partie commande. Les modules d’E/S peuvent être « Tout Ou Rien » ou «analogiques ». ƒ Modules de communication comprenant des : • Interfaces série utilisant dans la plupart des cas comme support de communication, les liaisons RS-232 ou RS-422/RS-485 ; • Interfaces pour assurer l’accès à un bus de terrain ; • Interfaces d’accès à un réseau Ethernet. ƒ Module d’alimentation qui à partir des tensions usuelles des réseaux (220V, 50/60Hz (AC)), fournit les tensions continues nécessaires au fonctionnement des circuits électroniques (±5V, ±12V, ±15V, ±24V). ƒ Console de programmation, généralement séparée du bâti de l’automate qui est utilisée pour écrire le programme, le transmettre dans la mémoire de l’automate et également le modifier. 2.2 Structure interne La structure interne d’un API est représentée sur la figure suivante : Figure 2.1 : Structure interne d’un API Automatismes industriels, M.N. Kabbaj, 2020 7 Elle est composée de quatre parties principales : a. CPU (Central Processing Unit) : C'est l’unité de traitement ; elle réalise toutes les fonctions logiques et arithmétiques selon le programme et les informations contenus dans la mémoire de l’API : elle lit l'état des capteurs, lit et écrit dans la mémoire et actualise les sorties. b. La mémoire : Elle est conçue pour recevoir, gérer, stocker des informations issues des différents secteurs du système. Elle permet : ƒ De stocker le programme du processus. ƒ De stocker les informations issues des entrées ; ƒ De stocker les informations générées par le processeur et destinées à la commande des sorties (valeur des sorties, des temporisations, etc.) ; ƒ De stocker les informations liées à des calculs intermédiaires. Il existe dans les automates plusieurs types de mémoires qui remplissent des fonctions différentes : ƒ la conception et l’élaboration du programme font appel à la RAM et l’EEPROM; ƒ la conservation du programme pendant l’exécution de celui-ci fait appel à une EPROM. c. Les modules d'Entrées/Sorties (E/S) : ƒ Le module des entrées a pour rôle de recevoir les informations en provenance des capteurs et de l’IHM, les traiter en les mettant en forme, en éliminant les parasites d'origine industrielle et en isolant électriquement l'unité de commande de la partie opérative pour la protection (isolation galvanique) ; ƒ d. Le module des sorties transmet des informations aux pré-actionneurs et aux éléments de signalisation de l’IHM, tout en adaptant les niveaux de tension de l'unité de commande à celle de la partie opérative du système en garantissant une isolation galvanique entre ces dernières . Rappelons qu'un API ne peut commander un actionneur de puissance directement, d'où la nécessité d'un pré-actionneur. Liaisons de communication : Elles permettent la communication de l’ensemble des modules de l’automate et des éventuelles extensions. Les liaisons s’effectuent : Avec l’intérieur par des bus reliant divers éléments, afin d’échanger des données, des états et des adresses ; Avec l’extérieur par des borniers sur lesquels arrivent des câbles transportant le signal électrique. Automatismes industriels, M.N. Kabbaj, 2020 8 3. Fonctionnement Une caractéristique principale et unique des API est le fonctionnement cyclique de l’unité centrale (figure 2.2). Figure 2.2 : Cycle de fonctionnement d’un API La surveillance du cycle est effectuée par un chien de garde (watch dog) : une durée anormalement longue peut signifier que la logique de contrôle de l’UC est défectueuse ou que le programme boucle. Automatismes industriels, M.N. Kabbaj, 2020 9 Chapitre 3 Langages de programmation 1. Introduction La mise en œuvre d’un automate programmable comporte trois phases principales : – la conception du système de contrôle, qui se fait à l'aide d'outils méthodologiques et de modes de représentation propres à l'automaticien; – la programmation de l'automate, qui consiste à transposer le système de contrôle obtenu dans le langage de programmation propre à l'automate; – l'exécution du programme, enfin, prise en charge par un logiciel interne à l'automate, l'exécutif, qui, comme nous le verrons ci-après, peut être plus ou moins élaboré. Tout automate peut résoudre n'importe quel problème de logique combinatoire ou séquentiel. Il est bien certain cependant que la facilité d'utilisation d'un automate et ses performances seront directement fonction de la cohérence qui existera entre les trois phases mentionnées ci-dessus. 2. Problèmes combinatoires Il s'agit de problèmes où tous les signaux provenant du processus (ou en tout cas une majorité d'entre eux) sont susceptibles de provoquer, à n'importe quel moment, une réaction de l'automate. Le cas typique étant celui d'une surveillance de conditions d'alarme (dépassement de niveau, surchauffe de moteurs, ...). 2.1 Mode de représentation Le formalisme à relais, à logigrammes ou à équation booléennes, convient tout à fait bien à la représentation de ce genre d'automatisme. Il suppose en effet que l'on a affaire à des modules fonctionnels travaillant en parallèle et de manière instantanée (figure 3.1). 2.2 Programmation Les langages de programmation à relais, logigrammes, ou équations booléennes sont évidemment les prolongements naturels des modes de représentation qui précèdent. Programmer dans ces langages consiste pratiquement à reproduire sur la console de programmation les schémas ou les équations établis sur concepteur. C'est, dans ce cas, la console qui se charge d'établir la séquence d'instructions machines correspondante. Automatismes industriels, M.N. Kabbaj, 2020 10 Figure 3.1 Modes de représentation La figure 3.2 montre un exemple de programmation en langage relais. Figure 3.2 Exemple de programmation en langage relais Dans ce contexte, le langage de programmation par liste d'instructions apparaît comme beaucoup moins cohérent avec la méthode de conception "parallèle" envisagée ici. En effet, il faudra que le programmeur "sérialise" lui-même la fonction logique à réaliser en tenant compte de la manière séquentielle selon laquelle travaille effectivement le processeur de l'automate (présence d'un accumulateur notamment). Automatismes industriels, M.N. Kabbaj, 2020 11 2.3 Execution Le mode d'exécution qui s'impose dans le contexte parallèle considéré ici est le mode d'exécution linéaire et cyclique puisqu'il s'agit en fait de simuler au mieux le fonctionnement d'un ensemble de modules fonctionnels travaillant en parallèle. Toutes les entrées de l'automate seront ainsi scrutées à chaque cycle et toutes ses sorties seront recalculées à chaque cycle. La figure 3.3 symbolise les trois phases qui viennent d'être décrites. Figure 3.3 Cohérence entre les méthodes de conception de programmation et d'exécution d'un automatisme 3. Problèmes séquentielles Il arrive souvent, dans l'industrie, que les processus à contrôler aient une nature séquentielle marquée. C'est le cas notamment de tous les processus comportant des déplacements d'outils, des transports de matière, etc. Du point de vue du système de contrôle, ces processus se caractérisent par le fait qu'à un moment donné, seuls un nombre limité de signaux provenant du processus doivent être pris en considération et que seules un nombre limité de commandes sont susceptibles d'être appliquées au processus. Soit l'exemple présenté à la figure 3.4. Un chariot initialement dans la position A (fin de course I2 ouvert) est mis en mouvement (contact O1) vers la position B par action sur le bouton poussoir I1. Arrivé en B (fin de course I3 ouvert) le chariot est renvoyé vers A (contact O2). Automatismes industriels, M.N. Kabbaj, 2020 12 On peut distinguer trois étapes dans le déroulement de ce processus : Etape 1: - chariot en position de départ (I2=0) , moteur arrêté (out1=out2=0) - Seul l’entrée I1 peut faire évoluer l’état du système - Seule la sortie out1 est activable Etape 2: - Après pression de I1, le chariot est en mouvement vers B (out1=1) - Seule l’entrée I3=0 peut faire évoluer la situation Etape 3: - Suite à l’arrivée du chariot en B (I3=0), retour du chariot vers A (out1=0, out2=1) - Seule I2 peut faire évoluer la situation Figure 3.4 Exemple d’un automatisme séquentiel 3.1 Conception Formalisme parallèle Dans le cas de l’exemple simple, on peut encore envisager de concevoir le système de contrôle par un mécanisme parallèle c’est-à-dire utiliser les outils combinatoires. La figure 3.5 montre la solution obtenue dans le formalisme à relais. Figure 3.5 Utilisation du formalisme combinatoire dans le cas d'un automatisme séquentiel Automatismes industriels, M.N. Kabbaj, 2020 13 On peut faire les remarques suivantes: • • • • Disparition de la séquence caractéristique dans le mode de programmation ; La scrutation cyclique systématique des entrées qui conduit au mode parallèle est inutile: Il n’y a jamais qu’une seule entrée qui peut faire évoluer le système ; La scrutation cyclique systématique des sorties est en principe superflue : les entrées ne peuvent avoir une influence que lorsqu’on passe d’une étape à l’autre ; Extension à des problèmes complexes extrêmement difficiles. Formalisme séquentielle Pour prendre en charge la conception des systèmes séquentiels on a mis au point différents formalismes : Flow char, Diagrammes d’état (state flow), GRAFCET et Réseaux de Petri. La conception par GRAFCET est manifestement mieux adaptée au problème comme le montre la figure 3.6. Figure 3.6 Mode de représentation séquentielle Le GRAFCET aussi connu sous le nom SFC (Sequential Function Chart) a fait l'objet d'une normalisation (CEI IEC 848). Les carrés représentent les étapes du fonctionnement et les rectangles associés, les actions à prendre lorsque l'étape est active. Le passage d'une étape à la suivante est verrouillé par une condition logique appelée réceptivité. Lorsqu'une étape est active et que la réceptivité associée est vraie, on passe automatiquement à l'étape suivante, tandis que la première est désactivée. Une présentation détaillée du GRAFCET fera l’objet du chapitre suivant. Automatismes industriels, M.N. Kabbaj, 2020 14 3.2 Programmation Il est parfaitement possible de programmer un automate à partir d'un GRAFCET dans n'importe lequel des langages combinatoires présentés ci-dessus. Considérons par exemple le cas d'un langage à relais élémentaire : à chaque étape de l'évolution du processus on va associer une variable interne qui vaudra 1 si l'étape est active et 0 dans le cas contraire. La figure 3.7 montre le résultat obtenu avec un langage à relais. Figure 3.7 Principe de la transposition du GRAFCET en langage combinatoire Il peut sembler à première vue assez lourd mais il a l'avantage de : mettre clairement en évidence la séquence réalisée; systématiser la conception du système : les conditions d'activation et de désactivation des variables d'étape se construisent de manière systématique. Automatismes industriels, M.N. Kabbaj, 2020 15 4. Langages séquentiels Etant donné l'importance pratique des problèmes séquentiels, les constructeurs d'automates ont prévu un certain nombre d'outils de programmation séquentielle destinés à faciliter la tâche de l'utilisateur. 4.1 Extension du langage combinatoire Relais à accrochage (LATCH) : ce sont des relais qui reproduisent le fonctionnement de bistables type SR (SET/RESET). Le bistable est enclenché lorsque son entrée SET vaut 1. Il reste dans cet état même si cette entrée repasse à 0. Pour le déclencher, il faut que l'entrée RESET soit mise à 1. L'emploi de relais à accrochage dans la transposition du GRAFCET évite de devoir utiliser des auto-verrouillages (figure 3.7). 4.2 Langage GRAFCET S'appuyant sur la puissance de traitement des micro-ordinateurs, de plus en plus de constructeurs offrent, actuellement, des langages de programmation graphiques qui consistent à reproduire, sur un écran, le dessin même d'un GRAFCET. Automatismes industriels, M.N. Kabbaj, 2020 16 Chapitre 4 Le GRAFCET 1. Le modèle GRAFCET Le GRAFCET (Graphe Fonctionnel de Commande, Etapes Transitions) est un digramme fonctionnel qui permet de décrire les comportements attendus de l'automatisme en imposant une démarche rigoureuse, évitant ainsi les incohérences dans le fonctionnement. C’est une représentation graphique qui traduit, sans ambiguïté, l'évolution du cycle d'un automatisme séquentiel. Le GRAFCET a été mis au point et développé par L'AFCET (Association Française pour la Cybernétique Economique et Technique) et l'ADEPA (Agence nationale pour le DEveloppement de la Production Automatisée). Le modèle est défini par un ensemble constitué : - d’éléments graphiques de base comprenant : les étapes, les transitions, les liaisons orientées. - d’une interprétation traduisant le comportement de la partie commande vis-à-vis de ses entrées et de ses sorties, et caractérisée par les réceptivités associées aux transitions et les actions associées aux étapes. - de 5 règles d’évolution définissant formellement le comportement dynamique de la partie commande. Exemple : Etape initiale 0 Action Transition 1 Percer Fin de perçage Liaison 2 Récéptivité associée à la transistion Déplacer Automatismes industriels, M.N. Kabbaj, 2020 17 2. Principaux concepts 2.1 Définitions Etape: une étape représente une situation stable de la PC Une étape est soit active soit inactive. On peut associer à chaque étape i une variable Xi image de son activité. exemple : Etape 2 active ⇒ X2 = 1 ; Etape 2 inactive ⇒ X2 = 0 Etape initiale: étape active au début du fonctionnement. Elle se représente par un double carré. Liaisons orientées: Elles relient les étapes aux transitions et les transitions aux étapes. Le sens général d’évolution est du haut vers le bas. Dans le cas contraire, des flèches doivent être employées. Transitions : une transition indique une possibilité d'évolution d’activité entre deux ou plusieurs étapes. Cette évolution s'accomplit par le franchissement de la transition. Réceptivité : La réceptivité associée à une transition est une fonction logique : - des entrées (capteurs, commande opérateur) - des activités des étapes (Ex : X1 pour étape 1 active.) - des variables auxiliaires (Ex : [C1=10] pour un test sur compteur C1) Action: L'action indique, dans un rectangle, comment agir sur la variable de sortie, soit par assignation (action continue), soit par affectation (action mémorisée) 2.2 Règles d’évolution Règle 1 : Situation initiale La situation initiale est la situation à l'instant initial, elle est donc décrite par l'ensemble des étapes actives à cet instant. Règles 2 : Franchissement d’une transition Une transition est validée lorsque toutes les étapes, immédiatement précédentes reliées à cette transition, sont actives. Le franchissement d'une transition se produit: Automatismes industriels, M.N. Kabbaj, 2020 18 - lorsque la transition est VALIDÉE ; - ET QUE la réceptivité associée à cette transition est VRAIE. Règles 3 : Evolution des étapes actives Le franchissement d’une transition provoque simultanément : - L’activation de toutes les étapes immédiatement suivantes. - La désactivation de toutes les étapes immédiatement précédentes. Règle 4 : Evolutions simultanées Plusieurs transitions simultanément franchissables sont simultanément franchies. Règle 5 : Activation et désactivation simultanée d’une même étape Si au cours d’une évolution, une même étape se trouve être à la fois activée et désactivée, elle reste active. Règle de syntaxe L’alternance étape-transition et transition-étape doit toujours être respectée quelle que soit la séquence parcourue. 2.3 Niveaux d’un GRAFCET Le GRAFCET peut être utilisé aussi bien pour décrire l’aspect fonctionnel d’un automatisme que pour le définir dans le détail en tenant compte des technologies utilisées. Ces utilisations donnent respectivement des GRAFCETS de niveau 1 et de niveau 2. 2.3.1 GRAFCET de niveau 1 : spécifications fonctionnelles Les spécifications fonctionnelles caractérisent les réactions de l’automatisme face aux informations issues de la partie opérative, dans le but de faire comprendre au concepteur quel devra être le rôle de la partie commande à construire. Elles doivent donc définir de façon claire et précise les différentes fonctions, informations et commandes impliquées dans l’automatisation de la partie opérative, sans préjuger en aucune façon des technologies. En conséquence, ni la nature ni les caractéristiques des différents capteurs ou actionneurs utilisés n’ont leur place dans ces spécifications 2.3.2 GRAFCET de niveau 2 : spécifications technologiques Les spécifications technologiques précisent la façon dont l’automatisme devra physiquement s’insérer dans l’ensemble que constitue le système automatisé et son environnement. Ce sont des précisions à apporter en complément des spécifications fonctionnelles pour que l’on puisse concevoir en automatisme pilotant réellement la partie opérative. Automatismes industriels, M.N. Kabbaj, 2020 19 C’est à ce niveau seulement que doivent intervenir les renseignements sur la nature exacte des capteurs et actionneurs employés, leurs caractéristiques et les contraintes qui peuvent en découler. 2.3.3 Exemple d’automatisme 3. Structures de base 3.1 Séquence linéaire Une séquence linéaire est composée d’une suite d’étapes qui peuvent être activées les unes après les autres. 3.2 Configurations courantes 3.2.1 Divergence en « OU » - L’étape 2 devient active si, l’étape 1 étant activée, la condition a devient vraie. - L’étape 3 devient active si, l’étape 1 étant activée, la condition b devient vraie. 1 ● a 2 b 3 Automatismes industriels, M.N. Kabbaj, 2020 20 3.2.2 Convergence en « OU » 4 ● - L’étape 6 devient active si, l’étape 4 étant activée, la condition c devient vraie ou si, l’étape 5 étant activée, la condition d devient vraie. - Les étapes 8 et 9 deviennent simultanément actives si, l’étape 7 étant activée, la condition e devient vraie. - L’étape 12 devient active si, les étapes 10 et 11 étant activées, la condition f devient vraie. 5 ● c d 6 3.2.3 Divergence en « ET » 7 ● e 9 8 3.2.4 Convergence en « ET » 10 ● 11 ● f 12 3.3 Sélection de séquence A l’issue d’une étape, on a le choix entre plusieurs séquences possibles. Ce choix est fonction des différentes transitions correspondantes aux réceptivités. L’exclusion entre les séquences n’est pas structurelle. Pour l’obtenir, il faut s’assurer soit de l’incompatibilité mécanique ou temporelle des réceptivités, soit de leur exclusion logique. Automatismes industriels, M.N. Kabbaj, 2020 21 Exclusivité logique Exclusivité technologique Exclusivité avec priorité 3 3 a.b 1S1.d a.b 4 5 4 Les réceptivités sont logiquement exclusives. 3 1S2.d 5 Les réceptivités 1S1.d et 1S2.d sont technologiquement exclusives par les capteurs fins de course 1S1 et 1S2 du vérin 1A. a a.b 5 4 Les réceptivités sont exclusives avec priorité à l’évolution 3→4 sur l’évolution 3→5 si a=1 et b=1. 3.4 Saut d’étapes et reprise de séquence Saut d’étapes Le saut d’étapes permet de sauter une ou plusieurs étapes lorsque les actions associées à ces étapes deviennent inutiles. Reprise de séquence La reprise de séquence permet de recommencer plusieurs fois la même séquence tant qu’une condition n’est pas obtenue. 10 10 d c.e c.e 11 11 a a 12 c.e b 13 Automatismes industriels, M.N. Kabbaj, 2020 12 c.e 13 22 3.5 Séquences simultanées (séquences parallèles) Si le franchissement d’une transition conduit à activer plusieurs étapes en même temps, ces étapes déclencheront des séquences dont les évolutions seront à la fois simultanées et indépendantes. 29 Si l'étape 29 est active, la réceptivité « e » provoque, lorsqu'elle est vraie, l'activation simultanée des étapes 30 et 40. ACTION B e 30 ACTION A 40 d 31 ACTION D b ACTION C 41 Les deux séquences évoluent indépendamment l’une de l’autre. alors Les étapes 32 et 41 sont des étapes d'attente; dès qu’elles sont actives, la transition 32,41Æ33 est franchie ( 1 : réceptivité toujours vraie) ce qui entraîne simultanément, l’activation de l’étape 33 et la désactivation des étapes 32 et 41. a 32 On remarque : 1 33 ACTION F - que l’activation de l’étape 32 permet d'éviter que l'action C se poursuive lorsque a est vraie et que b ne l'est pas encore. - que l’activation de l’étape 41 permet d'éviter que l'action D se poursuive lorsque b est vraie et que a ne l'est pas encore. 4. Les structures particulières 4.1 Etape et transition source Etape source Une étape source est une étape qui ne possède aucune transition amont. Dans l’exemple ci-dessous, l’étape source initiale 10n’est active qu’à l’initialisation (et tant que la réceptivité c.e n’est pas vraie) Transition source Une transition source est une transition qui ne possède aucune étape amont. Par convention, la transition source est toujours validée et est franchie dès que sa réceptivité est vraie. Dans l’exemple ci-dessous, l’étape 10 est activée dès que la réceptivité « c.d »est vraie. Automatismes industriels, M.N. Kabbaj, 2020 23 c.d 10 c.e 10 b 11 a 12 11 a b 4.2 Etape et transition puits Etape puits Transition puits Une étape puits est une étape qui ne possède aucune Une transition puits est une transition qui ne transition avale ; sa désactivation est possible par un possède aucune étape avale. Dans l’exemple ciordre de forçage d’un GRAFCET de niveau supérieur. dessous, lorsque la transition puits est validée et que « c.d » est vraie, le franchissement de cette transition a pour unique conséquence de désactiver l’étape 11. 10 b 11 c.f Automatismes industriels, M.N. Kabbaj, 2020 24 5. Les réceptivités 5.1 Les réceptivités associées aux transitions Une proposition logique, appelée réceptivité, qui peut être vraie ou fausse est associée à chaque transition. Description d’une réceptivité par un texte Description d’une réceptivité par une expression booléenne 1 1 Porte fermée et présence pièce a.(b+c) 2 2 5.2 Réceptivité toujours vraie La notation 1 (1 souligné) indique que la réceptivité est toujours vraie. 1 1 2 Dans ce cas, l’évolution est dite toujours fugace, le franchissement de la transition n’est conditionné que par l’activité de l’étape amont. 5.3 Front montant et descendant d’une variable logique Front montant La notation ↑ indique que la réceptivité n’est vraie que lorsque la variable passe de la valeur 0 à la valeur 1. Front descendant La notation ↓ indique que la réceptivité n’est vraie que lorsque la variable passe de la valeur 1 à la valeur 0. Automatismes industriels, M.N. Kabbaj, 2020 25 1 1 a 1 a+ b 2 (a.b) 2 2 La réceptivité n’est vraie La réceptivité n’est vraie que lorsque a passe de que lorsque a est vraie l’état 0 à l’état 1 ou que b passe de l’état 0 à l’état 1 5.4 Réceptivité dépendante du temps 1 3s/a/7s 2 La réceptivité n’est vraie que lorsque le produit logique « a.b » passe de l’état 1 à l’état 0 La notation est de la forme « t1/variable/t2 ». Dans l’exemple cicontre, la réceptivité n'est vraie que 3s après que « a » passe de l’état 0 à l’état 1, elle ne redevient fausse que 7s après que « a » passe de l’état 1 à l’état 0. a Réceptivité vraie Réceptivité fausse 7s 3s 6. Différents types d’actions Une ou plusieurs actions élémentaires ou complexes peuvent être associées à une étape. Les actions traduisent ce qui doit être fait chaque fois que l’étape à laquelle elles sont associées est active. Il existe 2 types d’actions : - les actions continues. Les actions mémorisées. 6.1 Action continue L’exécution de l’action se poursuit tant que l’étape à laquelle elle est associée est active et que la condition d’assignation (expression logique de variables d’entrées et/ou de variables internes) est vérifiée. En l’absence de condition l’action s’effectue tant que l’étape à laquelle elle est associée est active. X1 Action A 1 b X2 Action A Automatismes industriels, M.N. Kabbaj, 2020 26 6.1.1 Action avec condition d’assignation (action conditionnelle) Une proposition logique, appelée condition d'assignation, qui peut être vraie ou fausse, conditionne l’action continue. La condition d'assignation ne doit jamais comporter de front de variables d’entrées et/ou de variables internes. c Action A 1 X1 X2 b c Action A 6.1.2 Action avec condition d’assignation dépendante du temps La condition d’assignation n’est vraie que 5 secondes après que « c » passe de l’état 0 à l’état 1 (front montant de c) ; elle ne redevient fausse que 3 secondes après que « c » passe de l’état 1 à l’état 0 (front descendant de c). 1 5s/c/3s X1 Action A X2 c b 5s Action A 3s 6.1.3 Action retardée L'action retardée est une action continue dont la condition d'assignation n'est vraie qu'après une durée t1 spécifiée depuis l'activation de l’étape associée. Dans l’exemple ci-dessous, l’action A sera exécutée 5s après l’activation de l’étape 1. 5s/X1 X1 Action A 1 X2 b 5s Action A 6.1.4 Action limitée dans le temps L'action limitée dans le temps est une action continue dont la condition d'assignation n'est vraie que pendant une durée t1 spécifiée depuis l'activation de l’étape à laquelle elle est associée. Automatismes industriels, M.N. Kabbaj, 2020 27 Représentation équivalente 5s/X1 Action A 1 1 Action A 5s/X1 b X1 Action A 2 6.2 5s Action maintenue ou mémorisée Pour qu'une action reste maintenue lorsque l'étape qui l'a commandée vient d'être désactivée, il faut utiliser une action mémorisée. En mode mémorisé c’est l’association d’une action à des événements internes qui permet d’indiquer qu’une variable de sortie prend et garde la valeur imposée si l’un des événements se produit. 6.2.1 Action à l’activation et à la désactivation Une action à l’activation est une action mémorisée Une action à la désactivation est une action lors de l’activation de l’étape liée à cette action. mémorisée lors de la désactivation de l’étape liée à cette action. 10 Incrémentation du compteur C à l’activation de l’étape 10 10 C:=0 C:=C+1 10 Mise à 0 du compteur C à la désactivation de l’étape 10. KM1:=1 KM1=1 dès l’activation de l'étape 10 et reste à 1 jusqu'à l’activation de l’étape 16. 16 KM1:=0 Automatismes industriels, M.N. Kabbaj, 2020 28 6.2.2 Action sur événement Une action sur évènement est une action mémorisée conditionnée à l’apparition d’un événement, l’étape à laquelle l’action est reliée étant active. Il est impératif que l’expression logique associée à l’évènement comporte un ou plusieurs fronts de variables d’entrées. Incrémentation du compteur C sur le front montant de « a », l’étape 10 étant active. a 10 C:=C+1 X10 a Valeur courante de C 0 1 2 7. Structures hiérarchisées 7.1 Notion de tâche (ou sous programme) Si des séquences apparaissent de façon répétitive, on peut utiliser la notion de tâche. GRAFCET PRINCIPAL GRAFCET sous programme SP1 10 20 X11+X13 Sdcy.CI 11 "SP1:20-24" X24 1er appel 21 1ére réponse 1V1-14 12 2V1-14 2S2 22 2S1 1S2 13 "entrée" ème "SP1:20-24" 2 appel X24 2ème réponse 1V1-12 14 1S1 Automatismes industriels, M.N. Kabbaj, 2020 24 "sortie" X12+ X14 29 La norme EN 60848 ne définit pas de symboles graphiques pour le GRAFCET de gestion des tâches. On indique entre guillemets (et pas dans un rectangle d’action) le nom du sous programme appelé. 7.2 Notion de Macro-Etape Avec la notion de macro-représentation, on se donne le moyen de reporter à plus tard ou sur une autre page la description détaillée de certaines séquences. M2 ƒ La macro-étape est la représentation unique d’un ensemble d’étapes et de transitions nommé expansion de macro-étape. Exemple d’une macro étape M2 représentée avec son expansion : L’expansion de la macro-étape commence par une seule étape d’entrée et se termine par une seule étape de sortie, étapes qui représentent les seuls liens possibles avec le GRAFCET auquel elle appartient. E2 d (1) a 21 H1 M2 (2) b e 22 KM1 H1 Le franchissement de la transition (1) active l’étape E2. f S2 La transition (2) ne sera validée que lorsque l’étape S2 sera active. Le franchissement de la transition (2) désactive l’étape S2. 7.3 Forçage et figeage L’ordre de forçage de situation émis par un GRAFCET hiérarchiquement supérieur permet de modifier la situation courante d’un GRAFCET hiérarchiquement inférieur, sans qu’il y ait franchissement de transition. L’ordre de forçage est un ordre interne prioritaire sur toutes les conditions d’évolution et a pour effet d’activer la ou les étapes correspondant à la situation forcée et de désactiver les autres étapes du GRAFCET forcé. L’ordre de forçage est représenté dans un double rectangle associé à l’étape pour le différencier d’une action. Automatismes industriels, M.N. Kabbaj, 2020 30 2 25 GPN{10} GPN{*} Lorsque l’étape 2 est active, le GRAFCET nommé GPN est forcé dans la situation caractérisée par l’activité de l’étape 10 (l’étape 10 est activée et les autres étapes sont désactivées). Lorsque l’étape 25 est active, le GRAFCET nommé GPN est forcé dans la situation où il se trouve à l’instant du forçage. On appelle également cet ordre « figeage ». 22 GPN{ } Lorsque l’étape 22 est active, le GRAFCET nommé GPN est forcé dans la situation vide. Dans ce cas aucune de ses étapes n’est active. 34 G4{INIT} Lorsque l’étape 34 est active, le GRAFCET nommé G4 est forcé dans la situation dans laquelle seules les étapes initiales sont actives. 8. Synchronisation et protection Le mode de représentation GRAFCET autorise le lancement d'activités se déroulant en parallèle, de manière complètement indépendante. Il est évidemment parfois nécessaire de resynchroniser de telles activités de même qu'il faut pouvoir protéger des ressources communes contre des accès simultanés. 8.1 Etape de verrouillage Cette étape considérée comme une étape initiale complémentaire permet le déroulement d’une seule séquence à la fois parmi plusieurs possibles. Automatismes industriels, M.N. Kabbaj, 2020 31 8.2 Etape de synchronisation Cette particularité se compose d’une étape initiale complémentaire et d’une étape normale. Elles synchronisent deux séquences dans des GRAFCET différents. L’une des séquences doit obligatoirement se dérouler après l’autre. 8.3 Synchronisation explicite Il s’agit de regrouper des branches parallèles sur une double barre horizontale avec une réceptivité unique. Il s’applique lorsque les activités parallèles sont si étroitement liées qu’une représentation graphique explicite de leurs interactions est indispensable. Lorsque les activités sont faiblement couplées on lui préfère des GRAFCETs indépendants pour des raisons de clarté. On les synchronise implicitement par variables d’étape. Automatismes industriels, M.N. Kabbaj, 2020 32 8.4 Synchronisation implicite 8.4.1 Synchronisation implicite horizontale Les activités sont décrites par des GRAFCETs graphiquement indépendants. Les activités sont synchronisées par des bits d’étapes croisés qui servent de réceptivités dans les autres GRAFCETs. (Echange de variables entre GRAFCET de même niveau). 8.4.2 Synchronisation implicite verticale La synchronisation horizontale peut devenir difficile à suivre à cause des croisements de variables d’étape. La synchronisation verticale utilise un GRAFCET supplémentaire de synchronisation et utilise le principe du client serveur. Le GRAFCET supérieur contrôle l’exécution des activités et les interactions ne se font qu’avec le GRAFCET de synchronisation Automatismes industriels, M.N. Kabbaj, 2020 33 8.5 Protection des ressources communes La protection de ressources communes est un autre problème qui se pose typiquement lorsque l'on a affaire à des activités se déroulant en parallèle. Les ressources communes doivent être dûment verrouillées de manière à éviter des accès simultanés non désirés. La figure suivante présente l'exemple du chargement d'un haut fourneau par deux wagonnets travaillant indépendamment. En l'occurrence, la ressource à protéger est constituée d'un tronçon de rail commun : il faut impérativement éviter que les deux wagonnets ne s'y engagent en même temps. A cet effet, on prévoit, juste avant le tronçon commun, deux positions, WA et WB, où l'on peut arrêter l'un des wagonnets si l'autre se trouve dans la zone commune. Automatismes industriels, M.N. Kabbaj, 2020 34 Le GRAFCET permet de gérer ces conflits de manière élégante : ƒ Mécanisme de protection de la ressource commune – Méthode explicite - Utilisation d’une étape de verrouillage - L’état libre ou occupé de la ressource commune est représenté par la variable d’étape X1 - Pour éviter le cas où les deux wagons se présentent simultanément en WA et WB, on a la réceptivité /X12, ce qui donne priorité au wagonnet A. Automatismes industriels, M.N. Kabbaj, 2020 35 ƒ Mécanisme de protection de la ressource commune par l’utilisation d’un graphe de synchronisation : Remarque : étape 1 joue le rôle de sémaphore en programmation temps réel. 9. Mise en équation du GRAFCET Soit la partie de Grafcet représentée par la figure ci-contre. Pour décrire l’activité de l’étape n, nous utiliserons la notation suivante : Xn=1 si l’étape n est active ; Xn=0 si l’étape n est inactive. La réceptivité tn étant une variable binaire, a pour valeur : tn=1 si la réceptivité est vraie ; tn=0 si la réceptivité est fausse. Automatismes industriels, M.N. Kabbaj, 2020 36 L’objectif est de déterminer les variables qui interviennent dans l’activité de l’étape n : Xn=f( ?). Les règles d’évolution du Grafcet sont le point de départ des équations logiques. ƒ La traduction de la deuxième règle donne la Condition d’Activation de l’étape n : CAX n = X n −1t n −1 ƒ La traduction de la troisième règle donne la Condition de Désactivation de l’étape n : CDX n = X n t n = X n +1 Si la CA et la CD de l’étape n sont fausses, l’étape n reste dans son état. C’est ce qu’on appelle l’effet mémoire. D’après ces trois points précédents, on peut donc écrire : CAX n = f (CAX n , X n , CDX n ) Il est alors possible d’écrire la table de vérité de l’étape n et d’en déduire l’équation de Xn : X n = CAX n + CDX n . X n Ou X n = X n −1t n −1 + X n +1 X n 10. Modes de marches et d’arrêts On considère un ensemble partie opérative – partie commande autonome, avec éventuellement une partie opérative défaillante, mais une partie commande toujours en ordre de marche cycle unique ou cycle par cycle. 10.1 Cycle unique ou cycle par cycle Pour un cycle unique, nous avons le grafcet validation : dcy · CI type suivant avec comme condition de Automatismes industriels, M.N. Kabbaj, 2020 37 – dcy étant l’ordre de départ donné par l’opérateur ; – CI la variable représentant les conditions initiales. A ce grafcet, on peut rajouter : – Un voyant de contrôle activé lors de l’étape d’initialisation ; – Un test anti-répétition du cycle. 10.2 Cycle par cycle ou continu Il existe deux solutions pour réaliser ce type de grafcet. Ces deux solutions font appel aux deux variables associées au cycle : dcy pour le départ du cycle, et acy pour l’arrêt du cycle. Solution N°1 : Automatismes industriels, M.N. Kabbaj, 2020 38 Solution N°2 : un interrupteur permet de choisir entre le mode automatique ou celui cycle par cycle. 10.2.1 Intervention réglage et dégagement ƒ Marche manuelle ƒ Marche séquence par séquence ou étape par étape On ajoute, si possible, une transition permettant soit de sélectionner une séquence, soit de s’arrêter sur une étape donnée. Ceci est très difficile à mettre en œuvre. Attention : tous ces modes présentent de grand danger matériel et opérateur ! Automatismes industriels, M.N. Kabbaj, 2020 39 10.2.2 Arrêts ƒ Arrêt momentané ƒ Arrêt d’urgence ƒ Arrêt d’urgence + défauts + dégagement Automatismes industriels, M.N. Kabbaj, 2020 40 Références [1] S. Moreno, E. Peulot. Le GRAFCET; conception-implantation dans les Automates Progammables Industriels, Casteilla, 2009. [2] William Bolton. Automates programmables industriels, Dunod , 2015. [3] R. David and H. Alla. Du Grafcet aux réseaux de Pétri, 2eme édition. Série Automatique, Hermes, 1997. [4] Norme CEI 60848 Langage de spécification GRAFCET pour la description fonctionnelle du comportement de la partie séquentielle des systèmes de commande, 2013. [5] Norme CEI 61131-3, Automates programmables - Partie 3 : Langages de programmation, 2003. Automatismes industriels, M.N. Kabbaj, 2020 41