LabVIEWForum.de
Dynamische lokale Variable? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Dynamische lokale Variable? (/Thread-Dynamische-lokale-Variable)

Seiten: 1 2 3


Dynamische lokale Variable? - Benjamin Fuchs - 17.08.2007 09:26

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


Dynamische lokale Variable? - eg - 17.08.2007 09:34

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


Dynamische lokale Variable? - Lucki - 17.08.2007 09:44

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.


Dynamische lokale Variable? - eg - 17.08.2007 09:47

' 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


Dynamische lokale Variable? - Lucki - 17.08.2007 09:55

' 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.


Dynamische lokale Variable? - Benjamin Fuchs - 17.08.2007 10:43

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.


Dynamische lokale Variable? - Benjamin Fuchs - 17.08.2007 13:39

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


Dynamische lokale Variable? - eg - 17.08.2007 13:53

Bahn

Meinst du sowas?

eg


Dynamische lokale Variable? - Achim - 17.08.2007 14:31

[attachment=8159][attachment=8160]


Meinst du sowas?


Dynamische lokale Variable? - Achim - 17.08.2007 14:38

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

By the way:

Für was hälst du LabVIEW?Fight