Groupage des données avec des tableaux et des clusters

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)

Utilisez les commandes et les fonctions de tableaux et de clusters pour grouper des données. Les tableaux regroupent les éléments de données du même type. Les clusters regroupent des éléments de données de types différents.

Tableaux

Un tableau est défini par des éléments et des dimensions. Les éléments sont les données qui constituent le tableau. Une dimension est la longueur, la hauteur ou la profondeur d'un tableau. Un tableau peut avoir une ou plusieurs dimensions et jusqu'à (231) – 1 éléments par dimension, si la mémoire le permet.

Vous pouvez construire des tableaux de données numériques, de booléens, de chemins, de chaînes, de waveforms et de clusters. Pensez à utiliser des tableaux lorsque vous travaillez avec beaucoup de données semblables et lorsque vous effectuez des calculs répétitifs. Les tableaux sont utiles pour stocker des données provenant de waveforms ou générées dans des boucles, où chaque itération d'une boucle produit un élément du tableau. Vous pouvez exporter des données de tableaux vers des emplacements comme Microsoft Excel. Cliquez avec le bouton droit sur un tableau, et sélectionnez Exporter dans le menu local pour voir les options d'exportation disponibles.

Remarque  Les indices de tableau dans LabVIEW commencent à la valeur zéro. L'indice du premier élément du tableau, quelle que soit sa dimension, est zéro.

Restrictions

Il n'est pas possible de créer des tableaux de tableaux. Vous pouvez néanmoins utiliser un tableau multidimensionnel ou créer un tableau de clusters où chaque cluster contient un ou plusieurs tableaux. Par ailleurs, vous ne pouvez pas créer un tableau de commandes face-avant secondaire, de commandes onglets, de contrôles .NET ou ActiveX, de graphes déroulants, de graphes XY multitracés ou de listes multicolonnes.

Indices

Pour repérer un élément précis dans un tableau, vous avez besoin d'un indice par dimension. Dans LabVIEW, les indices vous permettent de naviguer dans un tableau et de récupérer des éléments, des lignes, des colonnes et des pages d'un tableau sur le diagramme.

Exemples de tableaux

Un exemple de tableau simple est un tableau de texte qui répertorie les huit planètes du système solaire. LabVIEW le représente comme un tableau de chaînes 1D à huit éléments.

Les éléments d'un tableau sont ordonnés. Un tableau utilise un indice pour vous permettre d'accéder facilement à un élément particulier. L'indice est basé sur zéro, ce qui signifie qu'il se trouve dans la gamme de 0 à n – 1, où n est le nombre d'éléments du tableau. Dans cet exemple, n = 8 pour les neuf planètes, et la gamme de l'indice va de 0 à 7. La terre est la troisième planète ; elle a donc l'indice 2.

Un autre exemple de tableau est un signal représenté par un tableau numérique dans lequel les éléments consécutifs représentent la valeur de la tension à intervalles de temps donnés, comme illustré par l'illustration suivante.

Un exemple plus complexe de tableau est un graphe représenté par un tableau de points, où chaque point est un cluster contenant une paire de valeurs numériques qui représentent les coordonnées X et Y, comme illustré par l'illustration suivante.

Les exemples précédents utilisent des tableaux 1D. Un tableau 2D stocke des éléments dans une grille. Pour repérer un élément, vous avez besoin d'un indice de colonne et d'un indice de ligne, les deux commençant à zéro. L'illustration suivante montre un tableau 2D à 8 colonnes et 8 lignes contenant 8 × 8 = 64 éléments.

Par exemple, un échiquier comporte huit colonnes et huit lignes pour un total de 64 positions. Chaque position est vide ou contient une pièce d'échec. Vous pouvez représenter un échiquier comme un tableau 2D de chaînes. Chaque chaîne correspond au nom de la pièce qui occupe la position correspondante sur l'échiquier, ou à une chaîne vide si cette position est vide.

Vous pouvez généraliser les exemples de tableaux 1D précédents pour les tableaux à deux dimensions en ajoutant une ligne au tableau. L'illustration suivante présente un ensemble de waveforms représenté par un tableau 2D de valeurs numériques. L'indice de ligne sélectionne le signal et l'indice de colonne sélectionne un point du signal.

Reportez-vous au projet labview\examples\Arrays\Arrays.lvproj pour consulter des exemples d'utilisation de tableaux.

Création de commandes, d'indicateurs et de constantes tableau

Créez une commande ou un indicateur tableau sur la face-avant en y plaçant un tableau vide, illustré dans la face-avant suivante, et en y faisant glisser un élément ou un objet de données, lequel peut être une commande ou un indicateur numérique, booléen, chaîne, chemin, refnum ou cluster.

Le tableau vierge se redimensionne automatiquement pour s'adapter au nouvel objet.

Pour créer une constante tableau sur le diagramme, sélectionnez une constante tableau sur la palette Fonctions, positionnez le tableau vide sur le diagramme et placez-y une constante chaîne, une constante numérique une constante booléenne ou une constante cluster. Vous pouvez utiliser une constante tableau pour enregistrer les données d'une constante ou pour effectuer une comparaison avec un autre tableau.

Création de tableaux multidimensionnels

Pour ajouter un tableau multidimensionnel sur la face-avant, effectuez un clic droit sur l'afficheur d'indice et sélectionnez Ajouter une dimension dans le menu local. Vous pouvez aussi redimensionner l'afficheur d'indice jusqu'à ce que vous obteniez le nombre de dimensions souhaité. Pour supprimer des dimensions une par une, cliquez avec le bouton droit sur l'afficheur d'indice et sélectionnez Supprimer une dimension dans le menu local. Vous pouvez aussi redimensionner l'afficheur d'indice pour supprimer les dimensions.

Pour afficher un élément particulier sur la face-avant, tapez le numéro de l'indice dans l'afficheur de l'indice ou utilisez les flèches sur l'afficheur de l'indice pour parvenir à ce numéro.

Par exemple, un tableau 2D contient des lignes et des colonnes. Comme l'illustre la face-avant suivante, l'afficheur supérieur de gauche correspond à l'indice de ligne et l'afficheur inférieur correspond à l'indice de colonne. L'affichage combiné à droite de l'affichage des lignes et colonnes présente la valeur à la position spécifiée. La face-avant suivante indique que la valeur à l'intersection de la ligne 6 et de la colonne 13 est 66.

1 Indice de ligne
2 Indice de colonne
3 Valeur à ligne, colonne

Les indices de ligne et de colonne démarrent à zéro, ce qui signifie que la première colonne est la colonne 0, la deuxième colonne est la colonne 1, etc. Ainsi, lorsque vous changez les afficheurs d'indice du tableau suivant sur ligne 1 et colonne 2, une valeur de 6 s'affiche.

0 1 2 3
4 5 6 7
8 9 10 11

Si vous essayez d'afficher une colonne ou une ligne hors de la gamme des dimensions du tableau, la commande de tableau est grisée pour indiquer l'absence de valeur définie et LabVIEW affiche la valeur par défaut du type de données. La valeur par défaut du type de données dépend du type de données du tableau.

Utilisez l'outil Flèche pour redimensionner le tableau et afficher plusieurs lignes ou colonnes à la fois.

Vous pouvez aussi utiliser les barres de défilement d'un tableau pour atteindre un élément particulier. Cliquez avec le bouton droit sur le tableau et sélectionnez Éléments visibles»Barre de défilement verticale ou Éléments visibles»Barre de défilement horizontale dans le menu local pour afficher des barres de défilement pour le tableau.

Remarque  Dans LabVIEW, les fonctions de tableau accèdent aux données des tableaux dans l'ordre "row-major". Dans un tableau 2D, la ligne est le premier indice, ou indice majeur. La colonne est le dernier indice, ou indice mineur. Dans les tableaux à plus de deux dimensions, la colonne reste le dernier indice et d'autres indices majeurs sont ajoutés avant. Par conséquent, vol est le premier indice, suivi par page, ligne, et colonne. Ces noms sont les identifiants des indices ; ils n'ont pas d'autre signification.

Fonctions de tableau

Utilisez les fonctions Tableau pour créer et manipuler des tableaux. Par exemple, vous pouvez effectuer des tâches semblables aux suivantes :

  • Extraire des éléments de données d'un tableau.
  • Insérer, supprimer ou remplacer des éléments de données dans un tableau.
  • Diviser des tableaux.

Utilisez la fonction Construire un tableau pour construire un tableau par programmation. Vous pouvez également utiliser une boucle pour construire un tableau.

Reportez-vous aux astuces de la Liste de vérification de style LabVIEW pour minimiser l'usage de la mémoire lorsque vous utilisez des fonctions de tableau dans une boucle.

Redimensionnement automatique des fonctions de tableaux

Les fonctions Indexer un tableau, Remplacer une portion d'un tableau, Insérer dans un tableau, Supprimer une portion d'un tableau et Sous-ensemble d'un tableau se redimensionnent automatiquement pour correspondre aux dimensions du tableau en entrée que vous câblez. Par exemple, si vous câblez un tableau 1D à l'une de ces fonctions, la fonction affiche une entrée d'indice unique. Si vous câblez un tableau 2D à la même fonction, elle affiche deux entrées d'indice : une pour la ligne et une pour la colonne.

Vous pouvez accéder à plusieurs éléments ou à un sous-tableau (ligne, colonne ou page) avec ces fonctions, en utilisant l'outil Flèche pour redimensionner manuellement la fonction. Lorsque vous développez une de ces fonctions, les fonctions s'étendent de façon incrémentale en fonction des dimensions du tableau câblé à la fonction. Si vous câblez un tableau 1D à l'une de ces fonctions, la fonction s'agrandit d'une entrée d'indice unique. Si vous câblez un tableau 2D à la même fonction, elle s'agrandit de deux entrées d'indice : une pour la ligne et une pour la colonne.

Les entrées d'indice que vous câblez déterminent la forme du sous-tableau que vous voulez atteindre ou modifier. Par exemple, si l'entrée d'une fonction Indexer un tableau est un tableau 2D et que vous ne câblez que l'entrée indice (ligne), une ligne 1D entière est extraite du tableau. Si vous ne câblez que l'entrée indice (col), une colonne 1D entière est extraite du tableau. Si vous câblez l'entrée indice (ligne) et l'entrée indice (col), un élément unique est extrait du tableau. Chaque groupe d'entrées est indépendant et peut accéder à n'importe quelle partie d'une dimension du tableau.

Le diagramme suivant utilise la fonction Indexer un tableau pour récupérer une ligne et un élément d'un tableau 2D.

Pour accéder à plusieurs valeurs consécutives dans un tableau, étendez la fonction Indexer un tableau, mais ne câblez pas les valeurs aux entrées de l'indice dans chaque incrément. Par exemple, pour récupérer les première, deuxième et troisième lignes d'un tableau 2D, étendez la fonction Indexer un tableau de trois incréments et câblez les indicateurs de tableau 1D à chaque sortie du sous-tableau.

Données par défaut dans les tableaux

L'indexation au-delà des limites d'un tableau produit la valeur par défaut pour le paramètre élément du tableau. Vous pouvez utiliser la fonction Taille d'un tableau pour déterminer la taille d'un tableau.

Vous pouvez indexer accidentellement au-delà des limites d'un tableau en indexant un tableau au-delà du dernier élément en utilisant une boucle While, en fournissant une valeur trop grande à l'entrée indice d'une fonction Indexer un tableau ou en fournissant un tableau vide à une fonction Indexer un tableau.

Clusters

Les clusters regroupent des éléments de données de types différents. Le cluster d'erreur LabVIEW est un exemple de cluster ; il comprend une valeur booléenne, une valeur numérique et une chaîne. Les clusters sont semblables aux enregistrements ou aux structures des langages de programmation textuels.

L'assemblage de plusieurs éléments de données dans des clusters évite d'encombrer le diagramme et réduit le nombre de terminaux de connexion nécessaires pour les sous-VIs. Le connecteur peut avoir un maximum de 28 terminaux. Si votre face-avant contient plus de 28 commandes et indicateurs qui seront utilisés par un autre VI, regroupez certains d'entre eux dans un cluster et affectez le cluster à un terminal du connecteur.

La plupart des clusters sur le diagramme possèdent un modèle de fil de liaison et un terminal de type de données roses. Les clusters d'erreur ont un modèle de fil et un terminal de type de données jaune foncé. Les clusters de valeurs numériques, appelés parfois des points, possèdent un modèle de fil de liaison et un terminal de type de données marron. Vous pouvez câbler les clusters numériques marron aux fonctions numériques, comme Additionner ou Racine carrée, pour réaliser la même opération simultanément sur tous les éléments du cluster.

Ordre des éléments d'un cluster

Bien que les éléments des clusters et des tableaux soient ordonnés, vous pouvez désassembler tous les éléments d'un cluster en même temps en utilisant la fonction Désassembler. Vous pouvez utiliser la fonction Désassembler par nom pour désassembler les éléments d'un cluster d'après leur nom. Si vous utilisez la fonction Désassembler par nom, tous les éléments du cluster doivent avoir une étiquette. Les clusters diffèrent également des tableaux dans la mesure où leur taille est fixe. Comme un tableau, un cluster est soit une commande soit un indicateur. Un cluster ne peut pas contenir simultanément des commandes et des indicateurs.

Les éléments de cluster possèdent un ordre logique qui n'est pas lié à leur position dans le cluster. Le premier objet que vous placez dans le cluster est l'élément 0, le deuxième est l'élément 1 et ainsi de suite. Si vous supprimez un élément, l'ordre est automatiquement ajusté. L'ordre du cluster détermine l'ordre dans lequel les éléments s'affichent comme terminaux sur les fonctions Assembler et Désassembler du diagramme. Vous pouvez afficher et modifier l'ordre du cluster en effectuant un clic droit sur le cadre du cluster et en sélectionnant Changer l'ordre des commandes du cluster dans le menu local.

Pour pouvoir câbler un cluster à un autre, les deux clusters doivent avoir le même nombre d'éléments. Les éléments correspondants, déterminés par l'ordre du cluster, doivent avoir des types de données compatibles. Par exemple, si une valeur numérique à virgule flottante double précision contenu dans un cluster correspond, d'un point de vue ordre de cluster, à une chaîne dans un autre cluster, le fil de liaison sur le diagramme apparaît brisé et le VI ne s'exécute pas. Si les valeurs numériques ont des représentations différentes, LabVIEW les contraint à la même représentation.

Fonctions de cluster

Utilisez les VIs et fonctions Cluster, classe & variant pour créer et manipuler des clusters. Par exemple, vous pouvez effectuer des tâches semblables aux suivantes :

  • Extraire des éléments de données individuels d'un cluster.
  • Ajouter des éléments de données individuels à un cluster.
  • Décomposer un cluster en ses différents éléments de données.

Création de commandes, d'indicateurs et de constantes cluster

Créez une commande ou un indicateur cluster sur la face-avant en y plaçant un cluster vide, comme dans la figure suivante, et en y faisant glisser un élément ou un objet de données, comme une commande ou un indicateur numérique, booléen, chaîne, chemin, refnum ou cluster.

Pour créer une constante cluster sur le diagramme, sélectionnez une constante cluster sur la palette Fonctions, positionnez le cluster vierge sur le diagramme et mettez-y une constante chaîne, une constante numérique, une constante booléenne ou une constante cluster. Vous pouvez utiliser une constante cluster pour stocker des données de constantes ou pour effectuer une comparaison avec un autre cluster.

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

Pas utile