LabVIEWForum.de - State Machine Manuell (LV2010)

LabVIEWForum.de

Normale Version: State Machine Manuell (LV2010)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

ich habe eine State Machine erstellt, die eine Motorsteuerung realisiert.
Wie ist es möglich eine Art "Handbetrieb" zu implementieren, sodass jedes State per Buttonclick ausgeführt werden kann, ohne danach in den nächsten State zu springen?
Momentan läuft es so ab: 1 Buttonclick --> 9 States werden nacheinander ausgeführt (verschiedenen Bewegungen des Motors).
Leider darf ich keine Screenshots bzw. VI's hochladen, da es für eine Firma ist :/

Danke im Voraus an alle Ideengeber und Helfer Smile
Einfache eine Casestruktur an jedem Übergang machen, die Abfragt ob du im manuellen oder automatischen Modus bist.
moin,

ich bastele mir immer einen case, der für einen automatischen Ablauf alle auzurufenden Zustände in einem Array zusammenfasst und dann per for-Schleife in meine Queue schiebt ... das macht meiner Meinung nach den Gesamtablauf wesentlich übersichtlicher, als wenn in jedem case der folgende aufgerufen wird. Und gleichzeitig kannst ich dann auch jeden case einzeln aufrufen, ohne dass danach im Ablauf weitergegangen wird.

Gruß
Daniel
(25.03.2015 08:48 )wladimir s schrieb: [ -> ]Einfache eine Casestruktur an jedem Übergang machen, die Abfragt ob du im manuellen oder automatischen Modus bist.

Kannst du das etwas erweitern?
(25.03.2015 09:16 )kwakz schrieb: [ -> ]moin,

ich bastele mir immer einen case, der für einen automatischen Ablauf alle auzurufenden Zustände in einem Array zusammenfasst und dann per for-Schleife in meine Queue schiebt ... das macht meiner Meinung nach den Gesamtablauf wesentlich übersichtlicher, als wenn in jedem case der folgende aufgerufen wird. Und gleichzeitig kannst ich dann auch jeden case einzeln aufrufen, ohne dass danach im Ablauf weitergegangen wird.

Gruß
Daniel

Danke Daniel, aber das traue ich mir noch nicht so ganz zu^^

EDIT:
Jedes State soll mit je einem Taster ausgeführt werden, vielleicht vereinfacht das das Ganze etwas?
Modifiziertes LabVIEW Beispiel
Da gibt es mehrere Möglichkeiten, aber eine besonders elegante und flexible Struktur ist die Queued state machine (QSM) - wie von Wladimir schon zart angedeutet.
Funktionsfähiges Beispiel:
[attachment=52651]
Offtopic2
Was hat das ganze mit LabVIEW Realtime zu tun? Wieso willst du auf einem RT-System, welches in der Regel kein HID hat (neuere Ausnahmen bestätigen die Regel), einen Handbetrieb erstellen?

Gruß, Jens
(25.03.2015 15:02 )jg schrieb: [ -> ]Offtopic2
Was hat das ganze mit LabVIEW Realtime zu tun? Wieso willst du auf einem RT-System, welches in der Regel kein HID hat (neuere Ausnahmen bestätigen die Regel), einen Handbetrieb erstellen?
sorry, das Gesamtsystem ist Realtime. Tut mir leid für die falsche Einordnung!

(25.03.2015 12:09 )wladimir s schrieb: [ -> ]Modifiziertes LabVIEW Beispiel
(25.03.2015 14:58 )Lucki schrieb: [ -> ]Da gibt es mehrere Möglichkeiten, aber eine besonders elegante und flexible Struktur ist die Queued state machine (QSM) - wie von Wladimir schon zart angedeutet.
Funktionsfähiges Beispiel:

Danke ihr beiden, schaue ich mir an!
Referenz-URLs