Bibliographie ❶ Michel BERTRAND « Automates programmables industriels ❷ Les A.P.I. « Architecture et applications des automates programmables » ❸ Henri Nussbaumer : Informatique Industriels III « Automates programmables commande et réglage Capteurs » ❹ L. A. Bryan, E.A. Bryan « Programmable Controllers – Theory and Implementation » Second Edition ❺ Doc Schneider O. KAMACH Programmation en Langage Ladder 1 Chapitre 4 Programmation en Langage Ladder Introduction ➢ Langage graphique basé sur deux éléments : contacts et bobines ➢ Schéma électrique Langage Ladder ➢ Automates : exemple Allen Bradely, Télémécanique TSX MICRO 37xx V1.0 n’utilisent pas G7 ➢ Transcription G7 en Ladder (Langage à contact) ➢ Un programme écrit en Langage Ladder se compose d’une suite de réseaux exécutés séquentiellement. 2 Structure d’un réseau (PL7-Pro) ✓ Un programme en Ladder est composé d’une suite de réseau (Rung) ✓ chaque réseau est composé principalement de 4 zones : ➢ zone de saisie d’étiquette (ou label) %Li (0 i 999) ➢ zone de saisie de commentaires (222 caractères maxi) ➢ zone de test (colonne 1 à 10) : contacts, blocs fonctions, blocs comparaisons. ➢ zone d’action (dernière colonne) : bobines, blocs opérations 3 Programmation Ladder Désignation Eléments Eléments de test Contact à fermeture Symboles Contact à ouverture Eléments de liaison Contact front montant P Contact front descendant N Connexion horizontale Connexion verticale Eléments d’action Bobine directe Bobine inverse Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) S R %Li Bobine dièse # Bobine appel à un sous programme (Call) C 4 Programmation Ladder Désignation Eléments Symboles Eléments d’action Retour de sous programme <return> Arrêt programme <halt> 5 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe Connexion verticale Contact passant quand l’objet bit qui le pilote est à l’état 1 Bobine inverse Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) 6 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Eléments d’action Connexion horizontale Connexion verticale Bobine directe Contact passant quand l’objet bit qui le pilote est à l’état 0 Bobine inverse Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) 7 SN : Contacts 8 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant P Front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe Connexion verticale Bobine inverse Front montant : détection du passage du 0 à 1 de l’objet bit qui le pilote Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) 9 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe N Connexion verticale Bobine inverse Bobine d’enclenchement Bobine de déclenchement Front descendant : détection du passage du 1 à 0 de l’objet bit qui le pilote Saut conditionnel (Jmp) Bobine dièse Bobine appel à un sous programme (Call) 10 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe Connexion verticale Bobine inverse Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) Permet de relier en série les éléments de test et d’action entre les deux barre potentiel Bobine dièse Bobine appel à un sous programme (Call) 11 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe Connexion verticale Bobine inverse Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Permet de relier en parallèle les éléments graphiques de test et d’action. Bobine appel à un sous programme (Call) 12 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe Connexion verticale Bobine inverse Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) L’objet bit associé prend la valeur du résultat de la zone de test 13 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe Connexion verticale Bobine inverse Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) L’objet bit associé prend la valeur inverse du résultat de la zone de test 14 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe Connexion verticale Bobine inverse Bobine d’enclenchement S Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) L’objet bit associé est mis à 1 lorsque le résultat de la zone de test est à 1 15 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe L’objet bit associé est mis à 0 lorsque le résultat de la zone de test est à 1 Connexion verticale Bobine inverse Bobine d’enclenchement Bobine de déclenchement R Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) 16 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Eléments d’action Connexion horizontale Connexion verticale Permet un branchement à un réseau étiqueté amont ou aval. Bobine directe Bobine inverse Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) %Li Bobine dièse Bobine appel à un sous programme (Call) 17 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe Connexion verticale Permet la programmation des réceptivités associées aux transitions. Bobine inverse Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse # Bobine appel à un sous programme (Call) 18 Programmation Ladder Désignation Eléments Eléments de test Symboles Fonctions Contact à fermeture Contact à ouverture Contact front montant Contact front descendant Eléments de liaison Connexion horizontale Eléments d’action Bobine directe Connexion verticale Bobine inverse Permet un branchement en début de sous programme lorsque le résultat de la zone de test est à 1. Bobine d’enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) C 19 Programmation Ladder Désignation Eléments Symboles Eléments d’action Retour de sous programme <return> Arrêt programme <halt> Fonction Permet au retour au module appelant lorsque le résultat de la zone de test est à 1. 20 Programmation Ladder Désignation Eléments Symboles Eléments d’action Retour de sous programme <return> Arrêt programme <halt> Fonction Provoque l’arrêt de l’exécution du programme lorsque le résultat de la zone de test est à 1. 21 Programmation Ladder (S7-TIA Portal) Désignation Eléments Eléments de test Symboles Fonctions Contact montant Front descendant Bascule RS Bascule SR Cette instruction compare l'état logique actuel du RLO à celui de l'interrogation précédente, mémorisé dans le mémento %M20.3. Quand l'instruction détecte un changement de "0" à "1" dans le RLO, il s'agit d'un front montant. Dance ce cas, la sortie Q est mise à 1 22 Programmation Ladder (S7-TIA Portal) Désignation Eléments Eléments de test Contact montant Front descendant Bascule RS Symboles Fonctions Détecte le passage de 1 à 0 du résultat logique (RLO). Cette instruction compare l'état logique actuel du RLO à celui de l'interrogation précédente, mémorisé dans le mémento %M20.4. Quand l'instruction détecte un changement de « 1" à « 0" dans le RLO, il s'agit d'un front descendant. Dance ce cas, la sortie Q est mise à 1. La réponse au front d’un résultat logique, comme par exemple les fonctions ET ou OU se fait à l’aide des instructions « P_TRIG » et « N_TRIG » Bascule SR 23 Programmation Ladder (S7-TIA Portal) Désigna tion Eléments Eléments de test Contact montant Front descendant Bascule RS Symboles Fonctions L'entrée R1 a la priorité sur l'entrée S. Quand les deux entrées S et R1 sont à "1", l'opérande spécifié est mis à "0". L'état logique actuel de l'opérande « Tag_4 » est transféré à la sortie Q où il peut être interrogé Bascule SR 24 Programmation Ladder (S7-TIA Portal) Désignation Eléments Eléments de test Symboles Fonctions Contact montant Front descendant Bascule RS Bascule SR L'entrée S1 a la priorité sur l'entrée R. Quand les deux entrées S1 et R sont à "1", l'opérande spécifié (Tag_7) est mis à « 1 ». L'état logique actuel de l'opérande est transféré à la sortie Q où il peut être interrogé. 25 Programmation Ladder (S7-TIA Portal) Désignation Eléments Symboles Fonctions Saut (JMP) JMPN LABEL Lorsque le résultat logique prend la valeur 1, l’instruction « JMP » s’exécute et interrompe l’exécution linéaire du programme afin d’exécuter un réseau plus loin labelisé par TEST 26 Programmation Ladder (S7-TIA Portal) Désignation Eléments Symboles Fonctions Saut (JMP) JMPN LABEL Avec l'instruction « JMPN » vous interrompez l'exécution linéaire du programme et la poursuivez dans un autre réseau si le résultat logique à l'entrée de l'instruction est "0". 27 Programmation Ladder (S7-TIA Portal) Désignation Eléments Saut (JMP) JMPN LABEL Symboles Fonctions L’instruction LABEL permet d'identifier le réseau cible dans lequel l'exécution du programme se poursuit après l’exécution de l’instruction JMP ou JMPN 28 Programmation Ladder (S7-TIA Portal) 29 Programmation Ladder (S7-TIA Portal) 30 Programmation Ladder (S7-TIA Portal) Exercice Exercice 1 : Lorsque on appuie sur le bouton « Start » le convoyeur se met en marche, et lorsque on appuie sur le bouton « Reset », le vérin rotatif sort Exercice 2 : Une impulsion sur le bouton start « Start » démarre le convoyeur et une impulsion sur « le bouton « stop » l’arrête. Le convoyeur ne peut démarrer que si une pièce est présente à l’entrée de celui-ci. Exercice 3 : Le convoyeur démarre lorsqu’une pièce est présente à l’entrée et que l’on appuie sur le bouton « Start ». Il s’arrête lorsque la pièce franchi la cellule B5 (Présence pièce sortie convoyeur). Lorsque la pièce est présente à l’entrée du convoyeur, le voyant Q1 est allumé. Lorsque le convoyeur est en marche, il clignote à la fréquence de 2HZ 31 Programmation Ladder (S7-TIA Portal) Exercice On va distinguer deux modes : le mode « Manuel » et le mode « Automatique » Lorsque le commutateur « Aut_Man » est sur Manuel (0), le convoyeur et le vérin Sont commandés à l’aide des boutons « Start » et « Reset » (impulsions). Lorsque le commutateur se trouve dans la position « Auto », le convoyeur 1) Démarre si une pièce est présente à l’entrée du convoyeur, que le magasin n’est pas plein et que l’on appuie sur le bouton « Start ». 2) s’arrête lorsque la pièce a franchit la barrière B5 ou que le mode automatique est désactivé. De plus, il faut prévoir une signalisation lumineuse. 3) Lorsque l’on est en mode automatique le voyant du bouton Start s’allume. 4) Lorsque la pièce est présente à l’entrée du convoyeur, le voyant Q1 est allumé. Lorsque le convoyeur en marche, il clignote à la fréquence de 2HZ. 5) Lorsque le magasin est plein, Q1 et Q2 clignotent à la fréquence de 1HZ 32 Logique en Ladder ET (A, B) + A B Y A OU (A, B) Complément (Y) - Y B A Y A B A B Y XOR (A, B) 33 Logique en Ladder + ET (A, B) A A B Y - Y B Table de vérité « ET » A B Y 0 0 0 0 1 0 1 0 0 1 1 1 34 Logique en Ladder ET (A, B) A Y B Table de vérité « ET » A B 0 0 0 1 1 0 1 1 Y 35 Logique en Ladder ET (A, B) A Y B Table de vérité « ET » A B Y 0 0 0 0 1 0 1 0 0 1 1 1 36 Logique en Ladder ET (A, B) B A Logigramme A & B Langage Littéral (ST) Y Y := A and B; Y Langage List LD AND ST A B Y 37 Logique en Ladder A OU (A, B) Y B A B 38 Logique en Ladder A OU (A, B) Y B A B 39 Logique en Ladder A OU (A, B) Y B A Table de vérité « OU » B A B Y 0 0 0 0 1 1 1 0 1 1 1 1 40 Logique en Ladder A OU (A, B) Y B A B Logigramme A B = Langage Littéral (ST) Y Y := A OR B; Langage List LD OR ST A B Y 41 Logique en Ladder Complément (Y) A Y Si A = 1 alors Y = 0 Si A = 0 alors Y = 1 Logigramme A 1 Y Langage Littéral Langage List Y := NOT A; LDN ST A Y 42 Logique en Ladder A B A B Y XOR (A, B) A 0 0 B 0 43 Logique en Ladder A B A B Y XOR (A, B) A 1 0 B 1 44 Logique en Ladder XOR (A, B) A B A B Y A 0 1 B 1 45 Logique en Ladder XOR (A, B) B A B Y A 1 1 A B 0 Logigramme ? Langage Littéral Y := A XOR B; Langage List LD A XOR B ST Y 46 Temporisateur (CEI) ❑ Les blocs fonctions sont des fonctions prédéfinis dans l’automate ❑ Les blocs fonctions sont caractérisés par : ➢ une représentation graphique ➢ un nom et numéro d’ordre ➢ des entrées qui le commande ➢ des sorties qui indiquent sont état ➢ des paramètres internes qui permettent de l’adapter à l’application 47 Temporisateur (CEI) ❑ Bloc fonction temporisateur Le temporisateur possède 3 mode de fonctionnement : o TON : permet de gérer des retards à l’enclenchement o TOF : permet de gérer des retards au déclenchement o TP : permet d’élaborer une impulsion de durée précise (monostable) ❑ La configuration dans PL7-Pro consiste à déterminer les paramètres suivants : ✓ ✓ ✓ ✓ mode : TON, TOF, TP; TB (base de temps) : 1mn, 1s, 100ms ou 10ms %TMi.P (valeur de présélection) de 0 à 9999 MODIF : Y (yes) ou N (Non). ❑ La configuration dans S7 ou TIA PORTAL consiste à déterminer les paramètres suivants : ✓ Mode : TON, TOF, TP; ✓ PT : T#délai ✓ A chaque compteur ou temporisateur CEI est associée un DB. 48 Temporisateur (CEI) ❑ Bloc fonction temporisateur : TON (PL7-PRO) L'instruction « TON » retarde l’activation de la sortie Q par la durée prédéfinie %TMi. L'instruction est démarrée lorsque le résultat logique à l'entrée IN passe de « 0 » à « 1 ». La durée %TMi.P programmée commence à s'écouler au démarrage de l'instruction. Une fois la durée %TMi.P écoulée, la sortie Q fournit l'état logique « 1 ». La sortie Q reste à tant que l'entrée de démarrage fournit "1". Lorsque l'état logique à l'entrée de démarrag passe de « 1 » à « 0 », la sortie Q est remise à 0. La fonction de temporisation est redémarré lorsqu'un nouveau front montant est détecté à l'entrée de démarrage. %IN %Q %TMi.P %TMi.V Retard à l’enclenchement ou retardé à l’action : TON 49 Temporisateur (CEI) ❑ Bloc fonction temporisateur : TON (S7, TIA Portal) ✓ IN : entrée permettant d’activer le temporisateur ✓ PT : la durée qui définit le retard de l’activation de la sortie Q ✓ ET : fournit la valeur courante de la temporisation ✓ Q : La sortie du temporisateur IN Q PT ET 50 Temporisateur (CEI) ❑ Bloc fonction temporisateur : TOF (PL7-Pro) Le timer TOF permet de retarder la mise à « 0 » de la sortie Q de la durée programmée %TMi.P. La sortie Q est mise à 1 lorsque le résultat logique à l'entrée IN passe de « 0 » à « 1 ». Lorsque l'état logique de IN repasse à « 0 », le temporisateur commence le calcul jusqu’à atteindre la valeur %TMi.P, par la suite la sortie Q est remise à « 0 ». %TMi.V : Valeur de temps courante : la valeur de temps commence dès que IN passe de 1 à 0 et s'arrête lorsque la durée %TMi.P est atteinte. Lorsque la durée %TMi.P est atteinte et que l'état logique à l'entrée IN passe à nouveau à « 1 », la sortie %TMi.V est remise à « 0 ». %IN %Q %TMi.P %TMi.P %TMi.P %TMi.V Retard au déclenchement ou retardé au relâchement : Mode TOF 51 Temporisateur (CEI) ❑ Bloc fonction temporisateur : TP (PL7-Pro) La sortie Q est mise à « 1 » pour la durée %TMi.P, indépendamment de l'évolution du signal d'entrée. Même la détection d’un nouveau front montant du signal n'a pas d'influence sur l'état logique à la sortie Q tant que la durée %TMi.P n'est pas entièrement écoulée. La sortie Q est mise à « 1 » pour la durée %TMi.P indépendamment de l'évolution du signal d'entrée. La détection d'un nouveau front montant du signal d’entrée IN n'a pas d'influence sur l'état logique à la sortie Q tant que la durée %TMi.P n'est pas entièrement écoulée. %TMi.V est la valeur courante de la temporisation. %IN %Q %TMi.P %TMi.V 52 Temporisateur (CEI) ❑ Bloc fonction temporisateur : TOF (S7 et TIA Protal) ✓ IN : entrée permettant d’activer le temporisateur ✓ PT : la durée qui définit le retard de la désactivation de la sortie Q ✓ ET : fournit la valeur courante de la temporisation ✓ Q : La sortie du temporisateur 53 Temporisateur (S7) ❑ Bloc fonction temporisateur : TP (S7, TIA Portal) IN : Entrée de d’activation de l’horloge PT : Durée de l’impulsion. Cette valeur doit être positive. Q : Sortie de la temporisation. ET : Valeur de temps actuelle de la temporisation : la valeur de temps commence à T#0s et s'arrête lorsque la durée PT est atteinte. Lorsque la durée PT est atteinte et que l'état logique à l'entrée IN est « 0 », la sortie ET est remise à 0. C’est une variable de type « time ». 54 Temporisateur (S7) Cette remarque est valable aussi pour les temporisateurs et aussi pour les bobine Set 55 Mémento de cadence (S7-TIA Portal) ➢ Clignotement d’un voyant ➢ Acquisition périodiquement la valeur d’une valeur 56 Compteur (CEI) ❑ Bloc fonction compteur (PL7-Pro) ➢ R : Remise à zéro (Reset) ➢ S : Présélection ➢ CU : comptage ➢ CD : décomptage ➢ ➢ ➢ ➢ %Ci.P : valeur de présélection %Ci.E (Empty) = 1 lorsqu’en décomptage %Ci.V passe de 0 à 9999 %Ci.F (Full) = 1 lorsqu'en comptage, %Ci.V passe 9999 à 0 %Ci.D = 1 lorsque %Ci.V = %Ci.P 57 Compteur ❑ Bloc fonction compteur (PL7-Pro) %Ci.P = 4 R CU 1 2 3 4 %Ci.V %Ci.D Diagramme de principe d’un compteur à accumulation 58 Compteur (CEI) ❑ Bloc fonction compteur (S7 - TIA Portal) Il existe 3 types de compteurs CEI : CTU (comptage), CTD (décomptage) et CTUD (comptage et décomptage). A chaque compteur CEI est associée un DB. Compteur comptage CTU L'instruction « Comptage» permet d'incrémenter la valeur à la sortie CV. ❑ compteur CTU CU : Entrée du compteur. La valeur du compteur est incrémentée de 1 lorsque l’opérande reliée à cette entrée passe de 0 à 1. Le compteur peut être incrémenté jusqu’à ce que la valeur limite supérieure (CV de type entier (INT)) soit atteinte. R : Entrée de réinitialisation. La valeur de sortie CV (valeur de comptage en cours) est remise à zéro lorsque l’entrée R passe à 1. Tant que R est à 1, l’entrée CU n’a pas d’effet sur l’instruction. PV : Valeur à laquelle la sortie Q est mise à 1. Q : Etat du compteur. Cette sortie est mise à 1 lorsque la valeur actuelle de comptage est supérieure ou égale à la valeur PV. CV : Valeur de comptage en cours. Cette donnée doit être de type INT. 59 Compteur (CEI) ❑ Bloc fonction compteur (S7 - TIA Portal) ❑ compteur CTD La sortie du compteur est mise à 1 lorsque la valeur courante du compteur est égale à 0. CD : Entrée du compteur. La valeur du compteur est décrémentée de 1 lorsque l’opérande reliée à cette entrée passe de 0 à 1. LD : Entrée de chargement. Lorsque cette entrée est à 1, la valeur PV est chargée dans le compteur. Dans ce cas CV vaut la valeur PV. La valeur de la sortie CV prend la valeur du paramètre PV quand l'état logique de l'entrée LD passe à 1. Tant que l'entrée LD présente l'état logique "1", l'état logique à l'entrée CD n'a pas d'effet sur l'instruction PV : Valeur chargée dans le compteur lorsque LD passe à 1. Cette entrée doit être de type INT. . Q : Etat du compteur. Cette sortie est mise à 1 lorsque la valeur actuelle de comptage (CV) est inférieure ou égale à 0 (PV). CV : Valeur de comptage en cours. Cette donnée doit être de type INT 60 Compteur (CEI) ❑ Bloc fonction compteur (S7 - TIA Portal) : CTUD CU : Entrée de comptage. La valeur du compteur est incrémentée de 1 lorsque l’opérande reliée à cette entrée passe de 0 à 1. CD : Entrée de décomptage. La valeur du compteur est décrémentée de 1 lorsque l’opérande reliée à cette entrée passe de 0 à 1. R : Entrée de réinitialisation. La valeur de sortie CV est remise à zéro lorsque l’entrée R passe à 1. Tant que R est à 1, l’entrée CU n’a pas d’effet sur l’instruction. LD : Entrée de chargement. Lorsque cette entrée est à 1, la valeur PV est chargée dans le compteur. PV : Valeur chargée dans le compteur lorsque LD passe à 1. Cette entrée doit être de type INT. La sortie comptage (QU) est mise à 1 lorsque le compteur atteint la valeur PV. QU : Sortie comptage. Cette sortie est mise à 1 lorsque la valeur actuelle de comptage est supérieure ou égale à la valeur PV. QD : Sortie décomptage. Cette sortie est mise à 1 lorsque la valeur actuelle de comptage est inférieure ou égale à 0. 61 Compteur (CEI) ❑ Bloc fonction compteur (S7 - TIA Portal) : CTUD ✓ En présence d'un front montant aux entrées CU et CD pendant un cycle du programme, la valeur de comptage actuelle à la sortie CV ne change pas ✓ Tant que l’entrée LD est à 1, l’état logique aux entrées CU et CD n’a pas d’effet sur l’instruction CTUD. ✓ Tant que l’entrée R est à 1; l’état logique aux entrées CD, CU et LD n’a pas d’effet sur l’instruction CTUD. 62 Compteur (CEI) ❑ Renommer le compteur Lorsque l’on insert un compteur CEI dans un bloc de programme, le nom du bloc de donnée qui lui est associé est attribué par défaut. Il est possible de modifier ce nom : ✓ Lors de l’insertion du compteur, dans la fenêtre « Option d’appel » ✓Une fois le compteur inséré, en faisant en clic droit sur son nom et en choisissant l’option « Renommer bloc de donnée » 63 Compteur (CEI) ❑ Problème de programmation compteur Il faut veiller à respecter la connexion des compteurs. Les règles suivantes s'appliquent à l'utilisation des temporisations CEI et des compteurs CEI sur le système cible : -La sortie Q ne peut être connectée qu'à une bobine. Il n’est pas possible d’utiliser une bobine SET ou RESET. - L'entrée CU ne doit pas être connectée par branchement T à une autre entrée CU. 64 Compteur (CEI) ❑ Comment controuner le Problème? Pour contourner ces restrictions, on peut utiliser des mémentos ou encore des contacts NO ou NF auxquels sont associés des variables liées au compteur. Dans l’exemple ci-dessous, on met à 0 la sortie « Vérin rotation » et on met à 1 la sortie Voyant Q2 lorsque la sortie du compteur est à « 1 ». 65 Exercice ❑ EXERCICE Exercice 1 : Lorsqu’une pièce est présente à l’entrée du convoyeur et que l’on appuie sur le bouton Start, elle est acheminée vers la sortie. Si la pièce est métallique, elle est évacuée dans le magasin de stockage. Lorsque 3 pièces métalliques se trouvent dans le magasin de stockage, le voyant Q1 s’allume. Le bouton reset permet de réinitialiser la valeur du compteur. Exercice 2 : Lorsqu’une pièce est présente à l’entrée du convoyeur et que l’on appuie sur le bouton Start, le moteur se met en marche après 2 secondes (tempo 1). Lorsque la pièce se présente devant le détecteur « B2 », le moteur s’arrête durant 3 secondes puis le moteur se remet en marche (tempo Le moteur s’arrête 2 secondes après que la pièce ait atteint le détecteur « B5 » (tempo 3). Le type de tempo est imposé : -Tempo 1 : TON -Tempo 2 : TP - Tempo 3 : TOF 66 Comparateur ❑ Bloc comparaison (PL7-Pro) ➢ Permet la comparaison de 2 opérandes. Suivant le résultat la sortie correspondante passe à 1. ➢ Si EN = 0, les sorties sont mises à 0 ➢ opérateur : <, <=, =, >=, <>. ➢ 2 blocs : vertical et horizontal ➢ Sortie « Supérieure (>) » = 1 si %MW5 (Op1) > %MW6 (Op 2) ➢ Sortie « Egale(=) » = 1 si %MW5 = %MW6 ➢ Sortie « inférieur (<)» = 1 si %MW5 < %MW6 ➢ Sortie « différent (<>)» = 1 si %MW5 <> %MW6 Comparaison verticale 67 Comparateur ❑ Bloc comparaison (PL7-Pro) ➢ Permet la comparaison de 2 opérandes. Suivant le résultat la sortie correspondante passe à 1. ➢ opérateur : <, <=, =, >=, <>. ➢ 2 blocs : vertical et horizontal %I1.0 %MW5<>100 %MW10<%KW1 %Q1.0 %Q1.2 Comparaison horizontale 68 Comparateur ❑ Bloc comparaison (Sè, TIA Portal) 69 Opérations ❑ Bloc opération ▪ Les blocs opération se positionnent dans la zone d’action. ▪ Ils permettent la saisie d’opération diverses : ✓ Opération arithmétique ✓ Opération logique (AND, OR, XOR, NOT, SHL,..) ✓ opération de conversion (BCD_TO_INT, INT_TO_BCD, INT_TO_REAL %I1.0 %MW0:=%I1.6:21 %M0 %MW1:= %MW0+20 %I1.2 %I1.3 P INC%MW1 %MW1>50 %MW2:X8:=%IW1.3:X6 %I1.4 %M0:8:=%I1.0:8 70 Principe d’exécution d’un réseau LD Un réseau à contact (appelé aussi Rung) est scruté selon les règles suivantes : Règle 1 : La scrutation commence dans le coin haut gauche du réseau Règle 2 : Le réseau est évalué ligne par ligne de haut en bas Règle 3 : La ligne est évaluée de la gauche vers la droite Règle 4 : Su une liaison de convergence est rencontrée, la ligne entre la liaison de divergence et la liaison de convergence est évaluée avant de terminer la ligne en cours. 71 Principe d’exécution d’un réseau LD %I1.0 %I1.1 1 %I1.2 3 %Q2.0 5 %I1.3 2 %I1.4 %I1.5 4 72 Exemple d’application On choisit un API extrêmement simple ne comprenant que 3 bornes d’entrée et 4 bornes de sorties. Le module d’entrée possède 3 borne E1, E2, E3 ainsi qu’une borne Commune CE. Les dispositifs de commande (appelés dispositifs d’entrée) sont raccordés d’une part individuellement à une borne (E1, E2 ou E3) et d’autre part à une source d’alimentation de 24V, elle-même reliée à la borne CE. 111 S1 E1 E2 E3 CE 101 102 103 104 UT L1 112 S2 L2 113S3 L3 114 S4 CS 120V 73 Exemple d’application 1. Écrire un programme en LD permettant d’allumer et éteindre une lampe L2 lorsqu’on appuie sur un bouton poussoir BP1. 2. Ecrire un programme en LD tel que le bouton poussoir doit alimenter la lampe L2, mais cette fois la lampe doit s’éteindre lorsqu’on appuie sur le bouton. 3. Le bouton poussoir doit alimenter trois lampe L1, L2 et L3 de sorte que L1 et L2 s’allumer et que L3 s’éteigne lorsqu’on appuie sur le bouton. 4. On désire le même mode de fonctionnement que dans 3, sauf que la lampe L1 doit s’allumer 5 secondes après la fermeture du bouton Poussoir. 74