LabVIEWForum.de
State Machine - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: State Machine (/Thread-State-Machine--28346)

Seiten: 1 2


State Machine - ARaj - 22.10.2015 17:09

Hello Leute
Ich hab einen Programm mit State-Machine geschrieben und zwar, wenn ich Start Button betätige gibt einen Dialog Box und in Hintergrund fährt einen Ventil hoch. Aber die Beleuchtung schaltet erst wen der Dialoge-Box weg geht, ist es normal oder liegt dort einen Fehler?


RE: State Machine - GerdW - 22.10.2015 19:37

Hallo ARaj,

schon mal ganz ordentlich… Big Grin

Hinweise:
- Es schadet nicht, ab und zu mal Ctrl-U zu drücken. Insbesondere, wenn du dein VI hier hochlädst…
- Es sollte für jeden State im Enum auch ein entsprechender Case in der Case-Struktur vorhanden sein!

Zitat:Aber die Beleuchtung schaltet erst wen der Dialoge-Box weg geht, ist es normal oder liegt dort einen Fehler?
Das ist ganz normal: THINK DATAFLOW!
Du hast es genau so programmiert: es wird ein subVI aufgerufen, welches deine "Dialogbox" anzeigt. Wenn das subVI abgearbeitet ist (THINK DATAFLOW!), folgt der restliche Code…


RE: State Machine - ARaj - 22.10.2015 19:47

Hi Gerd Vielen Dank für dein Antwort und Hilfe.
-Dumme frage, aber was passiert mit Ctrl+U
-Es war nicht ganze Programm
Ich habe mir unnötig sorgen gemacht.
Danke nochmals.


RE: State Machine - GerdW - 22.10.2015 19:52

Hallo ARaj,

Zitat:Dumme frage, aber was passiert mit Ctrl+U
Einfach mal im BD ausprobieren…


RE: State Machine - ARaj - 23.10.2015 09:55

Hi Gerd.
Wieder zu meine Frage.
-Heute bei der Umsetzung des Programms ist mir aufgefallen das der Ventil erst nach beenden von Dialog Box schaltet.
Was kann ich machen das die Parallel laufen?

Vielen Dank


RE: State Machine - GerdW - 23.10.2015 10:10

Hallo ARaj,

indem du es parallel programmierst! (THINK DATAFLOW!)
Momentan hast du ja einen sequentiellen Ablauf programmiert…


RE: State Machine - ARaj - 23.10.2015 10:21

Das heißt ich kann nicht in selbe Sequenz ablauf parallel programmieren.
Ist es möglich sequenz ablauf in for schleife zu programmieren?
Danke für den Antwort.


RE: State Machine - GerdW - 23.10.2015 10:37

Hallo ARaj,

THINK DATAFLOW! (Da gibt es einen extra Artikel in der LabVIEW-Hilfe und in meiner Signatur einen Link darauf!)

Wenn etwas parallel ablaufen soll, darf es (wegen THINK DATAFLOW) keine Datenflussabhängigkeit zwischen den parallelel Teilen geben. Solange du alles in einer ("1") Schleife abarbeitest, ist aber die DATAFLOW-Abhängigkeit vorhanden. Mögliche Lösung: zwei (2) parallele Schleifen! (Dann kommst du vom Statemachine-Ansatz sehr schnell weiter zum Producer-Consumer-Schema…)


RE: State Machine - ARaj - 23.10.2015 13:03

Danke Gerd
Aber Producer-Consumer-Schema ist etwas zu Komplex. Ich werde einfach eine zweite While Schleife programmieren.
- Eine Verständnis Frage
Ich will in State Machine ein Flat Sequenz schreiben und er soll sich z.B. 6 mal Wiederholen. Mit jeder Wiederholung muss er -1 rechnen.
Ich habe mit Vor Schleife versucht, aber es geht nur einmal!

Gibt ein Vorschlag?


RE: State Machine - GerdW - 23.10.2015 13:09

Hallo ARaj,

Glas1
Wie sollen wir etwas beurteilen, was wir nicht kennen?
Glas2

Wieso eine Sequenz oder eine FOR-Loop?
Wenn du eine Statemachine hast, kannst du doch einen State mehr als einmal aufrufen, hier z.B. 6mal hintereinander…