> >

logo automatisme Tutoriel - Utiliser les blocs fonctionnels avec Codesys v2.3


1. Présentation
2. Le Détecteur de front montant (R_TRIG)
3. Le Détecteur de front descendant (F_TRIG)
4. Le Compteur (CTU)
5. Le Décompteur (CTD)
6. Le générateur de signaux Clignotant - Clignoteur (BLINK)
7. ETHERNET_MODBUSMASTER_UDP (Communication entre automates par protocole UDP)


1. Présentation des blocs fonctionnels :

Les blocs fonctionnels sont des "boites" permettant de réaliser certaines fonctions (temporisation, comptage, clignotement...).
Les différents blocs fonctionnels sont contenus dans des bibilothèques, qu'il faut parfois importer dans Codesys.
Il faut au préalable vérifier que le bloc fonctionnel à utilisé est présent dans le gestionnaire de bibliothèques.


    1.1. Les portes logiques :

Cours sur les portes logiques.
Pour réaliser des fonctions logiques (ET, OU, NON...) en blocs fonctionnels il faut utiliser les langages FBD ou CFC dans Codesys lors de la création d'un module.
module CFC ou FBD sous codesys porte logique
FFD : construction structuré par ligne (réseau) un peu comme le Ladder que je trouve moins pratique pour des équations longues.
exemple d'écriture de programme sous codesys en FBD
CFC : construction avec un placement libre des portes logiques et des blocs fonctionnels.
exemple d'écriture de programme sous codesys en CFC

    1.2. Bibliothèque standard.lib :

Cette bibliothèque contient les modules (fonctions) de base, elle est déjà intégréé à Codesys.
Elle contient entre autre les blocs fonctionnels suivants :
    • Détecteur de front montant (R_TRIG)
    • Détecteur de front descendant (F_TRIG)
    • Temporisateur On - Temporisation On (TON)
    • Temporisateur Off - Temporisation Off (TOF)
    • Compteur - comptage (CTU)
    • Décompteur - décomptage (CTD)
    • Compteur / Décompteur - comptage et décomptage (CTUD)


    1.3. Bibliothèque util.lib :

Cette bibliothèque contient d'autre modules (fonctions), elle doit être importée dans Codesys.
Elle contient entre autre les blocs fonctionnels suivants :
    • Régulateur PD (Proportionnel Dérivateur)
    • Régulateur PID (Proportionnel Intégrateur Dérivateur)
    • Générateur de signal clignotant ou clignoteur (BLINK)
    • Mesureur de fréquence à partir d'un signal d'entrée booléen (FREQ_MEASURE)
    • Générateur de fonctions périodiques (GEN)


L'emplacement de la bibliothèque util.lib est :
WAGO Software\CoDeSys V2.3\Targets\WAGO\Libraries\IO_IPC
Pour l'intégrer à Codesys il faut cliquer sur :
Ressources > Gestionnaire de bibliothèques > Clic droit (Autre bibliothèque).
La vidéo ci-dessous vous montre la méthode pour ajouter la bibliothèque Util.lib.


    1.4. Bibliothèque ModbusEthernet_04.lib :

Cette librairie permet de mettre en oeuvre une communication Ethernet, TCP ou UDP avec un ou plusieurs esclaves.
Elle contient entre autre le bloc fonctionnel :
    • ETHERNET_MODBUSMASTER_UDP permettant de faire communiquer 2 automates Wago entre eux par le protocole UDP.
L'emplacement de la bibliothèque ModbusEthernet_04.lib est :
WAGO Software\CoDeSys V2.3\Targets\WAGO\Libraries\Application
La vidéo ci-dessous vous montre la méthode pour ajouter la bibliothèque ModbusEthernet_04.lib à Codesys et l'insertion dans un programme du bloc fonctionnel ETHERNET_MODBUSMASTER_UDP.


2. Le Détecteur de front montant (R_TRIG) :

Il appartient à la bibliothèque standard.lib.
Le bloc fonctionnel R_TRIG permet de détecter un front montant.
Tant que la variable d'entrée CLK fournit la valeur FALSE, la sortie Q et la variable auxiliaire M ont comme valeur FALSE.
Dès que CLK fournit la valeur TRUE, Q fournit la valeur TRUE (impulsion) et ensuite M passe également à TRUE.
Quand CLK passera à FALSE alors M passera également à FALSE.
A chaque nouveau front montant sur le bloc fonctionnel (entrée CLK), Q fournira à nouveau la valeur FALSE jusqu'à ce que CLK ait un front descendant suivi d'un front montant.
Le détecteur de front montant sous codesys v2.3
Le bloc ci-dessus est intéractif appuyer sur l'entrée digitale %IX0.0 et constater ce qu'il se passe sur la sortie Q ou la variable M lorsque l'on a un front montant sur l'entrée CLK.


    2.1. Le télérupteur avec le bloc Détecteur de front montant (R_TRIG) :

En utilisant le bloc de détection de front montant et en réalisant le programme Ladder ci-dessous il est possible de réaliser un télérupteur sous codesys.
Le détecteur de front montant permet de réaliser un télérupteur en langage ladder sous codesys v2.3
Le programme ci-dessus est intéractif appuyer sur l'entrée digitale %IX0.0 ou sur l'un des boutons poussoirs et constater ce qu'il se passe sur la sortie digitale %QX0.0.


3. Le Détecteur de front descendant (F_TRIG) :

Il appartient à la bibliothèque standard.lib.
Le bloc fonctionnel F_TRIG permet de détecter un front descendant.
Tant que la variable d'entrée CLK fournit la valeur TRUE, la sortie Q et la variable auxiliaire M ont comme valeur FALSE.
Dès que CLK fournit la valeur FALSE, Q fournit la valeur TRUE (impulsion) et ensuite M passe également à TRUE.
Quand CLK passera à TRUE alors M passera également à FALSE. A chaque nouveau front descendant sur le bloc fonctionnel (entrée CLK), Q fournira à nouveau la valeur FALSE jusqu'à ce que CLK ait un front montant suivi d'un front descendant.
Le détecteur de front descendant sous codesys v2.3
Le bloc ci-dessus est intéractif appuyer sur l'entrée digitale %IX0.0 puis relacher (front descendant) et constater ce qu'il se passe sur la sortie Q ou la variable M lorsque l'on a un front descendant sur l'entrée CLK.


4. Le Compteur (CTU) :

Il appartient à la bibliothèque standard.lib.
A chaque front montant sur l'entrée CU le compteur s'incrémente de 1.
Le compteur (comptage) CTU sous codesys
Le bloc ci-dessus est intéractif on peut choisir la valeur à atteindre (PV) et ainsi on peut constater ce qu'il se passe lorsque l'on a un front montant sur l'entrée CU.



5. Le Décompteur (CTD) :

Il appartient à la bibliothèque standard.lib.
A chaque front montant sur l'entrée CD le décompteur décrémente de 1, lorsqu'il est égal à 0 la sortie Q est active (TRUE).
Le décompteur (décomptage) CTD sous codesys
Le bloc ci-dessus est intéractif on peut choisir la valeur à décompter (PV) et l'initialiser dans le décompteur en cliquant sur LOAD. On peut constater ce qu'il se passe lorsque l'on a un front montant sur l'entrée CD.



6. Le générateur de signaux Clignotant - Clignoteur (BLINK) :

Il appartient à la bibliothèque Util.lib.
Quand l'entrée ENABLE est active la sortie OUT clignote selon le temps déterminé à l'aide :
    • TIMELOW correspond au temps ou la sortie OUT sera inactive.
    • TIMEHIG correspond au temps ou la sortie OUT sera active.
Le bloc ci-dessus est intéractif et permet de tester son fonctionnement.



7. ETHERNET_MODBUSMASTER_UDP :

Ce bloc fonctionnel permet de communiquer des données entre 2 automates. Un automate sera maître et l'autre esclave.
Il se présente de la manière suivante :
Bloc fonctionnel ETHERNET_MODBUSMASTER_UDP provenant de la bibliothèque modbusEthernet_04.lib
Il est possible de lire et écrire des informations sur un automate esclave à partir d'un second automate (maître).
Pour savoir comment insérer ce bloc fonctionnel dans un programme visionner la vidéo.
Pour obtenir davantage d'information sur ce bloc fonctionnel cliquer ici.


📌 Politique de Confidentialité | Cet article peut inclure du contenu sponsorisé et rémunérédes, des liens d'affiliation, notamment des liens Amazon (programme Partenaire Amazon EU)
me permettant de toucher une commission au pourcentage sur la vente des produits affiliés (sans augmentation de prix pour l'acheteur).

❤️💟 Si vous aimez les articles et pour soutenir le développement du site n'hésitez pas à partager sur les réseaux sociaux youtube facebook instagram pinterest tiktok