Catégories: Domotique, Contrôleurs programmables
Nombre de fois vus: 28074
Commentaires sur l'article: 0

Langage de diagramme fonctionnel (FBD) et son application

 

L'un des langages de programmation les plus populaires des automates programmables - les automates programmables, est le langage graphique des diagrammes fonctionnels FBD - Function Block Diagram. Cette langue, ainsi que d'autres langues de la CEI 61131-3, comme par exemple langage logique à relais (LD), utilise dans son architecture une sorte de circuit électronique.

Un programme écrit dans ce langage pour un contrôleur se compose d'une certaine liste de circuits exécutés les uns après les autres de haut en bas. De plus, il est possible d'attribuer des étiquettes à des chaînes individuelles, dans ce cas, l'utilisation d'instructions pour accéder à l'étiquette sera disponible afin de changer la séquence d'exécution des chaînes et créer des conditions et des cycles.

Langage de diagramme de blocs fonctionnels (FBD)

Ainsi, un programme écrit dans le langage graphique FBD est un ensemble de blocs fonctionnels reliés entre eux, dont les sorties et les entrées sont connectées par des lignes de communication. Les lignes de communication reflètent certaines variables de programme à travers lesquelles les données sont échangées d'un bloc à l'autre.

Un bloc séparé porte une fonction spécifique (logique «et», «non», compteur, etc.), tandis qu'un bloc peut avoir plusieurs sorties et entrées. Initialement, les valeurs des variables sont définies par des constantes ou à partir d'entrées spéciales, et leurs sorties sont ensuite connectées à d'autres variables de programme ou aux sorties de l'automate.

La figure montre un exemple de programme écrit dans le langage de diagramme fonctionnel FBD. Comme vous pouvez le voir, cette image du programme reflète très clairement l'algorithme, ce qui rend ce langage assez simple et pratique pour développer des logiciels pour automates.

Lors de la programmation en langage FBD, les blocs standard des bibliothèques et les blocs écrits en FBD ou dans d'autres langages de la norme CEI 61131-3 sont utilisés. Un bloc est un élément de programme, une sorte de sous-programme, un bloc de fonction ou une fonction (logique «NON», «OU», «ET», temporisateur, compteur, déclencheur, opération mathématique, traitement d'un signal analogique, etc.).

De ces blocs, les expressions qui forment les chaînes sont compilées graphiquement: le bloc suivant est connecté à la sortie d'un bloc, puis un autre bloc, et ainsi les chaînes sont formées. Au cours du circuit, l'ordre d'exécution des blocs correspond à l'ordre de leur connexion, et le résultat de l'exécution du circuit est soit envoyé à la sortie de l'automate, soit écrit dans une variable interne.

Blocs fonctionnels

Considérons un morceau du programme écrit dans le langage FBD: Multipliez par 4, puis divisez par A, et écrivez le résultat dans le résultat variable. En pseudocode, cela ressemblera à ceci: résultat: = B * 4 / A. Il est également possible d'ajouter des entrées de contrôle spéciales EN et ENO sorties aux blocs pour contrôler les appels de blocs individuels: un zéro logique appliqué à l'entrée EN interdira l'appel de ce bloc, et la sortie ENO le signalera en cas d'erreur, et interrompra ainsi l'exécution du circuit jusqu'à la fin .


Comme vous pouvez le voir, le langage FBD est extrêmement visuel, pratique et donc facile à apprendre même par des spécialistes des applications qui n'ont pas de formation spéciale en informatique. Le code est exécuté séquentiellement, la structure des commandes à l'intérieur du code est simple, donc le programme est diffusé très rapidement et la tâche est exécutée de manière fiable.

Langage de programmation FBD

Il existe différentes modifications du langage de programmation FBD, caractérisées par la présence de certaines restrictions ou extensions.

Par exemple, il existe une variante de FBC qui permet l'utilisation de fonctions pures avec une seule sortie sans variables intermédiaires - une modification pour la programmation fonctionnelle.

Ou une modification de CFC (Continuous Function Chart), qui vous permet de définir l'ordre d'exécution des graphiques non seulement par une chaîne séquentielle, mais à la discrétion du développeur du logiciel. Avec CFC, le développeur obtient plus de liberté, bien que le code soit plus long.

Voir aussi sur ce sujet:Langages de programmation PLC et plate-forme logicielle d'automatisation CoDeSys

Voir aussi sur e.imadeself.com:

  • LD Ladder Language et son application
  • Langages de programmation PLC et plate-forme logicielle d'automatisation CoDeSys
  • Schémas de démarrage du moteur dans le langage de schéma à contacts LD pour PLC
  • Un exemple de modernisation du circuit électrique d'un monte-charge utilisant ...
  • Cours vidéo sur l'utilisation du contrôleur Aries PLC110 dans CODESYS2.3

  •