LabVIEWForum.de
Ist Variable die einzige Möglichkeit? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Ist Variable die einzige Möglichkeit? (/Thread-Ist-Variable-die-einzige-Moeglichkeit)



Ist Variable die einzige Möglichkeit? - Hasenfuss - 12.01.2013 13:40

Hi Leuts,

wenn ich die Funktion Cluster nach Namen bündeln verwende und das Ergebnis in einen "Ausgangs-Cluster" ablegen möchte, muss ich vorher sagen, wie der Cluster aufgebaut werden soll - also muss ein Eingangs-Cluster eingeführt werden.

Damit das jetzt so funktioniert, habe ich eine Variable auf den Ausgangscluster erzeugt und den daran gehängt. Ist dies die einzige Möglichkeit - mit so einer Variablen zu arbeiten oder gibt es noch eine andere Variante (jetzt nicht per Hand einen gleich aufgebauten cluster erzeugen, den ich manuell anpassen müsste, wenn ich den eigentl. Cluster verändere vom Aufbau)?


RE: Ist Variable die einzige Möglichkeit? - Trinitatis - 12.01.2013 14:15

Hallo Hasenfuß,

ich glaub´, wir sind hier die beiden einzigen ChatterSmile

Du kannst auch die Funktion Bündeln verwenden, da brauchst du nur alles an die Eingänge zu drahten, was rangehört. Wichtig ist hierbei die Reihenfolge. Wenn du auf dem FP mal mit der rechten Maus an den Clusterrand geehst und im Kontextmenü wählst: "Bedienelemente neu anordnen", dann siehst du die Reihenfolge der Elemente im Cluster und kannst sie auch verändern. Genau diese Reihenfolge musst du auch beim Bündeln verwenden.


Gruß, Marko


RE: Ist Variable die einzige Möglichkeit? - GerdW - 12.01.2013 14:49

Hallo Hasenfuss,

andere Möglichkeiten:
- Cluster sollten eigentlich immer typdefiniert sein - dann erstellt man einfach eine Konstante der Typdefinition und nimmt diese (am besten noch in "Icon"-Ansicht)
- innerhalb von Schleifen (da ist man eigentlich immer innerhalb eines MainVIs) schleift man einen solchen Cluster immer irgendwo durch: man hat also einen Eingangscluster gleichen Typs zur Verfügung, in dem man einige oder alle Elemente mittels BundleByName ersetzen kann


RE: Ist Variable die einzige Möglichkeit? - Lucki - 12.01.2013 14:51

Nein, die besssere Möglichkeit ist eine Konstante statt der lokalen Variablen zu erzeugen. Dort noch mit der rechten Maustaste "Als Symbol einzeigen" klicken, dann hat man anstelle der oft riesengroßen Cluster-Konstanten nur noch ein winzig kleines Symbol.
Edit: Typdefinition wie von Gerd vorgeschlagen ist natürich nie falsch. Wirklich vorteilhaft ist das, wenn der Typ mehrere Male zum Einsatz kommt. Wenn das nur die erzeugte Konstante ist, dann bringe es lediglich den Vorteil, dass man die Elementnamen noch ändern kann, ohne parallel dazu die Konstante ändern zu müssen. Als kleinen Nachteil hat man natürlich für jede Typisierung eine zusätzliche Datei im Projekt.


RE: Ist Variable die einzige Möglichkeit? - Hasenfuss - 12.01.2013 18:17

(12.01.2013 14:51 )Lucki schrieb:  ...
Edit: Typdefinition wie von Gerd vorgeschlagen ist natürich nie falsch. Wirklich vorteilhaft ist das, wenn der Typ mehrere Male zum Einsatz kommt. Wenn das nur die erzeugte Konstante ist, dann bringe es lediglich den Vorteil, dass man die Elementnamen noch ändern kann, ohne parallel dazu die Konstante ändern zu müssen. Als kleinen Nachteil hat man natürlich für jede Typisierung eine zusätzliche Datei im Projekt.

In der Tat hatte ich diesen Cluster schon als strikte Typdefinition erstellt, weil der noch in nem anderen VI verwendet werden soll. Wenn ich jetzt eine Konstante davon erzeuge - muss ich die Konstante dierekt von der CTL-Datei ableiten, um einen Bezug zu der zu haben, fals ich den Cluster aus der TypDef mal ändere? Ich habe mir dort vorher mit Element auswählen die Cluster-Typdefinition geholt - kann ich jetzt einfach auch von dort diesem Element eine Konstante erzeugen - die dann noch einen Bezug zur strikten TypDef. behält oder könnte der Bezug auch irgendwie verloren gehen (ich mein jetzt damit nicht das Auswahl-Feld von Typdefinition trennen - das hab ich schon mal gehabt)?


RE: Ist Variable die einzige Möglichkeit? - unicorn - 12.01.2013 20:58

Eine Typdefinition (oder auch strikte ~) geht normalerweise nicht verloren.

Ein Konstante aus einem Frontpanel-Terminal erzeugt hat wieder die Typdefinition.

In LabView 2012 ist das vorhandensein einer Typdefinition durch ein schwarzes Dreieck (Terminal) oder dunkelgraues Dreieck (Konstante) gekennzeichnet.

Wenn nicht weiß, welche Typdefinition vorliegt, muss man eben über das Kontextmenu die Typdefinition öffnen.

Falls die Konstante, die die Funktion "Cluster nach Namen bündeln" steuert, eine andere Typdefinition hat als das danach angeschlossene Terminal gibt einen "broken wire" (außer sie haben zufällig die gleichen Elemente in der gleichen Reihenfolge, dann gibt's nur 'nen roten Typ-Umwandlungs-Punkt)