Boucle cadencée

Aide LabVIEW 2014

Date d'édition : June 2014

Numéro de référence : 371361L-0114

»Afficher les infos sur le produit
Télécharger l'aide (Windows uniquement)

Palette propriétaire : VIs de structures cadencées

Requiert : Système de développement de base (Real-Time, Windows)

Exécute un ou plusieurs sous-diagrammes, ou étapes, de façon séquentielle à chaque itération de la boucle à la période spécifiée. Utilisez la boucle cadencée pour développer des VIs dotés de capacités de cadencement multifréquences, avec un cadencement précis, des informations de feedback sur l'exécution de la boucle, des caractéristiques de cadencement qui changent dynamiquement ou plusieurs niveaux de priorité d'exécution. Cliquez avec le bouton droit sur le bord de la structure pour ajouter, supprimer, insérer et fusionner des étapes.

Remarque  Si vous utilisez la boucle cadencée dans un VI FPGA, vous devez utiliser une boucle cadencée à un cycle. Une boucle cadencée à un cycle exécute un sous-diagramme par cycle d'horloge FPGA. Les boucles cadencées à un cycle ne supportent pas les étapes.

Le terminal d'itération (i) fournit le nombre d'itérations actuel de la boucle, qui vaut zéro à la première itération. Si le nombre d'itérations dépasse 2 147 483 647, ou 231-1, le terminal d'itération reste à 2 147 483 647 pour les itérations ultérieures. Si vous devez compter plus de 2 147 483 647 itérations, vous pouvez utiliser des registres à décalage avec une plus grande gamme d'entiers.

La boucle cadencée comprend des nœuds d'entrée (1) et de sortie (4) et des nœuds de données de gauche (2) et de droite (3) pour chaque étape, représentés sur la figure suivante. Par défaut, les nœuds d'une boucle cadencée n'affichent pas tous les terminaux d'entrée et de sortie disponibles. Pour afficher les terminaux du nœud, vous pouvez redimensionner les nœuds ou cliquer droite sur un nœud et utiliser le menu local. Cliquez avec le bouton droit sur le bord d'une boucle cadencée et sélectionnez Afficher le nœud de données de gauche ou Afficher le nœud de données de droite dans le menu local pour afficher chaque nœud.

Double-cliquez sur le nœud d'entrée et sélectionnez Configurer la boucle cadencée pour afficher la boîte de dialogue Configurer la boucle cadencée dans laquelle vous pouvez configurer la boucle. Les valeurs que vous entrez dans la boîte de dialogue Configurer la boucle cadencée apparaissent à côté des terminaux d'entrée sur le nœud d'entrée.

Le tableau suivant dresse la liste des terminaux de nœud de la boucle cadencée.

(1) Nœud d'entrée

ÉchéanceSpécifie le temps auquel l'itération de la boucle cadencée doit se terminer. Échéance est égal à Période si vous ne spécifiez pas de valeur. La valeur de l'échéance est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement.
ErreurTransmet les erreurs à travers la structure. La boucle cadencée ne s'exécute pas si Erreur reçoit une condition d'erreur.
ModeSpécifie comment la boucle cadencée traite les exécutions tardives. Il y a cinq modes disponibles : No change, Process missed periods maintaining original phase, Process missed periods ignoring original phase, Discard missed periods maintaining original phase et Discard missed periods ignoring original phase.
Nom de structureSpécifie le nom de la boucle cadencée.
OffsetSpécifie combien de temps une boucle cadencée attend avant de commencer à s'exécuter. La valeur de l'offset est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement.
PériodeSpécifie la période de la boucle cadencée, exprimée dans les mêmes unités que la source de cadencement spécifiée par Nom de la source.
Remarque : Ne définissez pas la période d'une boucle cadencée à 0. National Instruments ne supporte pas les applications qui contiennent des boucles cadencées à période 0 car ces périodes provoquent un comportement inattendu des applications. Si vous avez besoin d'une boucle qui s'exécute aussi vite que possible avec les fonctionnalités d'exécution prioritaire d'une boucle cadencée, utilisez une boucle While dans une structure Séquence cadencée.
PrioritéSpécifie la priorité d'exécution de la boucle cadencée. La priorité d'une structure cadencée spécifie quand la structure s'exécute sur le diagramme par rapport aux autres objets du diagramme. La valeur que vous indiquez dans l'entrée Priorité doit être un entier positif compris entre 1 et 65 535.
ProcesseurSpécifie le processeur qui doit gérer l'exécution. La valeur par défaut est -2, ce qui signifie que LabVIEW assigne automatiquement le processeur. Pour assigner manuellement un processeur, entrez un numéro entre 0 et 255, 0 représentant le premier processeur disponible. Si vous entrez un nombre qui dépasse le nombre de processeurs disponibles, vous générez une erreur d'exécution et la structure cadencée ne s'exécute pas.
Nom de la sourceSpécifie le nom de la source de cadencement à utiliser pour contrôler la structure. Vous pouvez créer la source de cadencement sur le diagramme en utilisant le VI Créer une source de cadencement ou la sélectionner dans la boîte de dialogue Configurer la boucle cadencée.
TimeoutSpécifie combien de temps une boucle cadencée peut attendre avant de commencer à s'exécuter. Par défaut, la valeur est -1 et aucun timeout n'est spécifié pour l'étape suivante. La valeur de timeout est relative au temps de départ de la boucle cadencée ou à la fin de l'itération précédente ; elle est exprimée dans les unités de la source de cadencement de l'étape.

(2) Nœud de données de gauche

Fin réelle [é-1] (pas disponible dans la première étape)Renvoie le temps réel de la fin de l'étape précédente (é-1). La valeur de fin réelle est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement.
Fin réelle [i-1] (première étape uniquement)Renvoie le temps réel pour la fin de l'itération précédente (i-1). La valeur de fin réelle est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement.
Départ réel [f] (pas disponible dans une boucle cadencée à une seule étape)Renvoie le temps de départ réel de l'étape actuelle (é). La valeur de départ réel est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement de l'étape.
Départ réel [i] (première étape uniquement)Renvoie le temps de départ réel de l'itération actuelle (i). La valeur de départ réelle est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement.
ÉchéanceRenvoie la valeur de l'échéance de l'étape actuelle.
ErreurTransmet les erreurs à travers la structure.
Fin prévue [é-1] (pas disponible dans les boucles cadencées à une seule étape)Renvoie le temps attendu pour la fin de l'étape précédente (é-1). La valeur de fin attendue est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement. La valeur de Fin prévue [é-1] est égale au départ de la période suivante.
Fin prévue [i-1] (première étape uniquement)Renvoie le temps attendu pour la fin de l'itération précédente (i-1). La valeur de fin attendue est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement.
Départ prévu [é]Renvoie le temps de départ attendu pour l'étape actuelle (é). La valeur de départ prévue est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement de l'étape.
Départ prévu [i] (première étape uniquement)Renvoie le temps de départ attendu pour l'itération actuelle (i). La valeur de départ attendue est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement.
Terminé en retard ? [é-1]Renvoie VRAI si la boucle cadencée n'a pas terminé l'étape précédente avant l'échéance spécifiée.
Terminé en retard ? [i-1] (première étape uniquement)Renvoie VRAI si la boucle cadencée n'a pas terminé l'itération précédente avant l'échéance spécifiée.
Durée de l'étape [é] (pas disponible dans les boucles cadencées à une seule étape)Renvoie la durée de l'étape précédente. La durée de l'étape est relative au départ de l'étape et est exprimée dans les unités de la source de cadencement de l'étape.
Temps de fin globalRenvoie un horodatage en nanosecondes pour la fin de l'itération ou de l'étape précédente.
Temps de départ globalRenvoie un horodatage en nanosecondes pour le début de l'itération ou de l'étape actuelle.
Durée de l'itération (première étape uniquement)Renvoie un horodatage pour la durée de l'itération précédente. La durée de l'itération est relative au temps de départ de l'itération et est exprimée dans les unités de la source de cadencement.
Mode (première étape uniquement)Renvoie la valeur du mode de l'itération actuelle.
Offset (première étape uniquement)Renvoie la valeur de l'offset du départ de l'itération actuelle.
Période (première étape uniquement)Renvoie la valeur de la période de l'étape actuelle.
PrioritéRenvoie la valeur de la priorité de l'étape actuelle.
ProcesseurRenvoie le processeur que vous désignez pour gérer l'exécution, le cas échéant. Sinon, la valeur renvoyée est -2, ce qui signifie que LabVIEW assigne automatiquement le processeur.
Départ (pas disponible dans la première étape)Renvoie la valeur de départ de l'étape actuelle.
TimeoutRenvoie la valeur du timeout de l'étape actuelle.
Raison du réveilRenvoie un type énumération avec la raison du lancement de l'exécution de l'itération actuelle. Les valeurs possibles sont 0 for Normal, 1 pour Aborted, 2 pour Asynchronous wakeup, 3 pour Timing source error, 4 pour Timed loop error et 5 pour Timeout.

(3) Nœud de données de droite

ÉchéanceSpécifie le temps auquel l'étape suivante de la boucle cadencée doit se terminer. La valeur de l'échéance est relative au temps de départ de l'étape suivante et est exprimée dans les unités de la source de cadencement. Par défaut, la valeur est -1 et il n'y a pas de changement.
ErreurPasse les erreurs du sous-diagramme à la sortie de la boucle cadencée. Si Erreur reçoit une condition d'erreur, la boucle cadencée exécute l'étape suivante sans cadencement. Si Erreur reçoit une condition d'erreur dans la dernière étape, la structure finit d'exécuter l'itération en cours sans cadencement, quitte la boucle et renvoie la condition d'erreur sur le nœud de sortie.
Mode (dernière étape uniquement)Spécifie le Mode de l'itération suivante de la boucle cadencée. Il y a cinq modes disponibles : No change, Process missed periods maintaining original phase, Process missed periods ignoring original phase, Discard missed periods maintaining original phase et Discard missed periods ignoring original phase.
Offset (dernière étape uniquement)Spécifie combien de temps l'itération suivante attend avant de commencer à s'exécuter. La valeur de l'offset est relative au temps de départ de l'itération suivante et est exprimée dans les unités de la source de cadencement. Par défaut, la valeur est -1 et il n'y a pas de changement. Si vous définissez un offset pour l'itération suivante, vous devez définir une nouvelle valeur pour Mode.
Période (dernière étape uniquement)Spécifie la période de la prochaine itération d'une boucle cadencée, exprimée dans les unités de la source de cadencement. Par défaut, la valeur est -1 et il n'y a pas de changement.
Remarque : Ne définissez pas la période d'une boucle cadencée à 0. National Instruments ne supporte pas les applications qui contiennent des boucles cadencées à période 0 car ces périodes provoquent un comportement inattendu des applications. Si vous avez besoin d'une boucle qui s'exécute aussi vite que possible avec les fonctionnalités d'exécution prioritaire d'une boucle cadencée, utilisez une boucle While dans une structure Séquence cadencée.
PrioritéSpécifie la Priorité de l'itération suivante de la boucle cadencée. La priorité spécifie quand l'itération suivante s'exécute sur le diagramme par rapport aux autres objets du diagramme. La valeur que vous indiquez dans l'entrée Priorité doit être un entier positif compris entre 1 et 65 535.
ProcesseurSpécifie le processeur qui doit gérer l'exécution. La valeur par défaut est -1, ce qui signifie que LabVIEW assigne le même processeur spécifié dans le nœud en entrée. Entrez -2 pour permettre à LabVIEW d'assigner le processeur. Pour assigner manuellement un processeur, entrez un numéro entre 0 et 255, 0 représentant le premier processeur disponible. Si vous entrez un nombre qui dépasse le nombre de processeurs disponibles, vous générez une erreur d'exécution et la structure cadencée ne s'exécute pas.
Départ (pas disponible dans la dernière étape)Spécifie combien de temps l'étape suivante attend avant de commencer à s'exécuter. La valeur de départ est relative au début de l'étape actuelle et est exprimée dans l'unité de la source de cadencement.
TimeoutSpécifie combien de temps l'itération suivante peut attendre avant de commencer à s'exécuter. Par défaut, la valeur est -1 et aucun timeout n'est spécifié pour l'itération suivante. La valeur du timeout est relative au temps de fin de l'itération précédente et est exprimée dans les unités de la source de cadencement de l'étape.

(4) Nœud de sortie

Fin réelle [é-1] (pas disponible dans les boucles cadencées à une seule étape)Renvoie le temps réel de la fin de l'étape précédente (é-1). La valeur de fin réelle est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement.
Fin réelle [i-1]Renvoie le temps réel pour la fin de l'itération précédente (i-1). La valeur de fin réelle est relative au temps de départ de la boucle cadencée et est exprimée dans les unités de la source de cadencement.
ErreurPasse les erreurs reçues par la boucle cadencée et renvoie les erreurs du sous-diagramme.
Fin prévue [é-1] (pas disponible dans les boucles cadencées à une seule étape)Renvoie le temps attendu pour la fin de l'étape précédente (é-1). La valeur de fin attendue est relative à la structure cadencée si la source de cadencement de l'étape n'est pas réinitialisée au début des itérations. La valeur de fin attendue est spécifiée dans les unités de la source de cadencement. La valeur de Fin prévue [é-1] est égale au départ de la période suivante.
Fin prévue [i-1]Renvoie le temps attendu pour la fin de l'itération précédente (i-1). La valeur de fin attendue est relative à la structure cadencée si la source de cadencement de l'étape n'est pas réinitialisée au début des itérations. La valeur de fin attendue est spécifiée dans les unités de la source de cadencement.
Terminé en retard ? [é-1] (pas disponible dans les boucles cadencées à une seule étape)Renvoie VRAI si la boucle cadencée n'a pas terminé l'étape précédente avant l'échéance spécifiée.
Terminé en retard ? [i-1]Renvoie VRAI si la boucle cadencée n'a pas terminé l'itération précédente avant l'échéance spécifiée.
Durée de l'étape (pas disponible dans les boucles cadencées à une seule étape)Renvoie la durée de l'étape précédente. La durée de l'étape est relative au départ de l'étape et est exprimée dans les unités de la source de cadencement de l'étape.
Temps de fin globalRenvoie un horodatage en nanosecondes pour la fin de l'itération ou de l'étape précédente.
Durée de l'itérationRenvoie l'horodatage de la durée d'exécution de l'itération précédente. La durée de l'itération est relative au temps de départ de l'itération et est exprimée dans les unités de la source de cadencement.
ProcesseurRenvoie le processeur que vous désignez pour gérer l'exécution, le cas échéant. Sinon, la valeur renvoyée est -2, ce qui signifie que LabVIEW assigne automatiquement le processeur.

Reportez-vous à la rubrique Configuration des boucles cadencées pour en savoir plus sur l'utilisation et la configuration d'une boucle cadencée.

Pour convertir une boucle cadencée en boucle While, cliquez avec le bouton droit sur la boucle cadencée et sélectionnez Remplacer par une boucle While dans le menu local. Pour convertir une boucle cadencée en structure Séquence cadencée, cliquez avec le bouton droit sur la boucle cadencée et sélectionnez Remplacer par une séquence cadencée dans le menu local.

Contrairement à la boucle While, il n'est pas nécessaire de câbler de paramètre au terminal d'arrêt pour la boucle cadencée. Si vous ne câblez rien au terminal d'arrêt, la boucle s'exécutera indéfiniment.

Reportez-vous à la rubrique Boucle cadencée (module FPAG) pour en savoir plus sur l'utilisation et la configuration des boucles cadencées dans les VIs FPGA.

Exemples

Reportez-vous aux VIs suivants pour obtenir des exemples d'utilisation de "Boucle cadencée" :

  • VI Timed Loop Offset.vi : labview\examples\Structures\Timed Loop
  • VI Timed Loop Resettable Source Type.vi : labview\examples\Structures\Timed Loop

CET ARTICLE VOUS A-T-IL ÉTÉ UTILE ?

Pas utile