Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

définir dynamiquement le nom d'un cluster (étiquette)

Bonjour.

 

Sous environnement Labview 2010 SP1,

 

Je me demande si d'une manière ou d'une autre il serait possible de définir dynamiquement le nom (donc la valeur de l'étiquette), d'un cluster.

Le noeud de propriété Etiquette.valeur n'est pas disponible en écriture, en mode éxecution. Comme je l'ai lu dans un autre post, changer le nom d'un élément impliquerait une recompilation du code...

 

L'objectif serait de constuire un cluster "principal" composé des "n" clusters dynamiquement construits et désignés.

Ensuite je souhaiterais pouvoir faire appel à l'un des "n" clusters par "désassemblage par nom" du cluster "principal".

 

Une piste, voire une critique sur la manière de manipuler les données envisagée serait la bienvenue.

Merci d'avance.

 

Adrien

0 Compliments
Message 1 sur 11
4 141 Visites

Bonjour,

Plus couramment, pour réaliser cela, nous ajoutons une commande chaîne dans le modèle de cluster, et ainsi tu bases ta recherche sur cette commande pour savoir quelle information traiter 😉

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 2 sur 11
4 138 Visites

Merci pour la réponse rapide.

 

Je ne vois pas vraiment comment identifier lors du désassemblage du cluster principal, un des "n" clusters, par la valeur de sa commande chaîne...

Peux-tu développer un peu plus ?

 

Merci.

Adrien

 

 

0 Compliments
Message 3 sur 11
4 136 Visites

Voilà un petit exemple 😉

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 4 sur 11
4 132 Visites

Malheureusement je ne peux pas ouvrir un vi en version 2011.

Une image ?

 

Merci, à nouveau.

Adrien

0 Compliments
Message 5 sur 11
4 130 Visites

Désolé, j'avais pas fait attention à ta version.


Voici le fichier en LV 2010

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 6 sur 11
4 126 Visites

Si je comprends bien, cet exemple propose de créer une "table de correspondance" entre un nom de variable et sa valeur.

Pour accéder à la valeur d'une variable, il faut interroger la table des noms, récupérer l'index du nom, puis aller chercher la valeur par le même index, dans la table des valeurs.

 

J'aurais imaginé une version plus directe, ou en utilisant la fonction "désassembler par nom" je n'aurais plus qu'à selectionner ma variable dans la liste déroulante.

J'imagine que cela n'apporterait rien de plus qu'un peu de confort pour l'édition du code.

 

Pour l'instant je n'ai encore pas trouvé d'autre solution que de définir manuellement un cluster et son nom d'étiquette, pour chaque variable.

Ma liste de variable ne changera pas souvent, finalement. Ce ne sera pas un gros boulot que d'en ajouter une à l'occasion.

 

Merci pour ton aide.

Adrien

 

 

0 Compliments
Message 7 sur 11
4 120 Visites

A toi de voir, la méthode que je te propose à prouver ses performances dans le cadre de mes projets, et permet de minimiser le code au maximum.


Après si tu trouves mieux, je serais intéressé :).

 

Dans mon cas, ce type de VI me permet de gérer environ 1500 variables en parallèle dans mes programmes.

 

L'inconvénient de la méthode que tu proposes et que tu coupes la capacité d'évolutions de ton code pour la suite.

Et j'ai du mal à comprendre l'intérêt de ta méthode, mais si une fois fait tu peux fournir ton code, je comprendrais peut être mieux cela.

 

Bonne soirée,

Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 8 sur 11
4 113 Visites

bonsoir à tous, si je ne trompe pas (mais peut-être) je pense que tu devrais regarder vers "les attributs d'un variant".

A la place de créer "dynamiquement" des clusters, tu peux ajouter des attributs à un variant. La donnée de l'attribut peut alors être identifié (recherchée) par son nom. Le type de l'attribut est un variant, ce qui permet de faire "tout".

L'idée est donc de créer dynamiquement des attributs.

Nodes.png

 

 

Cette méthode de recherche est très rapide. La plus rapide cf le post de 2006 de la R&D de NI de Darren's Weekly Nugget 10/09/2006

 init.png

Add.png

Return.png

 

Cette méthode est décrite dans des posts Quick look up ! de Chris Roebuck

Using Variant Attributes for High-Performance Lookup Tables in LabVIEW de Elijah Kerry 

avec une évolution The LabVIEW Container de par Chris_Cilino

 

A discuter mais permet de créer un contenu dynamique, recherche par nom, et haute performance

A+

 

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

Message 9 sur 11
4 108 Visites

Oui très juste, je commence tout juste à utiliser cette méthode, et c'est vrai qu'elle a des plus gros avantages que la méthode précédente, car avec une définition de type, le potentiel d'évolution est phénoménal.


Mais pour l'instant, elle ne fait pas partie de mes automatismes, donc je n'y ai pas pensé 😄

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 10 sur 11
4 086 Visites