La Fonction Bascule [CodeSys]
J’ai deja parlé a plusieur reprise de cette fonction, celle-ci est la fonction dont vous aurez sans doute le plus besoins
Son But
Permettre de changer l’etat d’un element par une simple impulsion
Simplement permettre d’allumer une lampe lorsque l’on appuie sur un poussoir, permettre d’éteindre cette meme lampe lorsque l’on appuie sur ce même poussoir, en gros c’est l’équivalent d’un telerupteur
Realisation
Nous allons donc insérer un nouvel objet de type Bloc Fonctionnel et en langage Ladder LD
Voyon tout de suite a quoi va resembler votre petit morceau de programme
Clic pour zommer
Les declarations des variables
en VAR_INPUT vous avez un boolean « Interupteur: BOOL », c’est donc lui qui provoquera l’action
en VAR_OUTPUT vous avez un boolean » Lampe: BOOL », c’est lui qui recevra l’action
en VAR vous avez « Front: R_TRIG » qui est la declaration de la fonction Front Montant et « A:BOOL », qui n’a d’autre utilité que d’eviter d’avoir des erreurs lors de la compilation
Fonctionnement
Reseau 1: lorsque interupteur passe a 1 on genere donc le front montant et R_Trig ce retrouve actionné
Reseau 2: on a le Font montant de l’interupteur Front.Q et si la lampe n’est pas actionner on va setter la lampe et sortir de la fonction (le return) le Front.Q retombe a 0
Comme on travaille avec un front montant vous pouvez laisser l’interrupteur actionner le Front.Q restera a 0 donc plus aucune action ne ce produira dans cette routine
Reseau 3 : comme pour le reseau 2 quand on a le front montant de l’interupteur mais que la lampe est allumé on viendra reseter la lampe (passage de 1 a 0) puis on sort de la fonction (return)
Integration de la fonction dans le programme



[...] La Fonction Bascule [CodeSys]Cyril http://www.ituilerie.com Posté il y a 1 minute # [...]
[...] Retrouver dans l’archive Codesys un petit exemple de l’utilisation de la fonction, comme vous pourrez le voir j’ai réutilisé le bloc fonction bascule qui avais deja été détaillé dans cet article [...]