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!
Hallo LVF'ler,
ich habe folgendes Problem:
In einem Sub VI ist ein Wert zu verändern, der bei erneutem Aufruf des Sub Vi's aus dem Hauptprogramm diesem Sub VI wieder zur Verfügung gestellt werden soll. Ich habe das ganze mit einer Schleife probiert. Sprich in der Schleife wird das Sub Vi aufgerufen der geänderte Wert wird aus dem SUB Vi als Ausgang bereit gestellt und mittels Schieberegister wieder in das Sub Vi eingelesen. doch jedes mal wenn ich versuche diesen Wert zu ändern wird er zurück gesetzt. Ist ja auch logisch da beim Aufruf des Sub VI's das Schieberegister mit dem Wert 0 eingelesen wird. Kennt jemand vielleicht einen Trick, so dass es trotzdem funktioniert!? Anbei ein Screenshot und die VI's.
Hallo Achim,
also dieser kleine Ausschnitt ist Teil eines umfangreichen Programms! Das Control "NumerischesElement" soll mir helfen ein Offset einzustellen. Da der Messwert aber schwankt ist es nicht sinnvoll den Offset am Anfang festzulegen!
Daher wollte ich eine dynamische Offset Einstellung realisieren die mir gleichzeitig das Offset anzeigt und diesen zum Messwert hin zu addiert!
Das Beispiel ist ein wenig aus dem Kontext gerissen, das gebe ich zu aber mehr kann ich hier leider nicht veröffentlichen!
Aber wo soll denn diese dynamische Offset-Einstellung geschehen, d.h. wo wird dieser Wert vorgegeben? Soll das von Hand passieren?
Du solltest dir nochmal Gedanken über die Struktur machen und dann ein erweitertes Beispiel posten...ich bin sicher, dabei kriegst du die Lösung von alleine hin!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
21.01.2010, 12:34 (Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2010 13:42 von jg.)
Das soll mit diesem numerischen Control passieren.
Ich grübel schon 2 Tage über dieses Problem und dessen Struktur. Leider bin ich nicht so LabVIEW erfahren das mir auf anhieb eine andere Möglichkeit einfällt deshalb habe ich das Forum bemüht.
Ich habe das Sub VI mal konkretisiert.
Ja, im SUB VI befinden sich verschiedene Anzeigen wobei ich einer Anzeige einen Offset Wert für die bessere Vergleichbarkeit bei der Auswertung zu weisen möchte. Nun habe ich eine Schleife (weil das ganze mehrfach geprüft werden soll) und eine Sequenzstruktur um eine gewisse Abfolge der Datenverarbeitung sicher zu stellen, in dieser Sequenzstruktur werden erst die Daten eingelesen, verarbeitet, auf deren Richtigkeit überprüft und ggf. startet eine Fehlerbehandlung, anschließend werden die Daten gespeichert und mir angezeigt (mit Hilfe des SUB VI).
Im Anzeige SUB VI möchte ich das Offset einstellen und wieder einlesen da aufgrund der Schleife dieses SUB VI mehrfach ausgeführt wird und der Wert des Offset gleich bleiben soll. Ebenso soll dieses Offset dem Speicherungs SUB VI zur Verfügung gestellt werden.
Also hatte ich mir überlegt den Wert aus dem Anzeige SUB VI als Ausgang zur Verfügung zu stellen und diesen Wert aus dem Schieberegister der Schleife wieder einzulesen. Das funktioniert ja leider nicht weil dort der Wert 0 hinterlegt ist und ich den Wert nicht schnell genug ändern kann.
Ich hoffe diesmal ist es etwas klarer geworden?!?
So jetzt habe ich den Fehler durch deine Anregungen gefunden. Ich dachte beim Aufruf des Sub VI werden die Daten gelöscht aber wenn ich das VI nur beim Laden aufrufe dann speichert er mir die Daten auch für den nächsten Schleifendurchgang. AAAAAArgh. Ich bedanke mich trotzdem für deine Zeit!
Zitat:Ich hoffe diesmal ist es etwas klarer geworden?!?
Kein Stück! Ich verstehe es nicht...
Was meinst du mit "Anzeige SubVI"? Wird die Oberfläche dieses SubVI geöffnet und auf dieser geöffneten Oberfläche willst du dann was einstellen? Wenn das so ist und du das SubVI einfach in deinen Code legst, steht der Code solange bis du das SubVI wieder schließt!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)