LabVIEWForum.de
Datenaustausch zwischen VIs - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Datenaustausch zwischen VIs (/Thread-Datenaustausch-zwischen-VIs--10360)



Datenaustausch zwischen VIs - tyso - 05.01.2008 17:08

Hallo,
ich möchte in einem VI Parameter für ein SubVi verändern. Ich habe versucht diese Parameter im Vi in eine Datei zu speichern und diese dann von dem SubVi auslesen zu lassen.
Allerdings entsteht durch meine Methode immer der EOF Fehler...
Ich habe ein kleines Beispiel geschrieben, evtl. verdeutlicht es mein Problem besser Wink

Gibt es da nicht eine schönere Lösung? Und warum funktioniert eigentlich der STOP Button in meinem Beispiel nicht????

Vielen Dank für die Hilfe!

TysO

Lv80_img


Datenaustausch zwischen VIs - jg - 05.01.2008 18:19

' schrieb:Hallo,
ich möchte in einem VI Parameter für ein SubVi verändern. Ich habe versucht diese Parameter im Vi in eine Datei zu speichern und diese dann von dem SubVi auslesen zu lassen.
Allerdings entsteht durch meine Methode immer der EOF Fehler...
Ich habe ein kleines Beispiel geschrieben, evtl. verdeutlicht es mein Problem besser Wink

Gibt es da nicht eine schönere Lösung?
Na klar, Wert direkt an das SubVI übergeben, ohne Speichern und Lesen aus Datei.
' schrieb:Und warum funktioniert eigentlich der STOP Button in meinem Beispiel nicht????
Weil er außerhalb der Event-Struktur liegt. Die Event-Struktur "wartet" auf ein Event, und somit wird der Stop-Button erst erledigt, wenn ein Event vorlag. Mach doch auch einfach ein EVent für den Stopp-Button. Übrigens, damit die Latch-Buttons nach Betätigung zurückspringen, solltest du sie im BD in den jeweiligen Event-Case platzieren.
' schrieb:Vielen Dank für die Hilfe!

TysO
So, hier ein modifiziertes Bsp.:

Lv80_img
[attachment=10529][attachment=10530]

:offtopic:Nicht vergessen, Forenregeln beachten und LV-Version hochgeladener VI's angeben.

MfG, Jens


Datenaustausch zwischen VIs - tyso - 08.01.2008 11:07

Hallo,
dank dir für die Ideen, jetzt hab ich deine Lösung in abgewandelter Form angewandt. Da die SubVi bei mir mehrfach verwendet wird habe ich den Datenaustausch anhand von globalen Variablen gelöst. So muss ich keine Datei zwischenspeichern.

Vielen Dank, Gruß

TysO


Datenaustausch zwischen VIs - tyso - 08.01.2008 13:37

Hallo nochmal,
die Lösung war es wohl doch nicht. Ich habe im Forum herumgesucht und festgestellt das globale Variabeln als Speichermedium ungeeignet sind.
Meine SubVI wird mehrfach ausgeführt, das Programm hängt sich mit globalen Variablen einfach auf...
Gibt es denn nicht eine möglichkeit die erste Idee des Variablen abspeicherns in einer Datei umzusetzen ohne den EOF Fehler?
Es sind nur 4 Zahlenwerte die ich zu einer Sensorkalibrierung benötige und nicht bei jedem Neustart neu setzen möchte...

Vielen Dank für die Hilfe!


Datenaustausch zwischen VIs - IchSelbst - 08.01.2008 13:51

' schrieb:die Lösung war es wohl doch nicht. Ich habe im Forum herumgesucht und festgestellt das globale Variabeln als Speichermedium ungeeignet sind.
So ist es.

Zitat:Meine SubVI wird mehrfach ausgeführt, das Programm hängt sich mit globalen Variablen einfach auf...
Naja, wenn dus sagst wird das stimmen - sollte aber nicht sein.

Ich wollte zum letzten Posting noch was schreiben:
' schrieb:anhand von globalen Variablen
Und um dieses Unwort zu vermeiden, könntest du wie folgt vorgehen:

Mach dir an der Stelle, an der jetzt die Variablen der Glabalen Variable stehen, ein sogenanntes funktionales SubVI. Dieses besteht aus einer While-Schleife mit nicht initialisiertem Schieberegister und der Abbruchbedingung auf "Einmaldurchlauf". In der While-Schleife befindet sich ein Case mit den Fällen "Lade Daten ins Schieberegister" und "Nichts tun". Gelesen werden die Daten grundsätzlich am Ausgang des Schieberegisters. Somit ist der Datentyp "Globale Variable" vermieden, aber die Daten sind trotzdem global verfügbar.