LabVIEWForum.de - übergabe von clustern durch subVI

LabVIEWForum.de

Normale Version: übergabe von clustern durch subVI
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Servous Leute,

ich brauche eure Hilfe. ich hab ein VI in diesem sollen über ein Cluster Werte eingegeben werden und einem anderen VI eingelesen. Dabei habe ich mir folgendes überlegt. ich möchte die Werte an eine subVI übergeben und dort eine Verbindung an den Ausgabe teil der SubVI aufbauen. Diese Ausgabewerte, werden sollen von einem anderen VI eingelesen werden und zum rechenen oder anderem verwendet werden. Dies klappt nicht. Könnt ihr mir paar tips geben, wie ich die Scripts (siehe Anhang) ausbessern kann, dass die klappt, wie ich das möchte!!!

MfG Anton

Anhang:

[attachment=7605]
Ich verstehe nicht ganz, was du genau vor hast. Wofür ein SubVI, das nur Werte vom Input-Connector zum Output-Connector durchschleift??
Häh? Was klappt denn nicht? Bahn

Gruss
Achim
naja. es war halt so eine überlegung.
' schrieb:naja. es war halt so eine überlegung.

Über was? Welchen Vorteil versprichst du dir davon? Eine einfache "Drahtverbindung" im VI durch ein SubVI zu ersetzen, dass genau das macht, was soll das bringen?
' schrieb:Dabei habe ich mir folgendes überlegt. ich möchte die Werte an eine subVI übergeben und dort eine Verbindung an den Ausgabe teil der SubVI aufbauen. Diese Ausgabewerte, werden sollen von einem anderen VI eingelesen werden und zum rechenen oder anderem verwendet werden.
Das was Du machen willst ist eine etablierte Methode, dieses SUB-VI welches die Daten gewissermaßen überträgt wird als "Funktionale globale Variable" bezeichnet.
Ich hänge hier Dir mal das grundlegende Beispiel für so ein SUB-VI ran, es dürfte Dir dann nicht schwer fallen, Das auf Dein Beispiel anzuwenden. Wenn nicht: melde Dich.
[attachment=7608]
' schrieb:Über was? Welchen Vorteil versprichst du dir davon? Eine einfache "Drahtverbindung" im VI durch ein SubVI zu ersetzen, dass genau das macht, was soll das bringen?


ich wollte halt eine möglichkein für die wertübergabe finden. aber ich hab jetzt eine andere lösung gefunden.

[attachment=7610]

Ich denke es ist viel einfacher und besser.

P.S.: binhalt noch ein Anfänger in LV


EDIT

Den Beitrag von Lucki, habe ich erst nach diesen Posting gelesen!!!
' schrieb:Das was Du machen willst ist eine etablierte Methode, dieses SUB-VI welches die Daten gewissermaßen überträgt wird als "Funktionale globale Variable" bezeichnet.
Ich hänge hier Dir mal das grundlegende Beispiel für so ein SUB-VI ran, es dürfte Dir dann nicht schwer fallen, Das auf Dein Beispiel anzuwenden. Wenn nicht: melde Dich.
[attachment=34332:Funktionale_GV.png]

ich hab mir mal das VI reingezogen, doch ein wollte ich noch dazu fragen. Wenn man globale Variablen verwendet, dann verlangsamt sich doch das System, wenn man viele Variablen hat. Oder?
Mit meinem Bsp. wollte ich versuchen, dies zu umgehen!!!
' schrieb:ich hab mir mal das VI reingezogen, doch ein wollte ich noch dazu fragen. Wenn man globale Variablen verwendet, dann verlangsamt sich doch das System, wenn man viele Variablen hat. Oder?
Mit meinem Bsp. wollte ich versuchen, dies zu umgehen!!!
Das ist ja gerade der Witz der Sache: Mit Deinem Beispiel lagst Du richtig, die Funktionalen Globalen Variablen sind gar keine, es sind normale Sub-VIs, und das Adjektiv "global" wird nur benutzt, um damit aufzuzeigen, daß sie globalen Variable ersetzen können.
Globale Variablen verlangsamen das System, ja. In die Praxis übersetzt heißt das aber nicht, daß man sie generell vermeiden sollte, sondern nur, daß man sie in der zeitkritischen Hauptschleife evtl. vermeiden sollte
Es ist auch ein gewisse eingefahrene Routine, jedem, der eine globale oder lokale Variable verwendet, die Verlangsamung des Programms unter die Nase zu reiben. Hingegen über Eigenschaftsknoten, deren Aufruf noch länger dauert, regt sich kein Mensch auf.
Weitere Informationen hier und im IBB-Forum: Googeln "Funktionale globale Variable" +LabVIEW
Danke für die Antwort, doch irgendwie komme ich mit dieser global-Geschichte nicht zu recht. ich hab bischen an meinen Programm rumgebastelt, doch eins krieg ich nicht auf die Reihe, dass aus dem SubVI das Cluster an das MainVI übergeben wird. ich wollte das über die auswahl von den Anschlüssen lösen, doch dies klappt nicht ganz. wo ist der Fehler drin. könnt ihr mir das sagen??? Bitte

Hier sind die bearbeiteten VIs.

[attachment=7619]

P.S.: Lasst euch nicht von der Case-Funktion beirren, sie ist nur dafür da, um das Fenster zu schließen. Wenn ihr bei der Clusterübergabe helfen könntet, wäre das echt geil!!! :-)
Seiten: 1 2
Referenz-URLs