You are on page 1of 6

Ladder logic

La logique à relais était à l'origine une méthode écrite pour documenter la conception et la construction des racks de
relais utilisés dans la fabrication et le contrôle des processus . [1] Chaque périphérique du rack de relais est représenté
par un symbole sur le schéma en échelle avec des connexions entre les périphériques affichés. De plus, d'autres
éléments externes au rack de relais, tels que les pompes, les appareils de chauffage, etc., apparaissent également sur le
schéma en échelle. Voir la logique du relais .

La logique à relais a évolué en un langage de programmation qui représente un programme par un diagramme
graphique basé sur les schémas de circuit du matériel logique de relais . Ladder logic est utilisé pour développer des
logiciels pour les automates programmables (PLC) utilisés dans les applications de contrôle industriel. Le nom est
basé sur l'observation que les programmes dans cette langue ressemblent à des échelles , avec deux rails verticaux et
une série de barreaux horizontaux entre eux. Alors que les schémas à contacts étaient autrefois la seule notation
disponible pour l'enregistrement de programmes de contrôleurs programmables, aujourd'hui d'autres formulaires
sont normalisés dans la CEI 61131-3(Par exemple, à la place de la forme de logique à relais graphique, il existe
également un format de langage d'assemblage plus appelé Liste d'instructions dans la norme CEI 61131-3 .).

Contenu
Vue d'ensemble
Exemple d'un programme simple de logique à relais
ET logique
ET logique avec NON
OU logique
ARRÊT industriel / DÉPART
Logique complexe
Fonctionnalité supplémentaire
Limitations et langues successeurs
Voir aussi
Références
Liens externes

Aperçu
La logique à relais est largement utilisée pour programmer les automates , où le contrôle séquentiel d'un processus ou
d'une opération de fabrication est requis. La logique à relais est utile pour les systèmes de contrôle simples mais
critiques ou pour retravailler les anciens circuits de relais câblés . Comme les contrôleurs logiques programmables
sont devenus plus sophistiqués, ils ont également été utilisés dans des systèmes d'automatisation très complexes.
Souvent, le programme logique à relais est utilisé conjointement avec un programme IHM fonctionnant sur un poste
de travail informatique.

La motivation pour représenter la logique de commande séquentielle dans un schéma à contacts était de permettre
aux ingénieurs et aux techniciens d'usine de développer un logiciel sans formation supplémentaire pour apprendre un
langage tel que FORTRAN ou tout autre langage informatique à usage général. Le développement et la maintenance
ont été simplifiés en raison de la ressemblance avec les systèmes de matériel de relais familiers. [2] Les
implémentations de la logique à relais ont des caractéristiques, telles
que l'exécution séquentielle et la prise en charge des fonctions de flux
de contrôle, qui rendent l'analogie avec le matériel quelque peu
inexacte. Cet argument est devenu moins pertinent étant donné que la
plupart des programmeurs logiques à relais ont un arrière-plan
logiciel dans des langages de programmation plus conventionnels .

La logique à relais peut être considérée comme un langage basé sur


des règles plutôt que comme un langage procédural . Un "échelon"
dans l'échelle représente une règle. Lorsqu'elles sont mises en œuvre
avec des relais et d'autres dispositifs électromécaniques, les
différentes règles "s'exécutent" simultanément et immédiatement.
Lorsqu'elles sont implémentées dans un automate programmable, les
règles sont typiquement exécutées séquentiellement par logiciel, en
boucle continue (scan). En exécutant la boucle assez rapidement, Partie d'un schéma à contacts, y compris
généralement plusieurs fois par seconde, l'effet de l'exécution les contacts et les bobines, les
simultanée et immédiate est atteint, si on considère des intervalles comparateurs, les minuteurs et les
supérieurs au "temps de scrutation" requis pour exécuter toutes les multivibrateurs monostables
lignes du programme. L'utilisation appropriée des automates
programmables nécessite de comprendre les limites de l'ordre
d'exécution des échelons.

Exemple d'un programme simple de logique à relais


Le langage lui-même peut être vu comme un ensemble de connexions entre les vérificateurs logiques (contacts) et les
actionneurs (bobines). Si un chemin peut être tracé entre le côté gauche de la ligne et la sortie, via des contacts
affirmés (vrai ou "fermé"), le réseau est vrai et le bit de stockage de la bobine de sortie est affirmé (1) ou vrai. Si aucun
chemin ne peut être tracé, alors la sortie est fausse (0) et la "bobine" par analogie aux relais électromécaniques est
considérée comme "désexcitée". L'analogie entre les propositions logiques et le statut de contact de relais est due à
Claude Shannon .

Ladder logique a des contacts qui font ou défont les circuits pour contrôler les bobines. Chaque bobine ou contact
correspond à l'état d'un bit unique dans la mémoire de l'automate programmable. Contrairement aux relais
électromécaniques, un programme en échelle peut renvoyer n'importe quel nombre de fois au statut d'un seul bit,
équivalent à un relais avec un nombre de contacts indéfiniment grand.

Les soi-disant «contacts» peuvent désigner des entrées physiques («dures») de l'automate à partir de dispositifs
physiques tels que boutons-poussoirs et interrupteurs de fin de course via un module d'entrée intégré ou externe ou
représenter l'état des bits de stockage internes générés ailleurs dans le programme.

Chaque échelon de langage ladder a généralement une bobine à l'extrême droite. Certains fabricants peuvent autoriser
plus d'une bobine de sortie sur un échelon.

Entrée Rung: Checkers (contacts)

—[ ]—Contact normalement ouvert, fermé chaque fois que la bobine correspondante ou une entrée qui la
commande est activée. (Contact ouvert au repos)
—[\]—Contact normalement fermé ("non"), fermé chaque fois que la bobine correspondante ou une entrée qui
la commande n'est pas excitée. (Contact fermé au repos)
Rung Output: Actionneurs (bobines)

—( )—Bobine normalement inactive, excitée chaque fois que son barreau est fermé. (Inactif au repos)
—(\)—Bobine normalement active ("non"), excitée chaque fois que son barreau est ouvert. (Actif au repos)
La "bobine" (sortie d'une ligne) peut représenter une sortie physique qui actionne un périphérique connecté à
l'automate programmable, ou peut représenter un bit de stockage interne destiné à être utilisé ailleurs dans le
programme.

Une façon de les rappeler est d'imaginer les pions (contacts) comme une entrée de bouton-poussoir, et les actionneurs
(bobines) comme une sortie d'ampoule. La présence d'une barre oblique dans les contrôleurs ou les actionneurs
indiquerait l'état par défaut de l'appareil au repos.

Logique ET

------ [] -------------- [] ---------------- ()


Interrupteur à clé 1 Interrupteur à clé 2 Moteur de porte

Ce qui précède réalise la fonction: Moteur de porte = Interrupteur à clé 1 ET Interrupteur à clé 2

Ce circuit montre deux interrupteurs à clé que les gardes de sécurité pourraient utiliser pour activer un moteur
électrique sur une porte de coffre-fort. Lorsque les contacts normalement ouverts des deux interrupteurs se ferment,
l'électricité peut circuler vers le moteur qui ouvre la porte.

Logique ET avec PAS

------ [] -------------- [\] ---------------- ()


Fermez le moteur de porte d'obstruction de porte

Ce qui précède réalise la fonction: Door Motor = Fermer la porte ET PAS (Obstruction).

Ce circuit montre un bouton poussoir qui ferme une porte, et un détecteur d'obstruction qui détecte la présence de
quelque chose dans la porte qui se ferme. Lorsque le contact du bouton-poussoir normalement ouvert se ferme et que
le détecteur d'obstruction normalement fermé est fermé (aucune obstruction détectée), l'électricité peut circuler vers
le moteur qui ferme la porte.

Logique OU

- + ------- [] ------- + ----------------- ()


| Déverrouillage extérieur | Ouvrir
| |
+ ------- [] ------- +
Déverrouillage intérieur

Ce qui précède réalise la fonction: Unlock = Interior Unlock OU Exterior Unlock

Ce circuit montre les deux choses qui peuvent déclencher les serrures de portes électriques d' une voiture . Le
récepteur à distance est toujours alimenté. Le solénoïde de déverrouillage est alimenté lorsque l'un ou l'autre des
contacts est fermé.

Arrêt / démarrage industriel


Dans la logique de démarrage / arrêt à accrochage industriel commun, nous avons un bouton "démarrer" pour allumer
un contacteur de moteur, et un bouton "stop" pour éteindre le contacteur.
Lorsque le bouton «start» est enfoncé, l'entrée devient vraie, via le bouton «stop» du contact NC. Lorsque l'entrée
"run" devient vraie, le contact NO "run" NO en parallèle avec le contact "start" NO se ferme en maintenant la logique
d'entrée vraie (verrouillée ou verrouillée). Après que le circuit soit verrouillé, le bouton "stop" peut être poussé, ce qui
provoque l'ouverture de son contact NC et par conséquent l'entrée est fausse. Le contact NO "run" s'ouvre alors et la
logique du circuit retourne à son état inactif.

- + ---- [] - + ---- [\] ---- ()


| commencer | arrêter de courir
| |
+ ---- [] - +
courir

------- [] -------------- ()
exécuter le moteur

Ce qui précède réalise la fonction: run = (démarrer OU exécuter) AND ( pas d' arrêt)

Notez l'utilisation de parenthèses pour grouper la fonction OR logique avant d'évaluer la


fonction AND logique (qui a une priorité d'opération plus élevée). Notez également
l'utilisation de NOT pour représenter la logique de contact NC "stop".

Cette configuration de verrouillage est un idiome courant dans la logique à relais. En logique à relais, on parle de
logique à joint. La clé pour comprendre le loquet est de reconnaître que le commutateur "start" est un commutateur
momentané (une fois que l'utilisateur relâche le bouton, le commutateur est à nouveau ouvert). Dès que le solénoïde
"run" s'enclenche, il ferme le contact "run" NO, qui verrouille le solénoïde. L'interrupteur "start" qui s'ouvre alors n'a
aucun effet.

Pour des raisons de sécurité, un arrêt d'urgence et / ou un arrêt doivent être câblés en série avec le commutateur de
démarrage, et la logique du relais doit en tenir compte.

- [\] ---- [\] ---- + - [] - + --------- ()


ES Stop | Démarrer | Moteur
| |
+ - [] - +
Courir

Logique complexe
Voici un exemple de ce que deux échelons dans un programme de logique à relais peuvent ressembler. Dans les
applications du monde réel, il peut y avoir des centaines ou des milliers de réseaux.

Généralement, la logique à relais complexe est «lue» de gauche à droite et de haut en bas. Au fur et à mesure que
chacune des lignes (ou des échelons) est évaluée, la bobine de sortie d'un échelon peut entrer dans l'étape suivante de
l'échelle en tant qu'entrée. Dans un système complexe, il y aura beaucoup de «barreaux» sur une échelle, qui sont
numérotés dans l'ordre d'évaluation.

1. ---- [] --------- + ---- [] ----- + ---- ()


Switch | HiTemp | A / C
| |
+ ---- [] ----- +
Humide
2. ---- [] ---- [\] -------------------- ()
Refroidissement de la chaleur A / C

La ligne 1 réalise la fonction: A / C = Commutateur ET (HiTemp OU Humide )

La ligne 2 réalise la fonction: Refroidissement = A / C ET ( PAS de chaleur)

Cela représente un système légèrement plus complexe pour le réseau 2. Après l'évaluation de la première ligne, la
bobine de sortie "A / C" est alimentée dans le réseau 2, qui est ensuite évaluée et la bobine de sortie "Refroidissement"
peut être alimentée dispositif "Compresseur" ou dans le barreau 3 sur l'échelle. Ce système permet de décomposer et
d'évaluer des conceptions logiques très complexes.

Fonctionnalité supplémentaire
Une fonctionnalité supplémentaire peut être ajoutée à une implémentation de logique à relais par le fabricant de
l'automate en tant que bloc spécial. Lorsque le bloc spécial est alimenté, il exécute le code sur des arguments
prédéterminés. Ces arguments peuvent être affichés dans le bloc spécial.

+ ------- +
----- [] -------------------- + A + ----
Déverrouillage à distance + ------- +
Compteur à distance

+ ------- +
----- [] -------------------- + B + ----
déverrouillage intérieur + ------- +
Comptoir intérieur

+ -------- +
-------------------- + A + B + -----------
| en C |
+ -------- +
Additionneur

Dans cet exemple, le système compte le nombre de fois que les boutons de déverrouillage intérieur et à distance sont
enfoncés. Ces informations seront stockées dans les emplacements mémoire A et B. L'emplacement mémoire C tiendra
le nombre total de fois que la porte a été déverrouillée électroniquement.

Les automates ont beaucoup de types de blocs spéciaux. Ils comprennent les minuteurs, les opérateurs arithmétiques
et les comparaisons, les recherches de tables, le traitement de texte, le contrôle PID et les fonctions de filtrage. Des
automates plus puissants peuvent fonctionner sur un groupe d'emplacements de mémoire interne et exécuter une
opération sur une plage d'adresses, par exemple, pour simuler un contrôleur de tambour séquentiel physique ou un
automate fini . Dans certains cas, les utilisateurs peuvent définir leurs propres blocs spéciaux, qui sont en fait des
sous-programmes ou des macros. La grande bibliothèque de blocs spéciaux ainsi que l'exécution à grande vitesse ont
permis l'utilisation d'automates pour mettre en œuvre des systèmes d'automatisation très complexes.

Limitations et langues successeurs


La notation Ladder est la mieux adaptée pour contrôler les problèmes où seules les variables binaires sont requises et
où l'inter-verrouillage et le séquençage du binaire constituent le problème de contrôle principal. Comme tous les
langages de programmation parallèles , l'ordre séquentiel des opérations peut être indéfini ou obscur; les conditions
de course logiques sont possibles, ce qui peut produire des résultats inattendus. Les échelons complexes sont mieux
divisés en plusieurs étapes plus simples pour éviter ce problème. Certains fabricants évitent ce problème en
définissant explicitement et complètement l'ordre d'exécution d'une ligne, mais les programmeurs peuvent toujours
avoir des problèmes pour saisir complètement la sémantique complexe qui en résulte.

Les quantités analogiques et les opérations arithmétiques sont maladroites à exprimer en logique à relais et chaque
constructeur a différentes manières d'étendre la notation de ces problèmes. La prise en charge des tableaux et des
boucles est généralement limitée, ce qui entraîne souvent une duplication du code pour exprimer les cas qui, dans
d'autres langues, nécessiteraient l'utilisation de variables indexées.

À mesure que les microprocesseurs sont devenus plus puissants, des notations telles que des diagrammes fonctionnels
séquentiels et des diagrammes de blocs fonctionnels peuvent remplacer la logique à relais pour certaines applications
limitées. Certains automates plus récents peuvent avoir tout ou partie de la programmation réalisée dans un dialecte
qui ressemble à BASIC , C , ou un autre langage de programmation avec des liaisons appropriées pour un
environnement d'application en temps réel.

Voir aussi
Circuit numérique
CEI 61131
Texte structuré

Références
1. http://ecmweb.com/archive/basics-ladder-logic"La logique à relais utilise des contacts de commutation ou de
relais pour implémenter des expressions booléennes Dans le passé, la logique à relais était rendue possible par
des relais discrets et était parfois appelée" logique de relais ". "
2. Edward W. KamenContrôles industriels et fabrication, (Academic Press, 1999)ISBN 0123948509, Chapitre
8Schémas logiques à relais et implémentations automates

Liens externes
Logique Ladder débutants (http://www.ladder-logic.com/hello-world/)
Débutant Logique Ladder Primer (http://www.plcs.net/contents.shtml)
Logique Ladder de base (http://www.plctutor.com/index.php?page=relay-ladder-logic)
"Chapitre 6: la logique à relais" (http://www.ibiblio.org/kuphaldt/electricCircuits/Digital/DIGI_6.html) par Tony R.
Kuphaldt

Récupérée de « https://en.wikipedia.org/w/index.php?title=Ladder_logic&oldid=808084996 »

Cette page a été modifiée pour la dernière fois le 31 octobre 2017 à 19:55.

Le texte est disponible sous licence Creative Commons Attribution-ShareAlike ; Des conditions supplémentaires
peuvent s'appliquer. En utilisant ce site, vous acceptez les conditions d'utilisation et la politique de confidentialité .
Wikipedia® est une marque déposée de Wikimedia Foundation, Inc. , une organisation à but non lucratif.

You might also like