LabVIEWForum.de
Case-Struktur mir mehr als 2 Cases - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Case-Struktur mir mehr als 2 Cases (/Thread-Case-Struktur-mir-mehr-als-2-Cases)

Seiten: 1 2


Case-Struktur mir mehr als 2 Cases - BobbyBau91 - 23.01.2014 22:04

Hallo zusammen

Ich habe eine Case-Struktur, die die Zustände Bereit, Messung, Beendet haben soll (also 3).
Ich habe schon herausgefunden, dass ich ein String-Bedienelement an die Struktur anschließen kann, um die Zustände anzusteuern. Allerdings sollen die Zustände ohne Bedienelement angesteuert werden, d.h. ich habe eine Flache Sequenz, und je nachdem in welcher Frequenz ich bin, wird ein String an die Case-Struktur gesendet (ich hoffe man versteht was ich meine Big Grin)

Wie könnte man so was realisieren? Habe mich schon dumm und dämlich gesucht Big Grin


Gruß Bob


RE: Case-Struktur mir mehr als 2 Cases - Trinitatis - 23.01.2014 22:16

Hallo Bob,

das, was du da in deinem VI zeigst, geht so nicht! Du kannst an den Eingang einer Case-Struktur nicht gleichzeitig 3 Leitungen anschließen.
Das wäre auch komplett sinnfrei - was sollte LabView denn dann machen?!

Du schreibst "ich habe eine Flache Sequenz, und je nachdem in welcher Frequenz ich bin, wird ein String an die Case-Struktur gesendet ". Diese Behauptung ist in sich schonmal Käse. Deine Sequenz, egal ob flach oder gestapelt (das ist nur eine andere Darstellung), durchläuft alle Einzelrahmen nacheinender und beschreibt die Ausgänge. D.h., du sendest nicht "je nacch dem" sondern du beschreibst eh alle Ausgänge der Sequenz.

Beschreib mal, was du vorhast, dann kann dir sicher geholfen werden.


Gruß, Marko


RE: Case-Struktur mir mehr als 2 Cases - BobbyBau91 - 23.01.2014 22:26

hm, das hatte ich befürchtet Big Grin

Ich muss eine Auswertung des Schaltverhaltens eines Hilfsschalters machen (über 2 Umdrehungen =720°). Um den Drehwinkel der Schalterachse zu messen, habe ich ein 3 Gang Potentiometer an dieser angebracht.

Nun soll die Messung folgendermaßen ablaufen:
  1. Schalter soll so gedreht werden, so das der Analogwert des Potis (kommt über die VISA von einem Microcontroller) kleiner als 80 ist.
  2. Nachdem der Analogwert auf 80 ist, soll die Messung gestartet werden
  3. Sobald die Achse um 720° gedreht wurde, soll die Messung beendet werden

Ich bin bis jetzt mal davon ausgegangen, dass dieses Vorgehen am besten mit einer flachen Sequenz zu realisieren wäre

Und jetzt kommt der Knackpunkt:
Je nachdem, welcher Sequenzabschnitt aktiv ist, soll ein String über die Visa zurück gesendet werden, welcher dann auf einem externen Display dargestellt wird. D.h. 3 verschiedene Zustände, aber da ich ja, wie du schon gesagt hast, keine 3 Leitungen zusammen an die VISA (write puffer) anschließen kann, hatte ich mir überlegt, das irgendwie über eine Case Struktur zu realisieren.

Wie könnte man denn so etwas besser realisieren?


RE: Case-Struktur mir mehr als 2 Cases - Trinitatis - 23.01.2014 22:37

Von der Sequenz als Lösungsansatz würde ich mich mal verabschieden. Eine Sequenz dient dazu, einen Programmablauf zu erzwingen - das ist ja gar nicht dein Problem.
Wenn ich dich richtig verstehe, liest du über die ser. SS Werte ein, in deren Abhängigkeit du etwas tun willst. Da würde ich mir eine Schleife nehmen, in der ich von der Schnittstelle lese und das Ergebnis an die Case-Struktur geben. Wertebereiche innerhalb eines Cases sind übrigens mit Min .. Max zu deklarieren (also der Bereich 100-200 würde durch den Case 100..200 beschrieben).
Das wären dann deine "Sequenzabschnitte"


Gruß, Marko


RE: Case-Struktur mir mehr als 2 Cases - NWOmason - 24.01.2014 07:12

(23.01.2014 22:26 )BobbyBau91 schrieb:  Wie könnte man denn so etwas besser realisieren?

Du sprichst ja schon von Zuständen, wie wäre es dann mit einer kleinen State-Maschine? Scheint mir doch sehr gut für diese Aufgabe geeignet zu sein:

States:
  1. INIT: Schnittstelle und Programm initalisieren
  2. CHECK_POSITION: Auf Wert <80 abfragen
  3. READ: Lesen
  4. STOP: Messung abschließen, Werte speichern, usw.


Du kannst in jedem State deine VISA-Verbindung benutzten, um Werte zu lesen, indem die VISA-Verbindung über ein Schieberegister durchgeschleift werden kann Smile


Beste Grüße,
NWO


RE: Case-Struktur mir mehr als 2 Cases - Lucki - 24.01.2014 14:51

Nebenbei: zur flachen Sequenz mal diese kleine Unterichtseinheit.
Sämtliche Ausganswerte stehen erst zur Verfügung, wenn die gesamte Struktur abgearbeitet ist. Es besteht also nicht der geringste Unterschied zwischen linkem und rechtem Bild:

[attachment=48223]


RE: Case-Struktur mir mehr als 2 Cases - GerdW - 24.01.2014 15:42

Hallo Ludwig,

bist du dir dessen sicher?


RE: Case-Struktur mir mehr als 2 Cases - jg - 24.01.2014 16:03

Test, Test, Test:
[attachment=48224]
Man beachte, das VI läuft gerade. String ist schon geschrieben, String 2 noch nicht.

Gruß, Jens


RE: Case-Struktur mir mehr als 2 Cases - Lucki - 24.01.2014 16:08

(24.01.2014 15:42 )GerdW schrieb:  bist du dir dessen sicher?
Probiert habe ichs nicht, und jetzt muss ich weg und mir fehlen die 5 min Zeit, um das auszuprobieren: In jede Sequenz ein Wait 1 sec rein, an alle Ausgänge Anzeigen anschließen, sehen ob sie gleichzeitig oder nacheinander kommen.
Ludwig


RE: Case-Struktur mir mehr als 2 Cases - jg - 24.01.2014 16:20

(24.01.2014 16:08 )Lucki schrieb:  
(24.01.2014 15:42 )GerdW schrieb:  bist du dir dessen sicher?
Probiert habe ichs nicht, und jetzt muss ich weg und mir fehlen die 5 min Zeit, um das auszuprobieren: In jede Sequenz ein Wait 1 sec rein, an alle Ausgänge Anzeigen anschließen, sehen ob sie gleichzeitig oder nacheinander kommen.
Ludwig

Hab ich gemacht, sie kommen nicht gleichzeitig an!