LabVIEWForum.de
Daten zwischen den einzelnen Fällen einer Case-Struktur übergeben - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Daten zwischen den einzelnen Fällen einer Case-Struktur übergeben (/Thread-Daten-zwischen-den-einzelnen-Faellen-einer-Case-Struktur-uebergeben)



Daten zwischen den einzelnen Fällen einer Case-Struktur übergeben - labrat - 28.11.2011 11:43

Hallo,

ich habe ein Programm, welches auf einer Case-Struktur mit 3 Fällen aufbaut, wobei die einzelnen Fälle über buttons abgefragt werden. So weit so gut. Allerdings werden in Case Nr.2 Daten (1 numerisches Array und 1 numerischer Wert) erzeugt, die im Case Nr.3 benötigt werden.

Gibt es eine Möglichkeit Werte von einem Case auf den nächsten zu übertragen? Vielleicht irgendwelche speziellen Tunnel?

Für Hilfe in diesem "Fall" wäre ich sehr dankbar.


RE: Daten zwischen den einzelnen Fällen einer Case-Struktur übergeben - Cerub - 28.11.2011 12:16

Rechtsklick auf den benötigten Indicator Erstellen -> Lokale Variable wählen. Diese dann auf Lesen umstellen und schon kannst du die Werte abfragen. Natürlich musst du sicherstellen, dass vorher auch die Werte reingeschrieben werden. Vllt. wäre deshalb ein Case außerhalb des 1. sinnvoller?


RE: Daten zwischen den einzelnen Fällen einer Case-Struktur übergeben - M Nussbaumer - 28.11.2011 12:21

(28.11.2011 11:43 )labrat schrieb:  Hallo,

ich habe ein Programm, welches auf einer Case-Struktur mit 3 Fällen aufbaut, wobei die einzelnen Fälle über buttons abgefragt werden. So weit so gut. Allerdings werden in Case Nr.2 Daten (1 numerisches Array und 1 numerischer Wert) erzeugt, die im Case Nr.3 benötigt werden.

Gibt es eine Möglichkeit Werte von einem Case auf den nächsten zu übertragen? Vielleicht irgendwelche speziellen Tunnel?

Für Hilfe in diesem "Fall" wäre ich sehr dankbar.

Hallo labrat

Ich gehe mal davon aus, dass deine Case-Struktur in einer While-Schleife läuft. Die sauberste Lösung wäre ein sogenanntes Shift- oder Schieberegister. Dies befolgt auch einen der Grundsätze von LabVIEW den Data-Flow.

Im Prinzip handelt es sich um einen Speicher, welcher einen Wert der letzten Schleife behalten kann.

Um ein Schieberegister zu erstellen machst du einfach einen Rechtsklick auf die Schleife. Der Datentyp wird bestimmt, sobald du ihn angeschlossen hast.

Hoffe das hilft dir weiter!

Gruss Marc


RE: Daten zwischen den einzelnen Fällen einer Case-Struktur übergeben - labrat - 28.11.2011 13:12

Super, vielen Dank!

Sowohl die Lösung mit den lokalen Variablen als auch die mit den Schieberegistern funktioniert einwandfrei.

Obwohl ich wahrscheinlich bei den Schieberegistern bleibe, würde mich aber noch folgendes interessieren: Ist es möglich, lokale Variablen zu erstellen ohne dass ich ein Anzeigeelement benutzen muss? Die Werte die ich aus der Case-Struktur ziehe sind zur weiterverarbeitung und haben im Frontpanel eingentlich nichts zu suchen.

Danke nochmal!


RE: Daten zwischen den einzelnen Fällen einer Case-Struktur übergeben - M Nussbaumer - 28.11.2011 13:17

(28.11.2011 13:12 )labrat schrieb:  Super, vielen Dank!

Sowohl die Lösung mit den lokalen Variablen als auch die mit den Schieberegistern funktioniert einwandfrei.

Obwohl ich wahrscheinlich bei den Schieberegistern bleibe, würde mich aber noch folgendes interessieren: Ist es möglich, lokale Variablen zu erstellen ohne dass ich ein Anzeigeelement benutzen muss? Die Werte die ich aus der Case-Struktur ziehe sind zur weiterverarbeitung und haben im Frontpanel eingentlich nichts zu suchen.

Danke nochmal!

Kurze Antwort: Nein

Es ist jedoch möglich die Frontpanel-Elemente unsichtbar zu machen oder aus dem sichtbaren Bereich zu verschieben.

Gruss Marc


RE: Daten zwischen den einzelnen Fällen einer Case-Struktur übergeben - Lucki - 28.11.2011 13:18

Ein beiden Fällen (ShiftReg, Lok.Var.) sollte dafür gesorgt werden, daß auf Case 3 erst zugegriffen werden kann, nachdem die Daten in Case 2 erzeugt wurden. Z.b. so: der Knopf für Case 3 ist erst mal deaktiviert und wird erst nach erstem Aufruf von Case 2 aktiviert.