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.
• FFD : construction structuré par ligne (réseau) un peu comme le Ladder que je trouve moins pratique pour des équations longues.
• CFC : construction avec un placement libre des portes logiques et des blocs fonctionnels.
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.
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.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.
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.
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).
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.
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 :
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.