Disposer par flux de données
L' ordre d'exécution des POU est déterminé de manière unique dans les éditeurs textuels et réseau. En revanche, dans l'éditeur CFC, le positionnement des éléments est libre ; l' ordre d'exécution initial n'est donc pas unique. C'est pourquoi : CODESYS Utilise le flux de données pour déterminer l' ordre d'exécution et, dans le cas de réseaux multiples, la position topologique des éléments. Les éléments et réseaux les plus importants sont triés de haut en bas et de gauche à droite. De cette façon, l' ordre d'exécution est unique et garantit que le POU est traité de manière optimisée en termes de temps et de cycle.
Vous pouvez afficher temporairement l' ordre d'exécution actuel dans le graphique. Lorsque vous programmez des réseaux avec rétroaction, vous pouvez définir un élément comme point de départ de la boucle de rétroaction.
Vous pouvez également modifier explicitement l'ordre de traitement dans un objet CFC. Pour cela, activez la case à cocher Mode de flux de données automatique propriété de l'objet CFC à Mode d'ordre d'exécution explicite Dans ce mode, vous avez la possibilité de modifier l' ordre d'exécution au moyen de commandes de menu.
Avant CODESYS Dans la version V3.5 SP15, il fallait définir explicitement l' ordre d'exécution de chaque POU. Il n'y avait pas de changement de mode.
Flux de données
Le flux de données décrit par ordre chronologique les données à écrire ou à lire, comment et quand cela doit être fait, et dans quels objets de programmation. Une POU peut traiter un nombre illimité de flux de données, qui peuvent également être exécutés indépendamment les uns des autres.
Affichage de l' ordre d'exécution
Par défaut, l' ordre d'exécution d'un objet CFC est déterminé automatiquement. Mode de flux de données automatique La propriété est sélectionnée pour cela. Vous pouvez afficher temporairement l' ordre d'exécution déterminé automatiquement dans l'éditeur CFC.
Créez un nouveau projet en utilisant le Projet standard modèle et spécifiez le nom
Minimal
Par exemple.Étendez l'application avec le bloc fonctionnel
FB_DOIt
dans le ST langage d'implémentation avec entrées et sorties comme suit.FUNCTION_BLOCK FB_DoIt VAR_INPUT iAlfa : INT; iBravo: INT; sCharlie : STRING := 'Charlie'; xItem : BOOL; END_VAR VAR_OUTPUT iResult : INT; sResult : STRING; xResult : BOOL; END_VAR VAR END_VAR iResult := iAlfa + iBravo; IF xItem = TRUE THEN xResult := TRUE; END_IF
Créer le bloc fonctionnel
ExecuteCFC
dans le CFC langage d'implémentation comme suit.PROGRAM ExecuteCFC VAR fb_DoIt_0: FB_DoIt; fb_DoIt_1: FB_DoIt; iFinal_1: INT; iFinal_0: INT; xFinal: BOOL; END_VAR
Les objets de programmation récemment créés dans CFC ont le mode de flux de données automatique sélectionné. L' ordre d'exécution de l'objet de programmation est défini de manière optimale en interne.
Cliquez
.L' ordre d'exécution de l'objet est affiché. Les cases et les entrées sont numérotées en conséquence et reflètent la séquence de traitement chronologique. La numérotation disparaît dès que vous cliquez à nouveau dans l'éditeur CFC.
Déterminer l' ordre d'exécution dans les réseaux de rétroaction
Créer un programme CFC avec feedback.
Le POU
PrgPositiveFeedback
compte.PROGRAM PrgPositiveFeedback VAR iResult: INT; END_VAR
Sélectionnez un élément dans le feedback.
L'élément sélectionné est surligné en rouge.
Cliquez CFC → Ordre d'exécution → Set Start of Feedback.
À l'exécution, ce POU est traité en premier. Le POU de départ du retour d'information est défini et décoré avec le
Symbole. L' ordre d'exécution est réorganisé et l'élément sélectionné obtient le numéro 0. (Il s'agit du numéro le plus bas du retour.)
Sélectionnez à nouveau le POU de démarrage.
Cliquez CFC → Ordre d'exécution → Set Start of Feedback.
La module n'est pas sélectionnée comme module de départ.
L' ordre d'exécution est défini en interne.
Cliquez CFC → Ordre d'exécution → Afficher l'ordre d'exécution.
L' ordre d'exécution par flux de données est affiché.
Définir explicitement l' ordre d'exécution
Vous pouvez modifier explicitement l' ordre d'exécution défini automatiquement d'un objet CFC lorsque vous sélectionnez l'option Mode d'ordre d'exécution explicite option pour l'objet.
Dans le Appareils ou POU afficher, ouvrez le menu contextuel d'un objet CFC et cliquez sur Propriétés. Dans le Propriétés boîte de dialogue, sélectionnez le Ordre d'exécution de la CFC languette.
Le Ordre d'exécution la liste module affiche le mode actuellement sélectionné.
Dans le Ordre d'exécution liste module, sélectionner Mode d'ordre d'exécution explicite et cliquez D'ACCORD pour confirmer le dialogue.
Le « Mode d'ordre d'exécution explicite » est sélectionné. Les réseaux sont numérotés dans l'éditeur CFC, et les commandes suivantes sont disponibles dans le CFC → Ordre d'exécution menu d'édition de l' ordre d'exécution.
Ouvrir un objet CFC.
Sélectionnez un élément numéroté et cliquez CFC → Ordre d'exécution → Au début.
L' ordre d'exécution est trié et l'élément sélectionné a le numéro 0.
Astuce
L' ordre d'exécution défini automatiquement par flux de données optimise le temps et le cycle d'exécution du POU. Aucune information sur l' ordre d'exécution géré en interne n'est requise pendant le processus de développement.
Dans Mode d'ordre d'exécution explicite Il est de votre responsabilité d'adapter l' ordre d'exécution et d'en évaluer les conséquences et les impacts. C'est pourquoi l' ordre d'exécution est toujours affiché.