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 

Modularer Aufbau



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!

19.09.2007, 09:40 (Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2007 09:42 von rolfk.)
Beitrag #44

rolfk Offline
LVF-Guru
*****


Beiträge: 2.316
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Modularer Aufbau
' schrieb:Das macht man deswegen, weil der Code in nem Eventcase evtl. länger dauern kann...und erst wenn dieser Code beendet ist, reagiert die Eventstruktur auf das nächste Event!

Darum ist das Vorgehen beispielhaft so:

- Schleifeniteration n: Event "Messen" auslösen
- Schleifeniteration n+1: Im entsprechenden Eventcase die "Anfrage weiterleiten" an Case "Messen"
- Schleifeniteration n+2: Case "Messen" wird erreicht, Messung durchführen (z.B. 1000 Messwerte abholen), dann Entscheidung ob weiter "Messen" oder z.b. "Auswerten" oder "Beenden"
- Schleifeniteration n+3: Entweder wieder Case "Messen" anspringen (nächste 1000 Werte) oder "Auswerten" oder "Beenden"
- Schleifeniteration n+4: ...

Gruss
Achim

Hallo Achim,

Dein initieller Grund warum man sowas macht ist aber nur effektiv, wenn man die State Machine mit Queues macht und die Event-Abhandlung in eine andere parallele Loop setzt als die eigentliche Event-Detektion.

Persönlich mache ich das aber eher selten. Was ich normalerweise habe ist eine Case Struktur die die verschiedenen States abarbeitet und im Default case davon die Event-Struktur. Der Hauptgrund warum ich die Abarbeitung bestimmter Events überhaupt in einen State setze ist vor allem der dass solche States oft von verschiedenen Events getriggert werden können. Zum Beispiel hast Du Menus die bestimmte Aktionen triggern oder auch Kontrollelemente. Auf diese Weise wird der eigentliche Code nur einmal implementiert. Auch ist es bei komplexeren Userinterfaces oft so dass die verschiedenen Aktionen recht komplex werden können, und dann teile ich oft eine Aktion in mehrere Unterstates und mache ich aus dem State Register ein Array von States wo neue Aufgaben am Ende angehängt werden können und der nächste (Sub)State jeweils am Anfang weggeholt wird.

Dies ist extrem flexibel da man eine bestimmte Aktion in mehrere Sub(States) aufteilen kann und diese dann aus verschiedenen Teilen des Programmes in unterschiedlicher Reihenfolge aufrufen kann. Auch kann man durch Hinzufügen eines neuen States am Anfang eine bestimmte Aktion priorisiert ausführen lassen indem man sie quasi in die Statequeue hineinschiebt.

Aber hier gleich eine Warnung: Eine solche Architektur ist ohne ein sinnvolles Statechart praktisch nicht mehr zu kontrollieren, es sei denn man besitzt über ein Gehirn das in dreidimensionaler Sequenzlogik ausgezeichnet trainiert ist.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Modularer Aufbau - Suchender - 20.08.2007, 06:08
Modularer Aufbau - Y-P - 20.08.2007, 06:30
Modularer Aufbau - Suchender - 20.08.2007, 06:49
Modularer Aufbau - Y-P - 20.08.2007, 07:10
Modularer Aufbau - Suchender - 20.08.2007, 09:01
Modularer Aufbau - Y-P - 20.08.2007, 09:09
Modularer Aufbau - Suchender - 20.08.2007, 09:18
Modularer Aufbau - Y-P - 20.08.2007, 09:26
Modularer Aufbau - Suchender - 20.08.2007, 09:40
Modularer Aufbau - Y-P - 20.08.2007, 09:46
Modularer Aufbau - Suchender - 20.08.2007, 10:13
Modularer Aufbau - Y-P - 20.08.2007, 10:45
Modularer Aufbau - Suchender - 20.08.2007, 11:10
Modularer Aufbau - Suchender - 21.08.2007, 01:36
Modularer Aufbau - Y-P - 21.08.2007, 07:26
Modularer Aufbau - Suchender - 21.08.2007, 09:12
Modularer Aufbau - Y-P - 21.08.2007, 09:17
Modularer Aufbau - Suchender - 21.08.2007, 09:37
Modularer Aufbau - Y-P - 21.08.2007, 09:59
Modularer Aufbau - Suchender - 22.08.2007, 02:59
Modularer Aufbau - Y-P - 22.08.2007, 07:40
Modularer Aufbau - Suchender - 22.08.2007, 09:44
Modularer Aufbau - Suchender - 22.08.2007, 09:56
Modularer Aufbau - Y-P - 22.08.2007, 09:59
Modularer Aufbau - Suchender - 22.08.2007, 10:07
Modularer Aufbau - Y-P - 22.08.2007, 10:09
Modularer Aufbau - Suchender - 22.08.2007, 10:13
Modularer Aufbau - Y-P - 22.08.2007, 11:54
Modularer Aufbau - Suchender - 23.08.2007, 01:32
Modularer Aufbau - Y-P - 23.08.2007, 07:33
Modularer Aufbau - Suchender - 23.08.2007, 08:02
Modularer Aufbau - Y-P - 23.08.2007, 09:20
Modularer Aufbau - Suchender - 23.08.2007, 09:30
Modularer Aufbau - Y-P - 23.08.2007, 09:57
Modularer Aufbau - Suchender - 23.08.2007, 10:50
Modularer Aufbau - Y-P - 23.08.2007, 11:00
Modularer Aufbau - Suchender - 23.08.2007, 11:05
Modularer Aufbau - Achim - 23.08.2007, 11:10
Modularer Aufbau - Y-P - 23.08.2007, 12:12
Modularer Aufbau - Suchender - 24.08.2007, 10:14
Modularer Aufbau - Y-P - 24.08.2007, 10:28
Modularer Aufbau - Grobi - 19.09.2007, 08:29
Modularer Aufbau - Achim - 19.09.2007, 08:53
Modularer Aufbau - rolfk - 19.09.2007 09:40

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Suche Ideen für den Aufbau eines neuen Programms TpunktN 4 4.186 17.12.2020 11:23
Letzter Beitrag: MScz
  Korrekter Aufbau der VI Heber 32 18.316 20.07.2017 13:09
Letzter Beitrag: GerdW
Wink Aufbau & die Architektur vom LabVIEW DAYA 3 4.340 31.03.2017 19:44
Letzter Beitrag: DAYA
  "array" aufbau, vergleichen, schnell wrock 5 5.555 02.09.2015 17:55
Letzter Beitrag: jg
  Temperaturschrank aufbau pazi 3 3.942 04.08.2015 13:42
Letzter Beitrag: GerdW
  Aufbau LV Messung el_pablone 8 6.151 20.03.2015 09:51
Letzter Beitrag: GerdW

Gehe zu: