Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich habe ein Vi geschrieben.
Das Vi bekommt 2 Arrays "übergeben". Diese Arrays werden unter anderem in mehreren "For Loop-Schleifen" und "Cases" verarbeitet.
Zwischen den Schleifen findet eine Variablenübergabe mit "lokalen Variablen" statt.
Dieses Vi funktioniert auch soweit.
Jetzt möchte ich daraus ein SubVi machen.
Wenn ich die Fuktion im Menü "Edit" "Create SubVi" nutze, dann werden die lokalen Vaiablen in References umgewandelt.
Wie bleiben die lokalen Vaiablen erhalten? Denn die Variablen werden nur in diesem Vi benutzt.
ich würde einfach keine lokalen Variablen benutzen. Ansonsten wird Dir nichts anderes übrig bleiben als die Referenzen wieder durch neuerstellte Variablen zu ersetzen.
das Problem liegt einfach darin, daß Du wahrscheinlich vor dem Erstellen des Sub-VIs die lokalen Variablen mit markiert hast.
Wenn Du nur die Sub-VIs und Operatoren des Algorithmus' markierst (ggf. mußt Du die lokalen Variablen weiter auseinander ziehen) und dann im Menü Edit ein Sub-VI erstellst, bleiben die Variablen im übergeordneten VI erhalten und es werden im neu erstellten Sub-VI neue Bedienelemente angelegt.
gibt es denn eine andere Lösung die Zwischenwerte, die ich in den ersten Schleifen ermittelt habe, separat abzuspeichern und dann an die anderen Schleifen zu übergeben?
Um etwas konkreter zu werden:
Ich habe 2 for Schleifen, die 2 2-dim Array in 3 1-dim Arrays nach einer bestimmten Vorgabe splitten(neu zusammensetzt).
Diese 3 1-dim Arrays habe ich als lokale Variablen, weil dann diese in 3 unterschiedlichen for-Schleifen berechnet werden.
Wie kann ich also die Übergabe noch erreichen?
Denn das ganze will ich als SubVi haben, weil ih diese Prozedur meheremale vollziehen muß, und mein Bildschirm nur noch überfrachtet aussieht. Eine Zoom-Funktion gibt es ja leider nicht in LabVIEW.
Falls keine Idee mehr parat, schade, aber deenoch Danke für die Hilfe!
Zitat:gibt es denn eine andere Lösung die Zwischenwerte, die ich in den ersten Schleifen ermittelt habe, separat abzuspeichern und dann an die anderen Schleifen zu übergeben?
Hi!
Du hast in LV die Möglichkeit, bei Schleifen Schieberegister einzusetzen. Schau dir am besten mal die Bilder von mir und Eugen in diesem Thread an.
danke für die Antwort.
Jedoch helfen hier nach meiner Ansicht Schieberegister nicht weiter, da ich ja 2 Schleifen habe und nicht nur eine.
Kann mich aber auch irren (bitte dann um Hilfe), da ich in LV neu bin.
danke für die Bildchen. Die Lösung klappt soweit.
Ist zwar nicht ganz so, wie ich es mir vorgestellt habe (lokale Variable soll innerhalb des SubVi stehen ohne "Conector"), aber ich nehme auch das.