LabVIEWForum.de - Wertübergabe SUB Vi

LabVIEWForum.de

Normale Version: Wertübergabe SUB Vi
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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.

Ich bedanke mich für Eure Unterstützung.

Mit freundlichem Gruß der Ringfahrer

P.S. Die VI’s sind unter LabVIEW 8.6 entstanden.
Hi,

dein Beispiel erschließt sich mir nicht...was willst du machen?

Wenn du das Control "NumerischesElement" auch als Eingang des SubVI's verwendest, dann hat das halt diesen von außen zugewiesenen Wert.

Ich glaube du hast das Konzept eines SubVIs nicht verstanden...

A.
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!
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.

Lv86_img
Hi,
ich versteh nicht was das soll...

Willst du, dass sich das SubVI öffnet und du dann per Bedienelement einen Wert vorgibst?

Oder soll die Bedienung vom HauptVI erfolgen? Dann wär das doch das einfachste und richtige:

[attachment=23822]


A.
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!
Genau da lag mein Denk- und Einstellungsfehler! Aber da bin ich Dank deiner Anstösse schon vorher drauf gekommen Big Grin
Referenz-URLs