INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Ansatz fuer einen Zustandsautomaten kombiniert mit "Unter"-VIs



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

26.03.2013, 00:57 (Dieser Beitrag wurde zuletzt bearbeitet: 26.03.2013 01:01 von Hasenfuss.)
Beitrag #1

Hasenfuss Offline
LVF-Stammgast
***


Beiträge: 331
Registriert seit: Dec 2012

2012
2012
DE



Ansatz fuer einen Zustandsautomaten kombiniert mit "Unter"-VIs
Ich möchte ein Konzept für einen Zustandsautomaten vorstellen und würde mich freuen, wenn Ihr mir an der einen oder anderen Stelle ein paar Tipps oder Hinweise geben könntet, wenn etwas an dem Ansatz nicht glücklich gelöst ist.

Stellen wir uns eine Maschine vor, die mehrere Sensoren hat und ein Steuergerät besitzt.

Die LabView-Bedienoberfläche soll mehrere Aufgaben erfüllen - zum einen das Steuern des Steuergerätes (hauptsächlich Eiin- und Ausschalten), zum anderen sollen die Messwerte der Sensoren erfasst, auf dem Bildschirm angezeigt und gespeichert werden.

Mein Ansatz sieht wie folgt aus

Mehrere "Unter"-VI
- zum Bedienen des Steuergerätes
- zum Aufzeichnen der Messwerte aus Sensor 1
- zum Anzeigen der Messwerte von Sensor 2 in einem Graph

In diesen "Unter"-VIs hängen Melder/Queues, mit denen aus dem Basis-VI die einzelnen Prozesse gestartet oder beendet werden können.

Mein Ansatz für den Zustandsautomaten sieht so aus, dass ich im Initialisierungsprozess die drei "Unter"-VIs starte und in separaten Threads laufen (es könnten auch separate while-Schleifen innerhalb des Basis-VI sein, die nicht im Zustandsautomaten sind). Wird z.B. die Taste "Aufzeichnung starten" gedrückt, dann wird der Melder "Aufzeichnung starten" auf TRUE gesetzt. Bei Aufzeichnung beenden analog der Wert auf FALSE.

Das angefügte Bild soll ein "Entwurfsmuster" eines solchen "Unter"-VI darstellen.

Würdet Ihr das mit verschiedenen Prozessen ähnlich handhaben?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.03.2013, 09:09
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.188
Registriert seit: May 2009

LV2020
1995
DE_EN

10×××
Deutschland
RE: Ansatz fuer einen Zustandsautomaten kombiniert mit "Unter"-VIs
Hallo Hasenfuss,

dein Konzept ist (ohne weitere Wertung) machbar. Es spricht nichts dagegen, eine übergeordnete Statemachine (die den allgemeinen Systemzustand überwacht) und mehrere untergeordenete Statemachines (die einzelne Geräte etc. überwachen) zu verwenden.

Ich verwende dies auch oft in meiner Software: Eine Bedienebene (Systemüberwachung) und viele verschiedene "Module" (DAQmx, Serieller Port, ..., Logging, Messwertüberwachung für NOTAUS, ...), die allesamt in ihren eigenen Routinen/Statemachines laufen. Die Kommunikation mit dem HauptVI läuft dabei über verschiedene Wege, von FGVs bis Queues ist da vieles dabei. Melder sind dann problematisch, wenn nicht sichergestellt ist, dass man diese schnell genug abfragt und keine Meldung verpasst...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Programmstruktur mit Zustandsautomaten creo_123 6 2.280 28.04.2022 05:59
Letzter Beitrag: creo_123
  Erstellung eines Zustandsautomaten für Zeiten Fredy Dilker 12 6.215 15.04.2014 10:31
Letzter Beitrag: Oscar234
  Anzahl Zustände Zustandsautomaten Hasenfuss 1 2.294 05.04.2013 15:21
Letzter Beitrag: GerdW
  Bilder von 4 Webcams über einen Switch auf einen Laptop "streamen" donkey22 8 6.651 21.05.2012 11:29
Letzter Beitrag: donkey22
  Parallele Zustandsautomaten Rainito 26 14.666 09.06.2010 18:25
Letzter Beitrag: IchSelbst
  Anzeigestellen einer DBL im Array fuer alle Felder automatisch erhoehen? bluesaturn 5 4.545 09.05.2010 20:49
Letzter Beitrag: GerdW

Gehe zu: