le 05-19-2016 06:38 AM
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
le 05-19-2016 06:53 AM
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 😉
le 05-19-2016 07:30 AM
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
le 05-19-2016 07:47 AM
Voilà un petit exemple 😉
le 05-19-2016 07:50 AM
Malheureusement je ne peux pas ouvrir un vi en version 2011.
Une image ?
Merci, à nouveau.
Adrien
le 05-19-2016 09:15 AM
Désolé, j'avais pas fait attention à ta version.
Voici le fichier en LV 2010
le 05-19-2016 10:53 AM
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
le 05-19-2016 02:32 PM
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
le 05-19-2016 03:38 PM
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.
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
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+
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
le 05-20-2016 01:43 AM
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é 😄