Skip to main content

Aperçu

L'unité de base de la programmation FBD et LD est un réseau. Chaque réseau contient une structure pouvant représenter 1) une expression logique ou arithmétique, 2) l'appel d'une POU (fonction, bloc fonctionnel, programme ou bibliothèque POU), ou 3) une instruction de saut ou de retour.

IL ne nécessite en réalité aucun réseau. Cependant, CODESYS Un programme IL comprend également au moins un réseau afin de permettre la conversion en FBD ou LD. Il est donc judicieux de diviser un programme IL en réseaux.

Langage FBD (schéma en blocs fonctionnels)

Le diagramme de blocs fonctionnels est un langage de programmation graphique conforme à la norme CEI 61131. Il fonctionne avec une liste de réseaux. Ainsi, chaque réseau contient une structure pouvant contenir des expressions logiques et arithmétiques, des appels de blocs fonctionnels, un saut ou une instruction de retour.

On utilise ici des boîtes, familières de l'algèbre booléenne. Boîtes et variables sont reliées par des lignes. Le flux du signal dans le réseau s'étend de gauche à droite. Dans l'éditeur, le flux du signal s'étend de haut en bas, en commençant par le réseau 1.

Exemple 1. Exemple
_cds_img_fbd_example.png


Astuce

CFC est également un langage de programmation basé sur le même principe que FBD, mais avec les différences suivantes :

  • L'éditeur CFC n'est pas orienté réseau.

  • Vous pouvez placer librement les éléments dans l'éditeur CFC.

  • L'insertion directe de chemins de rétroaction est possible.

  • L'ordre d'exécution est déterminé par une liste d'éléments actuellement insérés, que vous pouvez modifier.

Pour plus d'informations, consultez les éléments suivants : Programmation dans le Langage FBD (schéma en blocs fonctionnels)

Langage à Contacts (LD)

Le langange à contacts (LD) est un langage de programmation orienté graphique qui est similaire à un schéma de circuit électrique.

D'une part, le langange à contacts est adapté à la conception d'unités de commutation logiques, mais d'autre part, il permet de créer des réseaux, comme en FBD. De ce fait, LD est très efficace pour contrôler les appels d'autres blocs de programme.

Le langange à contacts est constitué d'une série de réseaux. Un réseau est délimité à gauche par une ligne verticale (barre omnibus). Un réseau contient un schéma de circuit comprenant des contacts, des bobines, des modules optionnels (POU) et des lignes de connexion.

Sur le côté gauche d'un réseau, il y a un contact ou une série de contacts qui relaient le ON ou OFF état, qui correspond aux valeurs booléennes TRUE et FALSE, de gauche à droite. Une variable booléenne est associée à chaque contact. Lorsque cette variable est TRUE, l'état est relayé de gauche à droite via la ligne de connexion. Sinon OFF est relayée. Ainsi, la ou les bobinage situées à droite du réseau reçoivent la valeur ON ou OFF venant de la gauche et la valeur TRUE ou FALSE est écrit en conséquence dans la variable booléenne qui leur est attribuée.

Lorsque les éléments sont connectés en série, cela correspond à une opération ET. Lorsqu'ils sont connectés en parallèle, cela correspond à une opération OU. Un trait traversant un élément correspond à sa négation.

La négation d'une entrée ou d'une sortie est indiquée par un symbole de cercle.

Exemple 2. Exemple
_cds_img_ld_example.png


La norme CEI 61131-3 définit un ensemble complet de commandes LD, composé de différents types de contacts et de bobines. Les contacts conduisent le courant (selon leur type) de gauche à droite. Les bobines stockent la valeur entrante. Les contacts et les bobines sont affectés à des variables booléennes. Un réseau LD peut être complété par des sauts, des retours, des étiquettes et des commentaires.

Liste d'Instructions (IL)

La liste d'instructions est un langage de programmation de type assembleur conforme à la norme IEC 61131.

Il prend en charge la programmation basée sur un accumulateur.

Une liste d'instructions (IL) est constituée d'une série d'instructions. Chaque instruction commence sur une nouvelle ligne et contient un opérateur et un ou plusieurs opérandes, séparés par des virgules, selon le type d'opération.

Une étiquette suivie de deux points peut être placée devant une instruction. Elle permet d'identifier l'instruction et peut servir de destination de saut.

Un commentaire doit être le dernier élément d'une ligne. Des lignes vides peuvent être insérées entre les instructions.

Tous les opérateurs IEC 61131-3 sont pris en charge, ainsi que les entrées multiples, les sorties multiples, les négations, les commentaires, la définition/réinitialisation des sorties et les sauts conditionnels/inconditionnels.

Chaque instruction est basée principalement sur le chargement de valeurs dans l'accumulateur (LD L'opération correspondante est ensuite exécutée avec le paramètre de l'accumulateur. Le résultat de l'opération est réécrit dans l'accumulateur, où il doit être stocké à l'aide d'une instruction. ST instruction.

La liste d'instructions prend en charge les opérateurs de comparaison (EQ, GT, LT, GE, LE, NE ) et des sauts pour la programmation d'exécutions conditionnelles ou de boucles. Les sauts peuvent être inconditionnels (JMP ) ou conditionnel (JMPC / JMPCN). Dans le cas de sauts conditionnels, une vérification est effectuée pour savoir si la valeur dans l'accumulateur est TRUE ou FALSE.

Exemple 3. Exemple
_cds_img_il_example1.png