Langage Ladder
Un article de Wikipédia, l'encyclopédie libre.
Cet article est une ébauche à compléter concernant les techniques, les sciences appliquées ou la technologie, vous pouvez partager vos connaissances en le modifiant. |
Sommaire |
LD (Ladder Diagram), le Langage Ladder (échelle en anglais), appelé également schéma à contacts, est un langage graphique très populaire auprès des automaticiens pour programmer les Automates Programmable Industriel. Il ressemble un peu aux schémas électriques, et est facilement compréhensible.
[modifier] Origine
L'idée initiale du LADDER est la représentation de fonction logique sous la forme de schémas électriques. Cette représentation est originalement matérielle : quand l' Automate Programmable Industriel n'existait pas, les fonctions était réalisées par des câblages. Par exemple, pour réaliser un ET logique avec des interrupteurs, il suffit de les mettre en série. Pour réaliser un OU logique, il faut les mettre en parallèle.
Partant de ces principes, le LADDER a été créé et normalisé dans la norme CEI 61131-3. Il est, depuis, très utilisé dans la programmation des Automates Programmable Industriel.
[modifier] Principe
Un programme LADDER se lit de haut en bas et l'évaluation des valeurs se fait de gauche à droite. Les valeurs correspondent en fait, si on le compare à un schéma électrique, à la présence ou non d'un potentiel électrique a chaque nœud de connexion.
En effet, le LADDER est basé sur le principe d’une alimentation en tension représentée par deux traits verticaux reliée horizontalement par des bobines, des contacts et des blocs fonctionnels, d'où le nom 'LADDER' (échelle).
[modifier] Les composants du langage
Il existe 3 types d'élément de langage :
- les entrées (ou contact), qui permettent de lire la valeur d'une variable booléenne;
- les sorties (ou bobines) qui permettent d'écrire la valeur d'une variable booléenne;
- les blocs fonctionnels qui permettent de réaliser des fonctions avancées.
[modifier] Les entrées (ou contacts)
Il existe deux types de contact:
- Le contact normalement ouvert (NO) (en: NO normally open):
X --| |--
Ce contact est fermé lorsque la variable booléenne associée (X ici) est vraie, sinon, il est ouvert.
- Le contact normalement fermé (NF) (en: NC normally closed):
X --|/|--
Ce contact est ouvert lorsque la variable booléenne associée (X ici) est vraie, sinon il est fermé.
[modifier] Les sorties (ou bobines)
Il existe, de même que pour les contacts, deux types de bobines:
- la bobine normalement ouverte (NO) (en: NO normally open):
X --( )--
Si cette bobine est soumise à un potentiel, c’est-à-dire qu'il existe un circuit fermé reliant cette bobine des deux cotés du potentiel, alors la variable booléenne associée (X ici) est mémorisée à 'vraie', sinon elle est mémorisée à 'fausse'.
- la bobine normalement fermée(NF) (en: NC normally closed):
X --(/)--
Si cette bobine est soumise à un potentiel, c’est-à-dire qu'il existe un circuit fermé reliant cette bobine des deux cotés du potentiel, alors la variable booléenne associée (X ici) est mémorisée à 'fausse', sinon elle est mémorisée à 'vraie'.
[modifier] Les blocs fonctionnels
Les blocs fonctionnels permettent de réaliser des opérations plus complexes que la lecture ou l'écriture de variable. Quelque exemple de blocs fonctionnels
[modifier] Réalisation de fonction logique
Comme dit précédemment, les fonctions logiques sont dérivées de leurs réalisations électriques. Donc chaque fonction logique (AND, OR, XOR, NAND, NOR, NOT) a une représentation qui correspond à son équivalent électrique.
C'est-à-dire :
---| |-----| |--- X Y
équivaut à X AND Y
---|\|-----| |--- X Y
----|---| |---|------ | X | | | +---| |---+ Y
équivaut à X OR Y
Plus complexe :
----| |---------|--| |--|------( )-- X | Y | S | | +--| |--+ Z
équivaut à S = X.(Y+Z)
[modifier] Exemple de lecture
|----| |----+----|/|------------------------------------------( )----| | A | F S | | | | |----| |----+ | B
Dans ce réseau, si A OU B est actionné ET si F n'est pas actionné, la sortie S est active; soit S = (A+B)./F
S = (A + B) . (/F);
Le signe "/F" signifie l'inversion de l'entrée "F", cela se prononce "F barre".