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 

Producer/Consumer Problem bei Refnum Übergabe



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!

03.05.2007, 16:59 (Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2007 18:18 von Lucki.)
Beitrag #6

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Producer/Consumer Problem bei Refnum Übergabe
Habe mir das VI auch mal angesehen, und glaube da eine grundsätzliche Schwachstelle dieser Konstruktion zu erkennen (hat aber mit dem Fehler nichts zu tun).
Die Sinn einer solchen Konzeption ist eigentlich, daß über die Queue (Wobei hier ein Melder auch ausgereicht hätte) die Daten zwischen Producer Consumer ausgetauscht werden. Das ist aber hier gar nicht der Fall, die Queue enthält gar kein Daten. Du hast lediglich ein Element in der Queue mit "Daten" bezeichnet, welches nur eine Referenz ist.
D.h. wenn Du in der Consumer-Schleife (oder dem Consumer-VI) die Daten wirklich empfängst - bei Dir ist das ja gar nicht der Fall - dann mußt Du sie Dir über die Referenzen, die in der Queue stehen, besorgen. Das ist aber ineffektiver, weil langsamer, als wenn sie in der Queue selbst stehen würden.

Ich habe mal eine Änderung gemacht, die ganz ohne Referenzen auskommt. Die Information, um welchen Datentyp es sich bei dem Variant handelt, wird über das Enum-Element übertragen. Anstelle des Elementes "Change" enthält es die beiden Elemente "Knob" und "Boolean".

Edit: Natürlich ist es kein direkter Fehler, wenn man über die Queue nur Referenzen schickt und keine Daten. Wenn man das aber tut, dann ist die Konvertierung von Referenz zu Cluster zu String zu Variant und wieder zurück überflüssig wie ein Kropf, und die Bezeichnung des Clustern mit "Daten" klassifiziert das Ganze dann noch als Mogelpackung. Dein VI mit Wertübergabe über Referenzen - wie gesagt nicht zu empfehlen - würde in abgespeckter Form so aussehen wie das zweite VI.


Angehängte Datei(en)
Sonstige .vi  test_Wa.vi (Größe: 42,51 KB / Downloads: 232)

Sonstige .vi  test_WA2.vi (Größe: 44,97 KB / Downloads: 245)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
Producer/Consumer Problem bei Refnum Übergabe - Lucki - 03.05.2007 16:59

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Queue verwendung in komplexer Producer/Consumer Abhängigkeit Ksanto 8 5.749 03.04.2017 20:14
Letzter Beitrag: Ksanto
  Übergabe Anzeigeelement zwischen VIs (Referenz/globale Variable?) lipster 1 4.298 03.02.2017 14:27
Letzter Beitrag: GerdW
  typedef refnum's to string and back GT123 8 5.707 09.09.2016 14:25
Letzter Beitrag: GT123
  Übergabe einer Referenz vom HauptVI in das SubVI alan 1 3.732 09.03.2015 16:11
Letzter Beitrag: jg
  Übergabe-Problem zweier While-Schleifen mit Queue onsight8c 1 3.712 10.10.2014 16:42
Letzter Beitrag: jg
  SubVi - Referenz Refnum vescon 2 5.269 01.10.2014 08:44
Letzter Beitrag: vescon

Gehe zu: