LabVIEWForum.de
Case Struktur - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Case Struktur (/Thread-Case-Struktur--1098)

Seiten: 1 2


Case Struktur - flizzer82 - 30.09.2010 10:04

Hallo LV Gemeinde
Ich habe ein Problem (mal wieder) und hoffe mal wieder auf eine Lösung von euchSmile.
Es geht um folgendes:
Ich benutze ein Case mit mehreren Cases dahinter nun möchte ich aber zB aus dem ersten Case Werte in das 5te Case übergeben. Das Funktz aber leider nicht und nun hoffe ich das ich hier mal wieder Rat finde.
Es wäre schön wenn ich das Case nicht umändern muss in eine Sequenz oder so und mit lokalen Variablen wollte ich ebenfalls nicht arbeiten (habe hier gelernt das es nicht toll wäre).
zum Verständniss nochmal
ich messe in einem Case Werte die dann in einem Späteren Case umgerechnet und ausgewertet werden sollen.

Danke für eure Hilfe

mfg
flizzer


Case Struktur - TSC - 30.09.2010 10:14

Bei der CaseStruktur wird nur EIN EINZIGER Case ausgeführt. Wenn du also mehrere Cases hintereinander ausführen möchtest, musst du die CaseStruktur in eine Schleife packen. Dann kannst du die Daten mittels Schieberegister von einem Schleifendurchlauf zum nächsten weitergeben.

Das Ganze ist dann schon fast eine vollwertige "Statemachine" oder im deutschen ein "Zustandsautomat". Dazu gibts Hilfe und Beispiele direkt in LabVIEW oder auch hier im Forum.

Grüße,
Totti


Case Struktur - flizzer82 - 30.09.2010 10:21

So jetzt alle mal lachenO)
ICh hatte schon eine While Schleife drum rum gepackt ^^
gebe jetzt die werte zur Whileschleife dann mit Schieberegister weiter und so werden sie verarbeitet

Habe dann nur in allen anderen Cases die Tunnel ist es ok wenn man diese mit Rechtsklick und dann "STANDARTWERT VERWENDEN; WENN NICHT VERBUNDEN" anklickt und somit "ausmalt"??

mfg
Flizzer


Case Struktur - TSC - 30.09.2010 10:32

Das passiert wenn man kein VI postet. Wir sind ja alle keine Hellseher und unsere Glaskugeln sind auch meist defekt!Glas2

Du kannst die Funktion mit dem Standardwert sicherlich verwenden, du musst dir nur bewusst sein, dass dann bei Ausführung eines solchen Cases, das Schieberegister quasi zurück gesetzt wird. Wenn du also Die Werte aus Case A in Case C benötigst, und dazwischen noch Case B ausführst, dann wird das nicht klappen.

Alternativ kannst du auch die Drähte in den noch unverbundenen Cases automatisch anlegen lassen. Rechtsklick auf den offenen Anschluss, "Verknüpfter Eingangstunnel", "Offene Cases erstellen und verbinden".

Außerdem kann man über das Schieberegister auch auf Werte zugreifen, die schon mehrere Durchläufe vorher anlagen. Dazu musst du lediglich den Schieberegisteranschluss nach unten aufziehen.

Vielleicht helfen dir die Tipps ja weiter.

Grüße,
Totti


Case Struktur - flizzer82 - 30.09.2010 12:02

Hallo Totti
Frisch gestärkt vom Mittagessen stelle ich mal gleich die nächste Frage.
und zwar verstehe ich dich richtig wenn ich bei der State Machine einen Wert im ersten CASE bekomme den aber im 27ten Case haben will, ich die 25 Cases dazwischen die den Eingangs und Ausgangstunnel dieses Wertes miteinander verbinden muss??

Wäre ja einfach wenn es so wäre. Also vom verständniss würde ich jetzt behaupten das das es so sein muss, denn dann wird in jedem Case der wert immer neu durchgeführt und wieder an das Schieberegister aufs neue übergeben. Sehe ich das so richtig ??


Zu deinem Vorschlag "den eingang des Schiebergister aufziehen" das kann ich bei mir nicht machen frage mich nicht warum wird ja so aufzuzehen sein wie beim bauen eines Arrays oder??


mfg
flizzer


Case Struktur - TSC - 30.09.2010 12:10

Alles korrekt!


Case Struktur - stromflo - 07.10.2010 07:53

Hi,

irgendwie komme ich da noch nicht weiter, hab ein ähnliches Problem.
Ich verwende ein State Machine Menü und Lese Werte ein und speicher diese in einem Array.

Im nächsten Case möchte ich die gespeicherten Werte im Array weiter verarbeiten.
Ich möchte z.B. mit Array Indizieren ein Element aus dem erstellten Array ausfiltern und anzeigen.

Wäre super, wenn mir da jemand weiterhelfen kann?!

Gruß Flo


Case Struktur - GerdW - 07.10.2010 08:01

Hallo Flo,

einfach ein weiteres Shiftregister für die Array-Daten einfügen...


Case Struktur - Martin Heller - 07.10.2010 08:09

Habe hier ein guter Link zu einem guten Buch (State Machine):

http://books.google.ch/books?id=i46Ns13wvg...p;q&f=false

und die passende Homepage mit Uebungen und Loesungen
http://www.hs-weingarten.de/~georgi/Lehrbu...ion4/index.html

http://labviewwiki.org/State_Machine


Case Struktur - stromflo - 07.10.2010 08:13

Zitat:einfach ein weiteres Shiftregister für die Array-Daten einfügen...

Irgendwie kapier ich noch nicht wie ich das realisieren soll.....

Soll ich in das Case jetzt nochmal ein Schieberegister einfügen?

Hast du ein Beispiel dazu, wie du das meinst?

Weil er sagt mir immer Tunnel... ich möchte ja im Prinzip das Array nur in der Coil Read Case erstellen und in dem darauffolgenden Coil Auswertung die Werte weiter verarbeiten.
In den andren Cases brauch ich dann wieder neue Werte etc.

Gruß Flo