Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
29.04.2009, 16:13 (Dieser Beitrag wurde zuletzt bearbeitet: 29.04.2009 19:55 von jg.)
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:
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
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
30.04.2009, 08:28 (Dieser Beitrag wurde zuletzt bearbeitet: 30.04.2009 08:29 von RoLe.)
' 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
In theory, there is no difference between theory and practice; In practice, there is.
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
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
30.04.2009, 09:10 (Dieser Beitrag wurde zuletzt bearbeitet: 30.04.2009 09:14 von Lucki.)
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....
In theory, there is no difference between theory and practice; In practice, there is.
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).
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
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)