LabVIEWForum.de - Array über VI-Aufruf als Referenz ans SubVI übergeben

LabVIEWForum.de

Normale Version: Array über VI-Aufruf als Referenz ans SubVI übergeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

mir stellt sich dezeit folgende Frage. Ich habe ein MainVI in dem der Benutzer rumpfuschen kann. In diesem werden aufgrund verschiedenster Events dann VIs aufgerufen. In einem der SubVIs rufe ich das unterste VI, nicht wie normal durch reinziehen ins Blockdiagramm, sondern über den Namen auf und öffne es, damit der Bediener prallel in Main- und SubVI arbeiten kann. Im aufgerufenen SubVI steuere ich nun meine Hardware an. Dafür brauche ich Informationen über Subdevice, Channels usw. Ich muss also ein mehrdimensionales Array zur Verfügung stellen.

Kann ich dieses Array nun einfach als Referenz vom Main ans SubVI übergeben? Und wenn ja, wie? Als Value?

Danke schonmal im voraus.

Gruß, NafeZ
' schrieb:Kann ich dieses Array nun einfach als Referenz vom Main ans SubVI übergeben?
Klar.

Das Array als (stricten) Typ definieren. Das hat bei späteren Anpassungen Vorteile. Vom Bedien/AnzeigeElement des Arrays eine Referenz erstellen. An dieser Referenz ein Bedienelement erstellen. Dieses Element in das SubVI kopieren und als Eingang deklarieren. Dann kannst du mit dieser Referenz praktisch arbeiten wie mit einen Datendraht.

Ich würde aber von dieser Methode abraten - und lieber eine FGV verwenden.
' schrieb:Das Array als (stricten) Typ definieren.
Wie?

' schrieb:Ich würde aber von dieser Methode abraten - und lieber eine FGV verwenden.
FGV? MFG & WTF?Big Grin
' schrieb:Wie?
Kontextmenü des Elements öffnen. Dort Fortgeschritten>Anpassen ... auswählen.

Zitat:FGV
Funktionale, globale Variable.
Guckst du die Themen, die darüber gerade geführt werden. FGVs sind Datenspeicher in SubVIs (Case-Sequenz in While-Schleife mit Schieberegister). Du kannst also in deinem MainVI die Variable beschreiben und in deinem SubVI auslesen.

Und noch eins:
Rumfpuschen macht sich in technischen Beschreibungen ganz schlecht. Davon bekommt man meistens Kopfschmerzen.
' schrieb:Kontextmenü des Elements öffnen. Dort Fortgeschritten>Anpassen ... auswählen.
Danke!

' schrieb:Funktionale, globale Variable.
Guckst du die Themen, die darüber gerade geführt werden. FGVs sind Datenspeicher in SubVIs (Case-Sequenz in While-Schleife mit Schieberegister). Du kannst also in deinem MainVI die Variable beschreiben und in deinem SubVI auslesen.
Also würde ich so drum rum kommen alle meine SubVIs durch die ensprechenenden Referenzen für mein Feld zu ergänzen. Seh ich das richtig? Somit könnte ich mir eine Menge Arbeit und Zeit sparen. Kennst du ein gutes Tutorial zu FGV?

' schrieb:Und noch eins:
Rumfpuschen macht sich in technischen Beschreibungen ganz schlecht. Davon bekommt man meistens Kopfschmerzen.
Ich werds beim nächsten mal beherzigen.Big Grin
' schrieb:Also würde ich so drum rum kommen alle meine SubVIs durch die ensprechenenden Referenzen für mein Feld zu ergänzen. Seh ich das richtig?
Jawohl.

Zitat:Somit könnte ich mir eine Menge Arbeit und Zeit sparen.
Und wie viel Arbeit und Zeit! Es ist nicht nämlich nicht gerade trivial, mittels einer Referenz auf ein Array, das auch noch Cluster enthält, die gewünschten Daten aus dem Cluster zu holen.
Referenz-URLs