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 

Nachrichten-Queues, Exit wird nicht an andere Schleifen weitergereicht



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!

28.10.2014, 11:10 (Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2014 11:11 von dali4u.)
Beitrag #4

dali4u Offline
LVF-Stammgast
***


Beiträge: 298
Registriert seit: Aug 2008

12SP1, 14SP1
2007
DE


Deutschland
RE: Nachrichten-Queues, Exit wird nicht an andere Schleifen weitergereicht
(28.10.2014 10:30 )jg schrieb:  Unschönheit:
Da dein Dequeue-Message-VI einerseits nicht reentrant ist, andererseits aber unendlich auf ein Dequeue wartet, kannst du nicht parallel an alle Consumer-Loops Nachrichten verschicken.
Bsp: Das Dequeue VI gerade in der Loop Fehlerbehandlung aktiv, und du schickst jetzt was an Kalibrierung. FAIL.

Hi Jens,

arbeite das erste Mail mit einem solchen Aufbau, daher noch Versuchsstadium und
offen für alle Vorschläge. Schande über mein Haupt, aber "reentrant" sagt mir nicht
wirklich was. Habe zwar gelesen was es bedeutet aber wie mich das betrifft weiß ich
nicht.

In der Schleife Kalibrierung wird eine Statemaschine auflaufen die immer wieder
mit anderen Vorgaben und Abäufen gestartet werden sollte. Es wird rund 40-50 verschiedene
States geben aus denen rund 10-15 genutzt werden, wenn ein bestimmte Kalibrierrezept
gestartet wird. Bei einem anderen Kalibrier-Rezept können dass ganz andere sein.

Aus Kalibrierung heraus, wenn die über die Nachrichten-Queue "Start" erhält.
-> State: Druckänderung ein bestimmten Druckwert, z.B. 100mbar und warten bis Druckwert erreicht wird
-> State: Kalibrierung durchführen
-> State: Kalibrierwerte protokollieren und speichern
-> State: und mit anderem Druck weiter...
.. alle States durchlaufen und IDLE Mode. Ein Durchlauf der gewünschen States kann mehrere Stunden dauern
und rund 5 bis 10 mal werden Daten an die Protokollierung gesendet, nicht öfter. Zeitgleicher Aufruf ist ausgeschlossen.

Druckregelung:
-> hier läuft eine Statemaschine mit PID Regelung.
-> "Init" Voreinstellungen laden
-> "Start" PID Druckregelung läuft in einer Schleife, die Schleife kann NICHT über die
Nachrichten-Queue gestoppt werden. Ob das alles so geht muss ich noch testen.
Das wird vermutlich nicht funktionieren, oder? Die Nachrichten-Queue der Druckregelung
muss ich dann löschen und durch eine reine Statemaschine ersetzen, vermutlich besser.

Fehlerbehandlung:
-> hier sollten alle Fehler auflaufen und in einer Tabelle angezeigt werden, mehr nicht, soll
nur das Debug erleichtern. Das Dequeue kann hier unendlich warten bis ein neuer Fehler mit den
Nachrichtendaten übertragen wird und in der Tabelle angezeigt werden soll.

Danke
Stefan
(28.10.2014 10:21 )Morpheus schrieb:  Das Problem ist, dass du beim Drücken des "Exit" Buttons den Loop mit dem Event-Handler nicht beendest.
Und der User-Event (Stop Event), den du auslöst, wird ebenfalls nicht abgehandelt!

Ups, den hatte ich vergessen. Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Nachrichten-Queues, Exit wird nicht an andere Schleifen weitergereicht - dali4u - 28.10.2014 11:10

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  CAN-Nachrichten ändern ta1997 5 3.460 05.05.2022 13:38
Letzter Beitrag: GerdW
  CAN Nachrichten in Array verarbeiten und aus Case Struktur weiterverarbeiten Tomate27 4 4.541 17.07.2020 13:30
Letzter Beitrag: Tomate27
  Frontpanel wird beim beenden nicht immer geschlossen Winterkind 4 3.516 08.04.2020 08:30
Letzter Beitrag: Freddy
  Default Wert wird nicht gespeichert ares2013 8 6.683 27.02.2020 12:51
Letzter Beitrag: jg
  Probleme mit Queues und Programmaufbau stefan1312 6 5.397 30.10.2018 17:08
Letzter Beitrag: NoWay
  Drei Queues in einer While-Schleife mit case-Struktur EinVolvic 12 13.129 17.05.2017 20:25
Letzter Beitrag: EinVolvic

Gehe zu: