Bibliographie ❶ Michel BERTRND «utomates programmables industriels ❷ Les.P.I. «rchitecture et applications des automates programmables» ❸ Henri Nussbaumer : Informatique Industriels III «utomates programmables commande et réglage Capteurs» ❹ L.. Bryan, E.. Bryan «Programmable Controllers Theory and Implementation» Second Edition ❺ Doc Schneider O. KMCH Programmation en Langage Ladder 1
Chapitre 3 Programmation en Langage Ladder Introduction Langage graphique basé sur deux éléments : contacts et bobines Schéma électrique Langage Ladder utomates : exemple llen 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 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 Symboles test Contact à fermeture Contact à ouverture liaison Contact front montant Contact front descendant Connexion horizontale Connexion verticale P N 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> rrêt programme <halt> 5
Programmation Ladder Désignation Eléments Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Eléments d action Connexion horizontale Connexion verticale Bobine directe Bobine inverse Bobine d enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) Contact passant quand l objet bit qui le pilote est à l état 1 6
Programmation Ladder Désignation Eléments Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Eléments d action Connexion horizontale Connexion verticale Bobine directe Bobine inverse Bobine d enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) Contact passant quand l objet bit qui le pilote est à l état 0 7
SN : Contacts 8
Programmation Ladder Désignation Eléments Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant P liaison Eléments d action Connexion horizontale Connexion verticale Bobine directe Bobine inverse Bobine d enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) Front montant : détection du passage du 0 à 1 de l objet bit qui le pilote 9
Programmation Ladder Désignation Eléments Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant liaison Eléments d action Contact front descendant Connexion horizontale Connexion verticale Bobine directe Bobine inverse N Bobine d enclenchement Bobine de déclenchement Saut conditionnel (Jump) Front descendant : détection du passage du 1 à 0 de l objet bit qui le pilote Bobine dièse Bobine appel à un sous programme (Call) 10
Programmation Ladder Désignation Eléments Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Eléments d action Connexion horizontale Connexion verticale Bobine directe Bobine inverse Bobine d enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Permet de relier en série les éléments de test et d action entre les deux barre potentiel Bobine appel à un sous programme (Call) 11
Programmation Ladder Désignation Eléments Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Connexion horizontale Connexion verticale Eléments d action Bobine directe Bobine inverse Bobine d enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Bobine appel à un sous programme (Call) Permet de relier en parallèle les éléments graphiques de test et d action. 12
Programmation Ladder Désignation Eléments Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Connexion horizontale Connexion verticale Eléments d action Bobine directe 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 Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Connexion horizontale Connexion verticale Eléments d action Bobine directe 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 Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Connexion horizontale Connexion verticale Eléments d action Bobine directe Bobine inverse Bobine d enclenchement Bobine de déclenchement S 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 Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Eléments d action Connexion horizontale Connexion verticale Bobine directe Bobine inverse Bobine d enclenchement L objet bit associé est mis à 0 lorsque le résultat de la zone de test est à 1 Bobine de déclenchement Saut conditionnel (Jump) R Bobine dièse Bobine appel à un sous programme (Call) 16
Programmation Ladder Désignation Eléments Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Eléments d action Connexion horizontale Connexion verticale Bobine directe Bobine inverse Bobine d enclenchement Bobine de déclenchement Permet un branchement à un réseau étiqueté amont ou aval. Saut conditionnel (Jump) Bobine dièse %Li Bobine appel à un sous programme (Call) 17
Programmation Ladder Désignation Eléments Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Connexion horizontale Connexion verticale Eléments d action Bobine directe Bobine inverse Bobine d enclenchement Bobine de déclenchement Saut conditionnel (Jump) Permet la programmation des réceptivités associées aux transitions. Bobine dièse Bobine appel à un sous programme (Call) # 18
Programmation Ladder Désignation Eléments Symboles Fonctions test Contact à fermeture Contact à ouverture Contact front montant Contact front descendant liaison Connexion horizontale Connexion verticale Eléments d action Bobine directe Bobine inverse Bobine d enclenchement Bobine de déclenchement Saut conditionnel (Jump) Bobine dièse Permet un branchement en début de sous programme lorsque le résultat de la zone de test est à 1. Bobine appel à un sous programme (Call) C 19
Programmation Ladder Désignation Eléments Symboles Fonction Eléments d action Retour de sous programme <return> rrêt programme <halt> 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 Fonction Eléments d action Retour de sous programme rrêt programme <return> <halt> Provoque l arrêt de l exécution du programme lorsque le résultat de la zone de test est à 1. 21
Logique en Ladder ET (, B) + B Y - OU (, B) B Y Complément (Y) Y XOR (, B) B Y B 22
Logique en Ladder ET (, B) + B Y - B Y Table de vérité «ET» B Y 0 0 0 0 1 0 1 0 0 1 1 1 23
Logique en Ladder ET (, B) B Y Table de vérité «ET» B Y 0 0 0 1 1 0 1 1 24
Logique en Ladder ET (, B) B Y Table de vérité «ET» B Y 0 0 0 0 1 0 1 0 0 1 1 1 25
Logique en Ladder ET (, B) B Y Logigramme & B Langage Littéral (ST) Y Y := and B; Langage List LD ND B ST Y 26
Logique en Ladder OU (, B) B Y B 27
Logique en Ladder OU (, B) B Y B 28
Logique en Ladder OU (, B) B Y B Table de vérité «OU» B Y 0 0 0 0 1 1 1 0 1 1 1 1 29
Logique en Ladder OU (, B) B Y B Logigramme B = Langage Littéral (ST) Y Y := OR B; Langage List LD OR B ST Y 30
Logique en Ladder Complément (Y) Y Si = 1 alors Y = 0 Si = 0 alors Y = 1 Logigramme Langage Littéral Langage List 1 Y Y := NOT ; LDN ST Y 31
Logique en Ladder XOR (, B) B Y B 0 0 B 0 32
Logique en Ladder XOR (, B) B Y B 1 0 B 1 33
Logique en Ladder XOR (, B) B Y B 0 1 B 1 34
Logique en Ladder XOR (, B) B Y B 1 1 B Logigramme? Langage Littéral Y := XOR B; 0 Langage List LD XOR B ST Y 35
Bloc Fonction 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 36
Exemple Bloc Fonction 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 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) 37
Exemple Bloc Fonction Bloc fonction temporisateur :TON %IN %Q %TMi.P %TMi.V Retard à l enclenchement ou retardé à l action : TON 38
Exemple Bloc Fonction Bloc fonction temporisateur : TOF %IN %Q %TMi.P %TMi.V Retard au déclenchement ou retardé au relâchement : Mode TOF 39
Exemple Bloc Fonction Bloc fonction temporisateur : TP %IN %Q %TMi.P %TMi.V Impulsion, monostable : Mode TP 40
Exemple Bloc Fonction Bloc fonction compteur 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 41
Exemple Bloc Fonction Bloc fonction compteur %Ci.P = 4 R CU 1 2 3 4 %Ci.V %Ci.D Diagramme de principe d un compteur à accumulation 42
Exemple Bloc Fonction Bloc comparaison 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 43
Exemple Bloc Fonction Bloc comparaison 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 %Q1.0 %MW10<%KW1 %Q1.2 Comparaison horizontale 44
Exemple Bloc Fonction 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 (ND, OR, XOR, NOT, SHL,..) opération de conversion (BCD_TO_INT, INT_TO_BCD, INT_TO_REL %I1.0 %MW0:=%I1.6:21 %I1.2 P INC%MW1 %I1.3 %I1.4 %MW1>50 %MW2:X8:=%IW1.3:X6 %M0:8:=%I1.0:8 45
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. 46
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 47
Exemple d application On choisit un PI 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. E1 E2 E3 CE 101 102 103 104 48 UT 111 S1 112 S2 113 S3 114 S4 CS L1 L2 L3 120V
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 L 1, L 2 et L 3 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. 49