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!

04.05.2007, 12:55
Beitrag #7

baesi Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Sep 2005

7.11
2000
kA


Schweiz
Producer/Consumer Problem bei Refnum Übergabe
' schrieb: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.


Besten Dank für die Inputs. Ich übergebe nun nicht mehr die Refnums sondern direkt die Werte und andere Parameter in einem Cluster. Der Code wurde dadurch sogar übersichtlicher.

Gruss

Baesi
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Producer/Consumer Problem bei Refnum Übergabe - baesi - 04.05.2007 12:55

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

Gehe zu: