Configuration de boucles cadencées et de boucles cadencées à étapes (Real-Time, Windows)

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)

Pour configurer la façon dont une boucle cadencée s'exécute, utilisez la boîte de dialogue Configurer la boucle cadencée ou Configurer la boucle cadencée à étapes. Pour afficher ces boîtes de dialogue, double-cliquez sur le nœud d'entrée ou cliquez avec le bouton droit sur le nœud et sélectionnez Configurer le nœud d'entrée dans le menu local. Vous pouvez utiliser ces boîtes de dialogue pour spécifier une source de cadencement, définir une période et configurer des options avancées.

Vous pouvez également câbler des données au nœud d'entrée pour configurer les options d'une boucle cadencée. Par défaut, le nœud d'entrée d'une boucle cadencée n'affiche pas tous les terminaux d'entrée disponibles. Vous pouvez redimensionner le nœud d'entrée, ou cliquer dessus avec le bouton droit et utiliser le menu local pour afficher les terminaux masqués.

Astuces concernant l'utilisation de boucles cadencées

La liste suivante fournit des informations complémentaires sur l'utilisation d'une boucle cadencée.

  • À la différence des boucles While, vous n'avez pas besoin de câbler le terminal de condition dans une boucle cadencée.

Astuces concernant l'utilisation de boucles cadencées à étapes

La liste suivante fournit des informations complémentaires sur l'utilisation d'une boucle cadencée à étapes.

  • Vous pouvez câbler des valeurs au nœud d'entrée pour configurer une boucle cadencée à étapes ou vous pouvez cliquer avec le bouton droit sur le nœud d'entrée et sélectionner Configurer le nœud d'entrée dans le menu local pour afficher la boîte de dialogue Configurer la boucle cadencée à étapes et entrer des valeurs pour les options.
  • Cliquez avec le bouton droit sur le bord de la structure pour ajouter, supprimer et fusionner des étapes.
  • Pour que chaque étape ne s'exécute qu'une fois, cliquez avec le bouton droit sur le bord de la boucle cadencée et sélectionnez Remplacer par une séquence cadencée dans le menu local.

Reportez-vous au projet labview\examples\Structures\Timed Loop\Timed Loop.lvproj pour consulter des exemples d'utilisation de boucles cadencées.

Configuration de l'étape suivante

Double-cliquez sur le nœud de données de droite de l'étape actuelle, ou cliquez dessus avec le bouton droit et sélectionnez Configurer le nœud d'entrée dans le menu local pour afficher la boîte de dialogue Configurer le cadencement de l'étape suivante. Vous pouvez utiliser cette boîte de dialogue pour définir un temps de départ, une priorité, une échéance et un timeout pour l'étape suivante.

Le temps de départ spécifie le moment auquel l'étape suivante commence à s'exécuter. Vous devez spécifier une valeur de temps de départ relative au temps de départ de l'étape précédente en utilisant les unités absolues de la source de cadencement de l'étape. Entrez une valeur dans la zone de texte Démarrer pour spécifier un temps de départ.

Vous pouvez aussi utiliser les terminaux d'entrée du nœud de données de droite d'une étape pour configurer dynamiquement les options de l'itération suivante d'une boucle cadencée ou configurer dynamiquement les options de l'étape suivante. Par défaut, le nœud de données de droite d'une boucle cadencée n'affiche pas tous les terminaux d'entrée disponibles. Vous pouvez redimensionner le nœud de données de droite, ou faire un clic droit sur le nœud et utiliser le menu local pour afficher les terminaux masqués.

Définition de la période d'une boucle cadencée

La période correspond au laps de temps entre les itérations d'une boucle cadencée et est spécifiée dans les unités absolues de la source de cadencement de la structure.

Les boucles cadencées du diagramme suivant utilisent la source de cadencement de 1 kHz par défaut. La période (dt) de la boucle A est 1000 ms et celle de la boucle B est 2000 ms, ce qui signifie que la boucle A s'exécute une fois par seconde et la boucle B une fois toutes les deux secondes. Les deux boucles cadencées arrêtent de s'exécuter après six itérations. La boucle A arrête son exécution après six secondes et la boucle B arrête la sienne après 12 secondes.

Le sous-diagramme d'une boucle cadencée ou les sous-diagrammes d'une boucle cadencée à étapes doivent finir de s'exécuter avant la période spécifiée pour chaque itération. Si le ou les sous-diagrammes ne terminent pas leur exécution avant la période spécifiée, la boucle cadencée renvoie VRAI dans la sortie Terminé en retard ? [i-1] du nœud de sortie ou dans la sortie Terminé en retard ? [i-1] du nœud de données de gauche de la première étape des itérations suivantes.

Si le sous-diagramme d'une boucle cadencée ou les sous-diagrammes d'une boucle cadencée à étapes terminent leur exécution avant la période de la boucle, la boucle cadencée se met au repos et permet à du code ou d'autres structures de s'exécuter sur le diagramme.

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.

Définition du mode d'une boucle cadencée

Il arrive parfois qu'une itération d'une boucle cadencée s'exécute en retard par rapport au temps spécifié. Le mode d'une boucle cadencée détermine comment la boucle traite les exécutions tardives. Utilisez les options de la section Action en cas d'itérations tardives de la boîte de dialogue Configurer la boucle cadencée ou de la boîte de dialogue Configurer la boucle cadencée à étapes pour spécifier le mode utilisé par la boucle cadencée pour traiter une exécution tardive. Vous pouvez aussi utiliser l'entrée Mode du nœud d'entrée afin de spécifier le mode d'une boucle cadencée.

Vous pouvez traiter l'exécution tardive d'une boucle cadencée de plusieurs façons :

  • LabVIEW peut aligner l'exécution sur l'horaire établi initialement.
  • LabVIEW peut définir un nouvel horaire qui commence au temps actuel.
  • La boucle cadencée peut traiter les itérations manquées.
  • La boucle cadencée peut ignorer les itérations manquées.

Par exemple, si vous définissez une boucle cadencée avec une période de 100 ms et un offset de 30 ms, vous vous attendez à ce que la première itération de la boucle soit lancée 30 ms après le démarrage de la première source de cadencement, puis en multiples de 100 ms par la suite, c'est-à-dire à 130 ms, 230 ms, 330 ms, et ainsi de suite. Cependant, la première exécution de la boucle cadencée pourrait se produire après un délai de 240 ms. Comme il est possible que d'autres boucles cadencées et périphériques matériels s'exécutent déjà selon l'horaire que vous avez spécifié, vous pouvez aligner la boucle cadencée tardive sur l'horaire global qui est déjà en cours d'exécution ; autrement dit, la boucle cadencée peut s'aligner dès que possible sur l'horaire spécifié. Dans ce cas, la prochaine itération de la boucle cadencée devrait s'exécuter à 330 ms et les itérations suivantes devraient s'exécuter à des multiples de 100, c'est-à-dire à 430 ms, 530 ms, et ainsi de suite. S'il n'est pas important d'aligner la boucle cadencée sur les autres boucles cadencées ou les périphériques matériels, la boucle cadencée peut s'exécuter immédiatement en utilisant le temps actuel comme offset. Dans ce cas, les itérations suivantes de la boucle s'exécutent à 240 ms, 340 ms, 440 ms, et ainsi de suite.

Si la boucle cadencée est en retard, elle risque de ne pas recevoir les données générées par les autres boucles cadencées ou périphériques matériels. Par exemple, si la boucle cadencée a manqué deux itérations et certaines des données de la période en cours, un buffer peut contenir les données des itérations manquantes. Vous pouvez configurer la boucle cadencée pour qu'elle traite les données manquées avant de s'aligner sur l'horaire spécifié. Cependant, une boucle cadencée qui traite les itérations manquées engendre des fluctuations qui correspondent à la variation entre la période réelle de la boucle et la période spécifiée. Si vous ne voulez pas traiter les données manquées, la boucle cadencée peut ignorer les données les plus anciennes du buffer manquées par les itérations et ne traiter que les données les plus récentes, comme les données disponibles à la période suivante et aux itérations à venir.

Configuration de modes au moyen de la boîte de dialogue Configuration

Par défaut, la boucle cadencée supprime les données générées au cours des itérations manquantes et suit l'horaire initial. Pour ce paramétrage du mode, l'icône de l'entrée Mode du nœud d'entrée apparaît avec un S pour supprimer et un M pour maintenir. Pour traiter les données générées par les itérations manquées ou tardives, désélectionnez la case de Supprimer les périodes manquées dans la boîte de dialogue Configurer la boucle cadencée ou Configurer la boucle cadencée à étapes. Pour afficher ce paramétrage de mode, l'icône de l'entrée Mode du nœud d'entrée apparaît avec un T pour traitement. Désélectionnez la case de Maintenir la phase d'origine dans la boîte de dialogue Configurer la boucle cadencée ou Configurer la boucle cadencée à étapes pour configurer la boucle cadencée afin qu'elle s'exécute suivant un nouvel horaire basé sur la première itération de la boucle cadencée.

Configuration d'un mode au moyen du nœud d'entrée

Vous pouvez aussi utiliser l'entrée Mode du nœud d'entrée afin de configurer le mode d'une boucle cadencée. Faites un clic droit sur l'entrée Mode et sélectionnez Créer»Constante ou Créer»Commande dans le menu local pour créer une constante ou commande d'énumération. Vous pouvez utiliser cette constante ou commande pour sélectionner un mode.

Utilisez l'entrée Mode du nœud d'entrée pour changer le mode d'une boucle cadencée par programmation ou conserver la configuration des modes de la boîte de dialogue Configurer la boucle cadencée. Sélectionnez No Change (Pas de changement) dans la constante ou commande d'énumération pour conserver la configuration de mode actuelle, ou sélectionnez une option pour indiquer comment traiter les itérations de boucle cadencée manquées ou tardives.

Reportez-vous au VI Timed Loop Mode.vi, dans le répertoire labview\examples\Structures\Timed Loop pour consulter un exemple de paramétrage du mode pour une boucle cadencée.



Page d'accueil des Structures cadencées

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

Pas utile