Connexion de FON ou FB avec EN/ENO

Le statut ENO (TRUE ou FALSE) de la première fonction (FON) ou du premier bloc fonction (FB) détermine si cette fonction ou ce bloc fonction sera exécuté et si leurs sorties seront écrites ou non (voir EN/ENO pour LD et FBD).

Si à la suite de cette fonction ou de ce bloc fonction, une fonction ou un bloc fonction utilise une de ces sorties comme entrée, le compilateur crée une variable temporaire. D’autres variables temporaires pouvant occuper cette adresse, la valeur est indéfinie à cette position tant qu’elle n’a pas été écrite, c.-à-d. si ENO est FALSE.

Pour éviter ceci, assurez vous que toutes les fonctions ou blocs fonctions d’un réseau ne sont exécutés que lorsque les fonctions/blocs fonctions précédents ont été exécutés. Le compilateur vérifie que la fonction ou le bloc fonction suivant n’a pas d’entrée EN et que la fonction suivante n’est pas une fonction AND.

Dans le réseau 1, un avertissement s’affiche car le comportement est indéfini lorsque Compare est FALSE.

Le réseau 2 montre un programme correct. Dans ce cas, il n’y a pas d’avertissement.

Dans le réseau 3, lorsque Add_to est FALSE et Compare TRUE, la fonction suivante (E_GT) est exécutée et la fonction précédente (E_ADD) ne l’est pas. Bien que le comportement soit indéfini, aucun message d’avertissement ne s’affiche.

Thèmes apparentés

Modifié le : 2020-05-12Commentaires sur cette pageAssistance téléphonique