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 

Design "Erzeuger/Verbraucher



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!

06.10.2009, 11:24
Beitrag #5

wernerIBN Offline
Datenflussumgeher
**


Beiträge: 124
Registriert seit: Sep 2009

8.6 und 2011
2000
DE

52425
Deutschland
Design "Erzeuger/Verbraucher
Hi danke für die guten Anregungen.
Ich arbeite noch damit, dauert noch was, da ichs noch nicht ganz verstanden habe.

Ausserdem versteh ich nicht, wie das hier mit dem zitieren geht... sorry...

Zitat: Die Oberfläche wäre z.B. dann für die Dauer des Eventcases blockiert, wenn im Eventcase "Frontpanale sperren" angekäckelt ist. Oder wenn das Resetten des Tasters an der falschen Stelle gemacht wird.

Also:
Ich vermute, du hast recht.
Ich verwende den OK-Button so wie du vermutest.

Bei Ereignisse bearbeiten steht auch extra:
Hinweis: Bei der Verarbeitung einer Wertänderung (genau das hab ich gewählt) an einem gelatschten boolschen Element wird nicht automatisch der vorgesehene Schaltvorgang ausgeführt. Um das Element ordnungsgemäß in den Ausgangszustand zurückzusetzen, muss das Element erst ausgelesen werden.

Nur: ich lese den Button doch oben in der Erzeugerschleife aus, zumindest hab ich das Ding da reingezogen. Ich versteh nicht, wieso das Mistding gedrückt bleibt, auch wenn der text in die Queue gestellt wurde.
In meiner Verbraucherschleife ist der Button gar nicht drinn, trotzdem kommt der hoch, wenn die Verbraucherschleife diesen Case abgearbeitet hat. Wie funktioniert das ? Ich verstehs nicht.

Oben im Ereignis-Case habe ich die Checkbox

[x]Frontpanel sperren, bis der Code für dieses Ereignis abgearbeitet wurde

Extra deaktiviert, trotzdem kann ich an der GUI nix bedienen bis der Case fertig ist.
Komisch.

Zitat: Wie soll denn jeder Case parallel abgearbeitet werden? Du kannst mehrere parallele Schleifen ausführen. Standartmäßig habe ich mindestens drei Schleifen. Eine Producer, eine Consumer und eine die mein Frontpanel updated. Letztere ist wiederum von der Consumer-Schleife abhängig. Mit dieser Architektur kannst du meiner Meinung nach 80-90% deiner Aufgabenstellungen erledigen. Du kannst allerings auch noch mehr parallele Schleifen hinzufügen. Da sind dir deiner Fantasie keine Grenzen gesetzt.

Danke für die Anregung. Also deine Producer, deine Consumer und deine Frontpanelschleife arbeitet dann wirklich parallel ? Die Queue zwischen Consumer und Producer hindert nicht die parallele Ausführung ?

Deine Frontpanelschleife ist eine einfache While mit Timer drinn, die etwa sekündlich oder so abläuft ?

Ich möchte das VI so bedienen, wie ein Messgerät. Im Hintergrund läuft die Messung, Anzeigen werden aktualisiert und ich kann die GUI bedienen. Genau das scheint ja mit deinem Konzept zu gehen. Richtig ?

Werner

Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Design "Erzeuger/Verbraucher - wernerIBN - 06.10.2009 11:24
Design "Erzeuger/Verbraucher - jg - 06.10.2009, 11:41

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Ansprechendes Design des Frontpanels | Muster in Hintergrund einfügen dulfried 3 4.262 23.08.2017 17:45
Letzter Beitrag: GerdW
  Error Handling in einem Queue Message Design Architektur galilio 2 4.597 09.08.2016 12:20
Letzter Beitrag: galilio
  Protokolieren durch TDMS in einer Erzeuger und Verbraucher Synchronisation Atlaspremier 0 2.694 28.07.2016 13:21
Letzter Beitrag: Atlaspremier
  Queued Message Handler Design galilio 3 6.198 14.07.2016 15:34
Letzter Beitrag: Freddy
  Design Pattern für sequentiellen Verlauf galilio 6 5.076 23.02.2016 08:50
Letzter Beitrag: Freddy
  Erzeuger-Verbraucher Muster Abbruch Verbraucherschleife mit Abarbeitung der Queue lumaxo 5 6.664 12.02.2015 13:55
Letzter Beitrag: Lucki

Gehe zu: