LabVIEWForum.de - Elemente nach namen bündeln

LabVIEWForum.de

Normale Version: Elemente nach namen bündeln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

wenn ich verschiedene Elemente zu einem Cluster bündeln möchte und den einzelnen Elementen Namen vergeben möchte gehe ich momentan wie folgt vor:

- Elemente erstellen
- Elemente bündeln (nicht nach namen)
- Konstante erstellen am Ausgang der bündel-Funktion
- in deiser Konstante die Elemente beschriften
- "Elemente bündeln" ersetzen durch "Nach Namen bündeln"
- die Konstante als EIngangsCluster verwenden

Ich persönlich finde diesen Weg relativ umständlich. Gibt es da eine schnellere Variante?

LG
Torsten
Alternative (nicht wesentlich schneller):
Einen typdefinierten Cluster erstellen!

Vorteil: Wenn du mal was am Cluster neu erstellst, dann kriegt das ein Bundle by Name mit.

Gruß, Jens
Einfacher ist nur, die Funktione unbundle by names gar nicht zu verwenden, sonder nur unbundle. Man muß ja dort nicht alle Ausgänge anschließen. Und selbst wenn man nur ein einziges Element aus dem Cluster herauszieht, ist unbundle fast immer platzsparender als unbundle by names.
Die herausgezogenen Leitungen kann man z.B so beschriften:
[attachment=18115]
Dem der das VI verstehen will ist es Wurscht, wenn der Leitungsname nur so draufsteht und nicht echt ist. Es ist genau so hilffeich.
Das wird allerdings bei großen Clustern unübersichtlich wenn man aus 20 Elementen nur eines benötigt. Für mich ist das leider keine Alternative.
Bei kleinen Clustern sicherlich eine Überlegung wert.

LG
Torsten
Ich mache das so:

- Clusterrahmen einfügen und beschriften
- Bedienelement bearbeiten (customize control)
- Elemente einfügen (erstellen) und beschriften.
- Speichern als StrictTypeDef
- Aenderungen anwenden.
' schrieb:- Elemente erstellen
- Elemente bündeln (nicht nach namen)
- Konstante erstellen am Ausgang der bündel-Funktion
- in deiser Konstante die Elemente beschriften
- "Elemente bündeln" ersetzen durch "Nach Namen bündeln"
- die Konstante als EIngangsCluster verwenden

Ich mach es genau so, nur kannst du den Schritt "in dieser Konstante die Elemente beschriften" weglassen. Du kannst die Konstante direkt an "bundle by name" anhängen.
Obwohl der Weg von RoLe und JensG vorzuziehen wäre. Macht Änderungen erheblich einfacher, zumal wenn der Cluster an mehreren Orten im Code verwendet wird
Auch eine schöne Idee. Zwar etwas ressourcenfressender, würde mcih aber nciht erheblich stören. Schade nur, dass meine Elemente nicht als beschriftete Bedienelemente vorliegen. In meinem konkreten Fall ist es so, dass ich ein Langes Array mit allen Messwerten (unsortiert) habe. In einem SubVI werden die Messwerte sortiert und in Teilarrays untergliedert. Diese Arrays bündel ich dann zu nem Cluster. Die Array-Leitungen die aus den Funktionen ArrayIndizieren und TeilArray raus kommen, kann ich leider nicht beschriften.

LG
Torsten
Zitat:Ich mach es genau so, nur kannst du den Schritt "in dieser Konstante die Elemente beschriften" weglassen. Du kannst die Konstante direkt an "bundle by name" anhängen.
Also hier liegt wohl ein Missverständis vor. Wenn die Elementwerte, die gebundelt werden sollen, alle aus Bedienelementen mit vernünfigen Namen herauskommen - also so wie das bei Dir im Beispiel der Fall ist - dann wird doch die ganze Diskussion gegenstandslos. Dann bekommen die Elemente im Cluster automatisch eben diese Namen, und es besteht keinerlei Handlungsbedarf. (Oder deutlicher gesagt: Das Beispiel ist ein Nonsens-VI)
Es geht hier genau darum, daß Elementwerte nicht direkt aus beschrifteten Bedienelementen stammen, sondern z.B aus dem Ausgang eines Addieres, und demzufoge noch keinen Namen haben - zumindest keinen verwertbaren.
Ich mach es bei unbenamten Ausgängen genauso. Ich schliesse an die Ausgänge temporär ein Anzeigeelement an, bündel die, erstelle konstante, entferne die Anzeigeelemente und bündel nach Namen. Das spart mir die Benennung der Elemente in der Konstante, was IMHO recht mühsam und unübersichlich ist....

off-topic:
' schrieb:(Oder deutlicher gesagt: Das Beispiel ist ein Nonsens-VI)
wieso verkneifst du dir deine ewigen negativen Kommentare nicht? Es ist echt demoralisierend und das antworten auf Fragen wird einem verleidet...und so nonsense war es nicht, nur im missverstandenen Kontext....
Dein VI ist insofern Nonsense, da das Bündeln ohne Namen die Namen bei beschrifteten Elementen ohnehin mitnimmt. Anstatt dienem Weg (unterer teil meines Anhangs) kann man also auch einfach diese lösung verwenden (oberer teil des anhangs).

[attachment=18120]

Wenn ich deinen Vorschlag richtig verstanden habe, erstellst du also für jeden Kanal der gebündelt wird, ein Anzeigelement, benennst dieses und bündelst dann alles. Naja da ist der beschriftungsaufwand dann nciht mehr in der Clusterkonstanten sondern in den einzelnen anzeigeelementen oder?

LG
Torsten
Seiten: 1 2
Referenz-URLs