LabVIEWForum.de - Dynamische lokale Variable?

LabVIEWForum.de

Normale Version: Dynamische lokale Variable?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,

ich habe folgendes Problem in LabVIEW (8.20) zu lösen:

Ich übergebe einen Cluster mit Elementen. Nun möchte ich eine "Lokale Variable" dynamisch nach dem (z. B.) 4. Elementenamen bennen und diese dann mit einem anderen Clusterelement bzw. einer konstanten belegen.

Ich könnte alternativ auch ein Array mit den Elementen benutzen?

Gibt es für diese Problemstellungen Lösungsansätze in labVIEW?


Grüße aus Nürnberg
Ich nehme dazu zwar keine Variable, sondern z.B. eine Queue. Aber auch mit Variablen sollte es funktionieren. Du kannst deine Variable vom Typ String oder Variant machen. Ich mache es normalerweise über String, weil es weniger(?) Speicherplatz braucht. Dann kannst du mit Flatten to/Unflatten from String deine "variable" Variable lesen und schreiben.

eg
Du kannst zwar keine lokale Variable, aber etwas Gleichwertiges, nämlich die Eigenschaft "Wert", von jedem einzelnen Element das Clusters erstellen.
Auf dem Frontpanel das Element im Cluster auswählen --> Erzeuge --> Eigenschaftsknoten --> Wert
Ebenso kannst Du Dich bei Ereignissen nicht nur auf den Cluster insgesamt, sondern auch auf ein einzelnes Element beziehen.
Diese Verfahrensweise müßte auch mit anderen Clusterelement-Eigenschaften funktionieren.
' schrieb:Du kannst zwar keine lokale Variable, aber etwas Gleichwertiges, nämlich die Eigenschaft "Wert", von jedem einzelnen Element das Clusters erstellen.
Auf dem Frontpanel das Element im Cluster auswählen --> Erzeuge --> Eigenschaftsknoten --> Wert
Ebenso kannst Du Dich bei Ereignissen nicht nur auf den Cluster insgesamt, sondern auch auf ein einzelnes Element beziehen.


Hmm, habe ich die Frage komplett falsch verstanden? Hmm
' schrieb:Hmm, habe ich die Frage komplett falsch verstanden? Hmm
Weiß nicht, ich zweifle genauso so, vielleicht liege ich komplett falsch.

@Benjamin: Vorsicht mit der Bezeichnung "dynamisch". Das ist ein Datentyp von LabVIEW in Verbindung mit Express-VIs, und das meinst Du hier wohl nicht.
Hallo,

mit dynamisch meinte ich keine LabVIEW Eigenschaft sondern den Fachausdruck aus "C":)

Vielen Dank für die Infos werde ich später gleich mal probieren ob ich damit weiterkomme.
Also leider habe ich das Problem noch nicht lösen können. Deshalb beschreib ich mal etwas genauer meine Problemstellung.

Ich habe im Haupt VI 16 Anzeigeelemente (Bool)
- Anzeige 1
- Anzeige 2
- Anzeige 3
...
- Anzeige 16
Sowie ein Eingabefeld (Numeric) [Wertebereich 1-16]

Nun möchte ich ein Sub VI haben das als Eingang das Numeric Feld bekommt (z.B 8)
und als Ausgabe ambesten nichts.

Das Sub VI soll nun in diesem Fall "Anzeige 8" auf True setzen (am besten noch alle anderen auf false).

In Höheren programmiersprachen würde ich dies so machen:

$anzeigetemp = "Anzeige " + $numeric;
$$anzeigetemp = "true";


Wie kann ich dies in LabVIEW lösen?
Kann ein SubVI auf lokale Variablen bzw die Anzeigeelemente des Haupt VIs zugreifen?
Wenn ja wie? Wenn nein, muss ich dem SubVI z.B. in einem Array alle änderbaren Möglichkeiten übergeben und greife dann mit der numeric auf den entsprechenden index zu?
Wie gehe ich dann im Haupt VI mit dem zurückgegebenen Array um?

Vielen Dank für die freundliche Hilfe
Bahn

Meinst du sowas?

eg
[attachment=8159][attachment=8160]


Meinst du sowas?
' schrieb:In Höheren programmiersprachen würde ich dies so machen:

By the way:

Für was hälst du LabVIEW?Fight
Seiten: 1 2 3
Referenz-URLs