1 Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204) 1 Chapitre II Automatisme séquentiel • Introduction • API (structure, modules E/S, utilisation) • Fonctions de base, blocs fonctionnels • Méthode de conception directe • Normes de conception (GRAFCET, GEMMA) • Implantation / sécurité • Laboratoire no 1 : utilisation d’un API Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204) 2 Introduction • Plusieurs tâches peuvent être automatisées à partir de signaux d’entrée / sortie de type tout-ou-rien (booléen) • Positionnement d’objets contre des butées • Remplissage de contenants à certains niveaux • Coordination de plusieurs robots • Logique de protection pour équipements électroniques • Traditionnellement, des relais et des portes logiques ont été utilisés pour câbler ces automatismes • Câblage complexe et difficilement modifiable.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
1
Chapitre IIAutomatisme séquentiel
• Introduction• API (structure, modules E/S, utilisation)• Fonctions de base, blocs fonctionnels• Méthode de conception directe• Normes de conception (GRAFCET, GEMMA)• Implantation / sécurité• Laboratoire no 1 : utilisation d’un API
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
2
Introduction
• Plusieurs tâches peuvent être automatisées à partir de signaux d’entrée / sortie de type tout-ou-rien (booléen)
• Positionnement d’objets contre des butées• Remplissage de contenants à certains niveaux• Coordination de plusieurs robots• Logique de protection pour équipements électroniques
• Traditionnellement, des relais et des portes logiques ont été utilisés pour câbler ces automatismes
• Câblage complexe et difficilement modifiable.
2
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
3
Introduction (suite)• Les automates programmables industriels
(API) sont spécialement conçus pour la programmation de ces tâches dites séquentielles
• Incluent la logique combinatoire et séquentielle• Comportent des modules d’entrée / sortie (E/S)
standardisés et programmables par l’usager• Plus faciles à adapter aux séquences de
tâches variables.• L’entretien de ces systèmes est faciliter par
les standards de fabrication des modules qui le constituent.
• Possibilité de communiquer avec d’autres unités
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
4
Automates programmables industrielsStructure
• Définition: Un automate programmable industriel (API) est une unité de contrôle dédiée (ordinateur et interface entrée / sortie) construite pour réaliser des stratégies de contrôle de type séquentiel, telles que celles réalisées par des relais électro-mécaniques et / ou des circuit logiques temporisés.
• Terminologie• PC - Programmable Controller (Royaume-Uni)• PLC - Programmable Logic Controller (États-Unis)• PBS - Programmable Binary System (Suède)• API - Automate Programmable Industriel (France)
3
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
• Structure interne:• Unité de contrôle (CPU)• Mémoire (zone programme, zone données)• Circuits d’interface (entrées / sorties)• Unité de programmation (implantation externe de la
stratégie de commande)
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
6
Automates programmables industrielsÉvolution
4
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
• Type le plus courant d’entrée pour un capteur et ayant la valeur tout-ou-rien (0 ou 1)
Entité matérielle InterfaceSélecteur 24 V AC/DCBouton poussoir 48 V AC/DCCellule photosensible 120 V AC/DCInterrupteur limite 230 V AC/DCFusible Niveau TTLInterrupteur de proximité « Non-Voltage »Interrupteur de niveau Entrée isoléeContact de démarrage de moteur 5-50 V DCRelais
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
10
Automates programmables industrielsModules de sorties binaires
• Type le plus courant de sortie pour un actionneur et ayant la valeur tout-ou-rien (0 ou 1)
Entité matérielle InterfaceAlarme 12-48 V ACRelais e contrôle 120 V ACVentilateur 230 V ACLumière 12-48 V DCSirène 120 V DCValve 230 V DCDémarreur Relais de contactSolénoïde Sortie isolée
5-50 V DCNiveau TTL
6
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
11
Automates programmables industrielsSpécifications des modules E/S
• Électriques• Spécification de tension entrante• Spécification de courant entrant• Tension de basculement entrante (input threshold voltage)
• Délai d’entrée• Spécification de tension sortante• Spécification de courant sortant• Spécification de puissance de sortie• Besoins en courant• Besoin maximal en courant (surge current)• Courant de fuite à l’état inactif ( off )• Délai sortie vers état actif ( on )
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
12
Automates programmables industrielsSpécifications des modules E/S (suite)
• Électriques (suite)• Délai sortie vers état inactif (off)• Isolation électrique (entre la logique et la puissance)• Intervalles de sortie tension / courant• Intervalles d’entrée tension / courant• Résolution numérique (convertisseurs A/N et N/A)• Spécification du fusible de sortie
• Mécaniques• Bornes par modules (habituellement 1,2,4,8,16,32 ou 64)
• Dimensions et nombre de fils par borne (ex.: 2*#14 AWG)
• Environnementales• Spécification de température ambiante• Spécification d’humidité
7
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
13
Automates programmables industrielsUtilisation
• Programmation• Choix de langage fixé selon l’automate choisi
– Liste d’instructions (IL)– Texte structuré (ST)– Diagramme à relais (LD) (aussi appelé Ladder ou schéma à échelle)
– Diagramme à bloc fonctionnel (FBD)– Graphe fonctionnel séquentiel (Grafcet)
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
14
Automates programmables industrielsUtilisation
• Exécution des programmes• Mise à jour continue des E/S• Mise à jour en masse des E/S
8
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
15
Automates programmables industrielsFonctions de base (en LD)
• Éléments constitutifs des diagrammes à relais
Contacts (entrées)(physiques ou logiques)
Bobines (sorties)(physiques ou logiques)
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
16
Automates programmables industrielsFonctions de base (suite)
• Interprétation:• Balayage du haut vers le bas• Sorties mises à jours à la fin du balayage en fonction
des états des entrées au début de ce balayage
9
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
17
Automates programmables industrielsFonctions de base (suite)
• Ces éléments peuvent servir à programmer des comportements plus ou moins complexes suivant la logique des diagrammes à relais
Marche-Arrêt avec deux entrées
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
18
Automates programmables industrielsFonctions de base (suite)
Automaintien avec deux entrées(comme Marche-Arrêt)
10
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
19
Automates programmables industrielsFonctions de base (suite)
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
20
Automates programmables industrielsFonctions de base (suite)
Génération d’un créneau
11
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
21
Automates programmables industrielsFonctions de base (suite)
Marche-Arrêt avec une entrée (plus complexe… l’ordre des lignes et du balayage est important)t=0, X1,Y1,Y2,Y3=0t=1, X1=1 => Y2,Y3 =1t=2, aucun changementt=3, X1=0 => Y3=0t=4, aucun changementt=5, X1=1, Y3=0 Y2=1 => Y1=1t=5+, deuxième ligne du LD => Y2=0t=6, Y2=0 => Y1=0t=7, X1=0 => Y3=0t=8, attente de X1=1
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
22
Automates programmables industrielsFonctions de base (suite)
Oscillateur unitaire(aucune entrée)
12
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
23
Automates programmables industrielsFonctions de base (suite)
Front montant(créneau unitaire sur pression)
(plus complexe… l’ordre des lignes et du balayage est important)t=0, X1,Y1,Y2,Y3=0t=1, X1,Y1,Y2,Y3=0t=2, X1=1 => Y1,Y2 =1t=3, Y2=1 => Y1=0t=4, aucun changementt=5, aucun changementt=6, X1=0 => Y2=0t=7, attente de X1=1t=8, attente de X1=1
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
24
Automates programmables industrielsFonctions de base (suite)
Front descendant(créneau unitaire sur relâche)
(plus complexe… l’ordre des lignes et du balayage est important)t=0, X1,Y1,Y2,Y3=0t=1, X1,Y1,Y2,Y3=0t=2, X1=1 => Y2 =1t=3, aucun changementt=4, aucun changementt=5, aucun changementt=6, X1=0, Y2=1 => Y1=1t=6+, X1=0 => Y2=0t=7, X1=0,Y2=0 => Y1=0t=8, attente de X1=1
13
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
25
Automates programmables industrielsFonctions de base (suite)
Front montant / descendant(créneau unitaire sur pression / relâche)
(plus complexe… l’ordre des lignes et du balayage est important)t=0, X1,Y1,Y2,Y3=0t=1, X1=1 => Y2=1t=2, Y2=1 => Y1=0t=3, aucun changementt=4, aucun changementt=5, aucun changementt=6, X1=0, Y2=1 => Y1=1t=6+, X1=0 => Y2=0t=7, X1=0,Y2=0 => Y1=0t=8, attente de X1=1
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
26
Automates programmables industrielsFonctions de base (suite)
Relais intermédiaire
Dans la plupart des cas, il y a une limite du nombre de lignes contenues dans un seul diagramme à relais.
14
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
Compte le nombre d ’impulsions arrivant sur l’entrée X tant que l’entrée R est à 1. La sortie Q prend la valeur 1 si N courant est égal au N voulu; prend la valeur 0 si non.
D’autres entrées / sorties peuvent se trouver sur ce bloc selon le programme utilisé.
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
Programmateur cyclique(Drum register)Fonctionne comme un programmateur à cames. Sorties fonction de l’état actuel et des informations en mémoire.
Le fonctionnement de cet élément est difficilement représentable en termes de graphiques temporels… Le meilleur moyen de se familiariser avec lui est de tempter de l’utiliser au laboratoire.
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
Relais maîtreLe numéro sous l’identificateur indique combien de lignes du diagramme sont sous l’effet du relais maître. Les conditions d’activation de ce relais s’ajoutent à celles des relais qui sont sous son influence.
17
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
Manipulation de donnéesLe langage inclut plusieurs blocs fonctionnels pour manipuler les données afin de produire certaines actions.
18
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
35
Automates programmables industrielsConclusions sur les diagrammes à relais
•Seul, le langage LD arrive difficilement à gérer une séquence complexe d’événements comme pourrait le faire un langage comme le C avec ses boucles conditionnelles.
•Ce langage est meilleur pour la description de conditions logiques et d’actions. Une alternative est préférable pour le traitement de séquences d’action.
•Introduction du Grafcet (GRAphe FonCtionnel Étape Transition) afin de gérer ce genre de processus.
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Ensemble d’étapes, de transitions et de liaisons orientées qui fixent l’état actuel et à venir d’un automatisme.
•La force de ce langage réside dans la simplicité de l’établissement d’une séquence de commandes avec regroupement d’actions et validation en cours de parcours.
•La séquence évolue selon cinq règles de base que nous verrons bientôt.
19
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Règle 5: Activation / désactivation simultanée d’une étape
•Les chapitres 4 et 5 du livre (Adepa, Le Grafcet 2e édition, Éditions Cépaduès,1995,144 pp ) expliquent en détails les principes survolés ici et il serait bon de les lire.
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Étapes actives au début du fonctionnement. Correspond au comportement de repos du procédé habituellement.
•Si l’automatisme n’est pas cyclique (état initial dépendant des états des entrées dès la mise en marche du procédé), alors il peut être utile de « forcer » des étapes initiales.
•En logique, l’activation de ces étapes se fait suivant un créneau unitaire et unique provoqué par le démarrage de l’appareil.
21
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Le franchissement d’une transition entraîne simultanément la validation de toutes les étapes immédiatement suivantes et la désactivation de toutes les étapes immédiatement précédentes.
•Plus d’une étape peut être valide à un même instant lorsque:• le Grafcet est divisé en plusieurs sous-diagrammes avec chacun une étape initiale
•des transitions de convergence et / ou de divergence se retrouvedans un diagramme
22
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Plusieurs transitions simultanément franchissables sont simultanément franchies
•La variable Xi (où i est son identificateur numérique) représente l’état de l’étape i (actif=1; inactif=0). Ces variables sont très utiles pour synchroniser plusieurs Grafcet entre eux.
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Réduction d’un GrafcetUn des avantages d’utiliser le Grafcet est la possibilité d’exprimer clairement un automatisme. Toutefois, il peut être avantageux pour des raisons d’économie de mémoire ou de composantes de réduire le nombre d’étapes de ce dernier en autant que la clarté ne s’en trouve pas compromise.
Fusionnement d’étapes
Pour fonctionner, la condition b doit rester vraie durant toute l’étape 2.
24
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Simplifications usuelles•suppression d’étapes redondantes (regrouper les actions)•suppression des transitions redondantes (regrouper les réceptivités)•fusionnement d’étapes (plus d’analyse combinatoire dans l’automatisme)
Étapes redondantes
Report direct des actions dans d’autres étapes
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Une macroétape sert à:•Faciliter la description des systèmes complexes.
•Alléger le graphisme (la représentation) d’un Grafcet en détaillant certaines parties.
•Chaque macroétape respecte:•Une seule étape d’entrée (préfixe E) et une seule étape de sortie (préfixe S).•Le franchissement d’une transition en amont de la macroétape active l’étape d’entrée de son expansion.•L’étape de sortie participe à la validation des transitions en aval de la macroétape.•Aucune liaison ne peut mener vers ou hors de l’expansion d’une macroétape.
28
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Si pour une raison on veut éliminer une macroétape dans un Grafcet, il y a deux solutions:
•Substituer la macroétape par son expansion pour chacun de ses appels.
•Créer un Grafcet concurrent contrôlé par le Grafcet principal et comprenant la macroétape.
•Une raison de faire cela est lorsque le logiciel de programmation utilisé ne supporte pas les macroétapes (certains vieux logiciels) ou lorsqu’il ne permet pas les appels multiples à une macroétape (c’est le cas du logiciel PL7 que nous utilisons au laboratoire).
29
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Une macroaction sert à:•Réduire la complexité des Grafcets.•Faciliter la compréhension, correction et mise à jour de ces derniers.•Réglementer la hiérarchie qui existe entre plusieurs Grafcets concurrents.
•Une macroaction peut être:•Impulsionnelle : ordre instantané sur le système.•À niveau : consigne constante valide pour la durée de son activité.
•Exemples de macroactions:•Forcer: oblige à aller à une étape (Impulsionnelle)•Forçage oblige à aller et rester à une étape (À niveau)•Figeage maintien de l’état actuel du système (À niveau)•Masquage inhibe une action (À niveau)
30
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Une façon de traiter l’arrêt d’urgence est de le traiter comme une variable ordinaire du Grafcet. Or ceci mène rapidement vers un Grafcet illisible...
•Demande une liaison pour chaque étape
•Dans un Grafcet complexe, un lien direct avec l’étape d’urgence peut facilement être impossible.
34
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Lorsqu’une séquence spéciale est nécessaire, une bonne façon de gérer le problème est d’utiliser la synchronisation et d’avoir un Grafcet pour le déroulement normal et un deuxième Grafcet pour les séquences de sécurité.
35
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
•Les sorties sont affectées durant ce niveau et suivant les étapes actives et les conditions d’inhibition des actions.
37
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
73
Automates programmables industrielsGrafcet - Traduction en LD
•La programmation directe d’un Grafcet implique la conversion en diagramme à relais de la séquence d’événements. Pour ce faire, chaque étape est associée à une mémoire binaire et il faut exprimer les conditions d’activation de cette mémoire.
•Deux types de mémoire:•Déclenchement prioritaire (arrêt prédominant)
Ei = /Ei+1*((Ei-1*Ti-1)+Ei)
•Enclenchement prioritaire (départ prédominant)
Ei = (Ei-1*Ti-1)+(Ei*/Ei+1) (meilleur choix)
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
74
Automates programmables industrielsGrafcet - Traduction en LD (suite)
•Normalement, les deux types de mémoire peuvent être choisis, sauf dans le cas d’un Grafcet à deux étapes.
Dans le premier cas, E2 ne peut être activée lorsque E1 est active et que T1 passe passe de 0 à 1. Or, fonctionne si on a trois étapes...
38
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
75
Automates programmables industrielsGrafcet - Traduction en LD (suite)
•Exemple complet: •Il faut générer les éléments suivants pour implanter cette séquence en diagramme à relais:
•Générer l’impulsion d’activation de l’étape initiale.
•Générer l’impulsion sur la pression de BP.
•Coder la séquence avec des mémoires à enclenchement.
•Générer le circuit d’affectation des sorties.
Automne 2002 Cours de commande séquentielle (ELE4202 et ELE3204)
76
Automates programmables industrielsGrafcet - Traduction en LD (suite)