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 

Queue-Elemente von mehreren Consumern auswerten lassen



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!

21.04.2009, 09:50
Beitrag #1

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Queue-Elemente von mehreren Consumern auswerten lassen
Moin zusammen,

ich habe eine Producer/Consumer-Struktur mit Queues aufgebaut. In einem VI werden Messwerte an die Queue angefügt. Andere VIs sollen diese Werte verwenden. Beispielsweise soll ein VI die Daten auf Sicherheitsprobleme überprüfen, ein weiteres soll die Daten anzeigen und ein drittes VI soll die Daten speichern.

Wie kann ich sicherstellen, dass aller drei Consumer die Daten erhalten? Ich kann die Daten mittels ELEMENT AUS QUEUE ENTFERNEN abrufen. Damit würde aber nur ein Consumer die Daten erhalten. Eine alternative ist die Funktion QUEUE-STATUS LESEN. Dabei würden die Daten in der Queue erhalten bleiben. Aber an welcher Stelle würde ich dann ein Element entfernen?

Oder ist diese Struktur einfach nciht für mehrere Consumer gedacht?

Über Anregungen und fröhliche Beschimpfungen freue ich mich wie immer! *zwinker*

LG
Torsten

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.04.2009, 12:48
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Queue-Elemente von mehreren Consumern auswerten lassen
Es gibt da rein logisch schwer zu lösende Probleme, wenn die Consumer nicht synchron arbeiten und sich tatsächlich - was ja der Sinn der Queue ist- mehrere oder viele Elemente in der Queue befinden. Aus diesem Grunde ist die Verteilung derselben Daten auf mehrere Consumer nur bei Meldern implementiert. Dort gibt es spezielle Funktionen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.04.2009, 12:52
Beitrag #3

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Queue-Elemente von mehreren Consumern auswerten lassen
Bei Meldern ist es doch so, dass man die Meldung nicht explizit entfernen muss, oder? Die letzte Meldung wird also erst dann überschrieben, wenn eine neue Meldung gesendet wird. Dann müsste ich also sicherstellen, dass alle Consumer abgearbeitet wurden, bevor eine neue Meldung verschickt wird, was irgendwie ein ähnliches synchronisationsproblem darstellt. Ich werde mir die Melder-Funktionen mal genauer ansehen.

Danke für den Tipp.

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.04.2009, 14:03
Beitrag #4

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
Queue-Elemente von mehreren Consumern auswerten lassen
Schau dir die Funktion "Auf Meldung mit Melderhistorie warten" an. Setz den Eingang "Vorherige ignorieren" auf True und die Funktion wartet den angebenen Timeout, bis alle Funktionen "Auf Meldung warten" die Meldung abgeholt haben.

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.04.2009, 14:13
Beitrag #5

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Queue-Elemente von mehreren Consumern auswerten lassen
Das klingt gut. Ich werde lesen und studieren. Danke!

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.04.2009, 10:13 (Dieser Beitrag wurde zuletzt bearbeitet: 22.04.2009 10:17 von Dennis.Moser.)
Beitrag #6

jewi Offline
LVF-Grünschnabel
*


Beiträge: 44
Registriert seit: Oct 2008

8.5
2008
en

638xx
Deutschland
Queue-Elemente von mehreren Consumern auswerten lassen
Ich hab zu deinem Problem auch noch einen Vorschlag.
In dem VI sind drei Schleifen die über die Queue verbunden sind. Bei mir sind alle Schleifen gleichberechtigt.
Vielleicht hilft dir das weiter.

Lv85_img


Angehängte Datei(en)
Sonstige .vi  Queue_test.vi (Größe: 30,16 KB / Downloads: 345)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.04.2009, 10:29
Beitrag #7

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
Queue-Elemente von mehreren Consumern auswerten lassen
Dein VI zeigt ja genau die Problematik. Du hast in zwei Schleifen die Funktion "aus queue entfernen". wenn also nun schleife 1 als erstes bearbeitet wird, dann erhält schleife 2 das element gar nicht mehr. weil es in schleife eins gelöscht wurde. und schleife drei erhält es ebenfalls nciht.

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.04.2009, 10:53
Beitrag #8

jewi Offline
LVF-Grünschnabel
*


Beiträge: 44
Registriert seit: Oct 2008

8.5
2008
en

638xx
Deutschland
Queue-Elemente von mehreren Consumern auswerten lassen
Ich hab es anders aufgebaut. In meiner Queue gibt es immer nur maximal ein Element. Der Inhalt dieses Elements wird in den Schleifen verändert und das Element dann wieder in die Queue zurück gelegt. Die anderen Schleifen bekommen dadurch immer aktuelle Daten. Es geht nichts verloren.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.04.2009, 22:31 (Dieser Beitrag wurde zuletzt bearbeitet: 22.04.2009 22:33 von Y-P.)
Beitrag #9

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Queue-Elemente von mehreren Consumern auswerten lassen
Du könntest auch einfach eine 2. oder 3. Queue erstellen, die die Daten einfach weiterreicht/weiterreichen.

Hier ein kleines Bsp., das ich Dir zusammengeklickt habe Wink:


Sonstige .vi  Queues.vi (Größe: 20,51 KB / Downloads: 344)

Lv86_img

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.04.2009, 23:08
Beitrag #10

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Queue-Elemente von mehreren Consumern auswerten lassen
Mein Vorschlag - jedem Consumer seine Queue!

Webseite des Benutzers besuchen 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
  Wie auf abgearbeitete Queue warten mez15 11 8.085 28.09.2017 13:02
Letzter Beitrag: TR61
  Datum Uhrzeit Queue DeleteAll 8 5.680 24.03.2017 15:47
Letzter Beitrag: GerdW
  TDMS in Queue laden gifo 8 5.466 07.01.2016 16:41
Letzter Beitrag: GerdW
  Fehlercluster via Queue hansi9990 23 14.320 07.08.2015 14:11
Letzter Beitrag: hansi9990
  Queue und (kein) Dataflow NoWay 9 7.389 01.06.2015 11:56
Letzter Beitrag: Kiesch
  Notifier und Queue Nattdis 3 6.605 27.11.2014 14:51
Letzter Beitrag: Lucki

Gehe zu: