Traitement d'éléments individuels d'un tableau avec une boucle

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)

Si vous câblez un tableau à une boucle For ou à une boucle While, vous pouvez lire et traiter chaque élément de ce tableau en activant l'auto-indexation. Lorsque vous câblez le tableau d'un nœud externe à un tunnel d'entrée sur le cadre de la boucle et que vous activez l'auto-indexation sur le tunnel d'entrée, les éléments de ce tableau entrent un par un dans la boucle, en commençant par le premier élément.

Effectuez les étapes suivantes pour transférer les éléments à un tableau via une boucle :

  1. Faites un clic droit sur le tunnel du bord de la boucle.
  2. Choisissez l'option qui correspond à la façon dont vous voulez traiter les éléments du tableau :
    • Sélectionnez Désactiver l'indexation dans le menu local pour désactiver l'auto-indexation afin de transférer tout le tableau dans la boucle et de renvoyer un tableau ayant le même nombre d'éléments.
    • Sélectionnez Activer l'indexation dans le menu local pour activer l'auto-indexation afin de transférer chaque élément du tableau à la boucle et de renvoyer un seul élément.
    Remarque Remarque  Afin d'éviter les valeurs de données par défaut en sortie si une boucle ne s'exécute pas, activez l'auto-indexation à chaque fois qu'une boucle For a un tunnel de sortie.

Un symbole entre crochets apparaît sur le tunnel de sortie de la boucle pour indiquer que l'auto-indexation est activée.

Configuration du tunnel de sortie pour renvoyer une autre valeur

Effectuez les étapes suivantes pour configurer le tunnel de sortie de la boucle afin de renvoyer la dernière valeur d'un tableau, la valeur indexée d'un tableau ou un tableau concaténé.

  1. Cliquez sur le tunnel de sortie avec le bouton droit.
  2. Sélectionnez respectivement Mode du tunnel»Dernière valeur, Indexation ou Concaténation dans le menu local.

Reportez-vous au tableau suivant pour en savoir plus sur chacune des options de sortie que le tunnel peut renvoyer.

Nom de la sortieDescription
IndexationLe tableau en sortie reçoit un nouvel élément à chaque itération de la boucle. Par conséquent, les tableaux auto-indexés en sortie ont toujours une taille égale au nombre d'itérations. Par exemple, si la boucle s'exécute 10 fois, le tableau en sortie possède 10 éléments.
Dernière valeurLe tunnel de sortie ne renvoie que l'élément de la dernière itération de la boucle.
ConcaténationLabVIEW ajoute toutes les entrées dans l'ordre, renvoyant un tableau de la même taille que le tableau câblé en entrée. Le mode de tunnel Concaténation concatène des tableaux de la même façon que la fonction Construire un tableau.

Entre le tunnel de sortie et le nœud suivant, l'épaisseur du fil de liaison indique si la boucle indexe les valeurs, renvoie la dernière valeur ou concatène les valeurs. L'indexation crée un fil de liaison plus épais que ne le fait la concaténation, car le fil contient un tableau de plus grande taille. Si le tunnel de sortie renvoie la dernière valeur, le fil de liaison est plus fin que pour une indexation ou concaténation.

Remarque Remarque  La boucle indexe les éléments scalaires des tableaux 1D, les tableaux 1D des tableaux 2D, et ainsi de suite. L'opposé se produit sur les tunnels de sortie. Les éléments scalaires s'accumulent séquentiellement dans des tableaux 1D, les tableaux 1D s'accumulent dans des tableaux 2D, etc.

Reportez-vous au projet labview\examples\Arrays\Arrays.lvproj pour consulter des exemples de construction de tableaux en désactivant l'auto-indexation.

Choix d'un type d'auto-indexation pour un tableau câblé à une boucle

Type de boucleConfiguration du tableauExplicationExemple
Boucle ForUn tableau câblé à un tunnel d'entrée et un terminal de décompte non câbléSi vous activez l'indexation automatique pour un tableau câblé à un tunnel d'entrée d'une boucle For, LabVIEW utilise la taille du tableau pour le nombre d'itérations, et vous n'avez donc pas besoin de câbler le terminal de décompte. Par défaut, LabVIEW active l'auto-indexation pour tous les tableaux que vous câblez à une boucle For.
Remarque Remarque  Vous pouvez désactiver l'auto-indexation si vous n'avez pas besoin de traiter des tableaux élément par élément.
Boucle ForTerminal de décompte câbléSi vous activez l'indexation automatique dans ce cas-ci, le nombre réel d'itérations est la valeur la plus petite (tunnel ou terminal).Par exemple, si vous câblez un tableau à 10 éléments à une boucle For, et la valeur 15 à son terminal de décompte, la boucle ne s'exécute que 10 fois.
Boucle ForPlusieurs tableauxComme dans le cas précédent, si vous activez l'indexation automatique pour plusieurs tunnels, le nombre d'itérations est le plus petit des tableaux possibles.Par exemple, si deux tableaux auto-indexés ayant respectivement 10 et 20 éléments sont câblés à des tunnels de la boucle et que vous câblez la valeur 15 au terminal de décompte, la boucle exécute 10 itérations en indexant tous les éléments du premier tableau mais en n'indexant que les 10 premiers éléments du deuxième tableau.

Autre exemple : si vous tracez des données provenant de deux sources sur un graphe et que vous voulez tracer les 100 premiers éléments, câblez 100 au terminal de décompte. Si la source de données la plus petite ne comporte que 50 éléments, la boucle exécute 50 itérations et n'indexe que les 50 premiers éléments de chaque source de données. Utilisez la fonction Taille d'un tableau pour déterminer la taille des tableaux.
Boucle WhileUn tableau câbléSi vous activez l'auto-indexation pour un tableau entrant dans une boucle While, cette dernière indexe le tableau de la même façon qu'une boucle For. Cependant, le nombre d'itérations exécutées par une boucle While n'est pas limité par la taille du tableau parce que la boucle While continue ses itérations jusqu'à ce qu'une condition spécifique ait lieu. Lorsqu'une boucle While poursuit l'indexation au-delà de la fin du tableau en entrée, la valeur par défaut du type d'élément du tableau est transmis à la boucle.

Vous pouvez empêcher que la valeur par défaut ne soit transmise à la boucle While en utilisant la fonction Taille d'un tableau. La fonction Taille d'un tableau indique combien d'éléments se trouvent dans le tableau. Configurez la boucle While pour qu'elle arrête de s'exécuter lorsque le nombre d'itérations est égal à la taille du tableau.

L'auto-indexation est désactivée par défaut pour les boucles While.
Astuce  Comme vous ne pouvez pas déterminer à l'avance la taille d'un tableau en sortie, l'activation de l'auto-indexation de la sortie est plus efficace pour une boucle For que pour une boucle While. De trop nombreuses itérations risquent d'utiliser toute la mémoire du système.

Rubriques apparentées

Boucle For

Boucle While

Types de données des commandes et des indicateurs

Concaténation automatique de tableaux sortant de boucles

Fonction Construire un tableau

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

Pas utile