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 

Queues oder Melder mit Variant Daten



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!

24.04.2009, 12:13 (Dieser Beitrag wurde zuletzt bearbeitet: 24.04.2009 13:03 von J_uri.)
Beitrag #1

J_uri Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 66
Registriert seit: May 2008

8.6, 2011
2007
DE_EN


Deutschland
Queues oder Melder mit Variant Daten
Hallo zusammen,

ich habe gelesen, dass man bei Queues am besten einen Cluster aus Enum-Steuerelement und Variant-Daten verwenden soll, da das sehr multifunktionell ist. Das stimmt natürlich, nur frage ich mich, ob das stets notwendige Konvertieren der Daten aus Variant nicht zu Performanceeinbußen führt. Schließlich ist bei jedem Schreiben und Lesen des Clusters eine zusätzliche Operation notwendig. Das mag bei selten verwendeten Queues nicht so gravierend sein, aber wenn ich bspw. eine Datenerfassung mit hoher Abtastrate programmiere und die Daten über eine solche Queue übertrage kann ich mir schon vorstellen, dass es sich bemerkbar macht.

Kann mir da jemand zustimmen? Oder ist die Daten-zu-Variant-Funktion (und umgekehrt) so systemoptimiert, dass sie zu keiner nennenswerten Zusatzbelastung führt?

MfG
J_uri
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.04.2009, 13:42
Beitrag #2

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
Queues oder Melder mit Variant Daten
Die von dir beschriebene Queue benutze ich auch, allerdings nur, um Kommandos mit optionalen Parametern zu versenden. Der Datentransfer läuft bei mir immer im nativen Datentyp der Messdaten.

In einem meiner Prüfstände läuft eine Messkarte mit 8 Kanälen und 10kHz. Ich kann mir durchaus vorstellen, dass die Prozessorlast merklich steigt, wenn ich alles in Variant und wieder zurückwandle.

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

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Queues oder Melder mit Variant Daten
' schrieb:aber wenn ich bspw. eine Datenerfassung mit hoher Abtastrate programmiere und die Daten über eine solche Queue übertrage kann ich mir schon vorstellen, dass es sich bemerkbar macht.
Wenn du nur alleine die Sampledaten per Queue verschicken willst, musst du ja nicht einen Variant nehmen. Nimm halt für die Sampledaten einfach eine eigene Queue mit 2DArrDBL.

Meistens verwende ich einen (verschachtelten) Cluster als Queue-Daten. Da können dann für jede Zielfunktion die entsprechenden Parameter drinnen stehen. Nur wenn dieser Cluster zu unübersichtlich wird, verwende ich Variant.

Ich halte den Overhead, der durch Variant entsteht, nicht für relevant.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.04.2009, 15:31
Beitrag #4

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Queues oder Melder mit Variant Daten
Mach dir keine Sorge, es nimmt nich zu viel Performance. Ich nutze es überall mit vielen Abtastungen (zuletzt hatte ich 8 geräte mit bis zu 1000 Hz). Zwar nehme ich ENUM+String statt ENUM+Variant, da Variant nicht so verbreitet wie Binary String ist. Aber im Prinzip nimmt die Umwandlung der Daten nach Variant nicht viel mehr Performance, wie Flatten to String. Meine MeinungBig Grin

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.04.2009, 10:46
Beitrag #5

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

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Queues oder Melder mit Variant Daten
Mach Dir mit dem Umwandeln in Variant keine Sorgen. Wink
Das wird auf den Schulungen von NI auch so vermittelt und die müssen ja wissen, was sie machen. Big Grin

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
27.04.2009, 06:11
Beitrag #6

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Queues oder Melder mit Variant Daten
' schrieb:Wenn du nur alleine die Sampledaten per Queue verschicken willst, musst du ja nicht einen Variant nehmen. Nimm halt für die Sampledaten einfach eine eigene Queue mit 2DArrDBL.

Ganz genau! Wenn du ja weißt, was du versenden willst...dann musst du doch nicht zwanghaft alles "flexibel" halten.

Und mal ehrlich: Wenn eine Anwendung mal steht, wie oft wird dann wirklich eine derartige Änderung notwendig, dass der bis dahin getätigte Aufwand, alles so flexibel zu halten, gerechtfertigt war?

Gruß
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2009, 07:23
Beitrag #7

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Queues oder Melder mit Variant Daten
' schrieb:Zwar nehme ich ENUM+String statt ENUM+Variant, da Variant nicht so verbreitet wie Binary String ist. Aber im Prinzip nimmt die Umwandlung der Daten nach Variant nicht viel mehr Performance, wie Flatten to String. Meine MeinungBig Grin

Wobei Variant nochmal deutlich schneller als String ist, AQ hat dazu auf lava mal ein Statement abgelassen ...

aber wenn man jetzt nicht gerade schnelle Messdaten über so eine Queue streamt, dann wird man denke ich keinen Geschwindigkeits-Unterschied bemerken, und für das streamen von Messdaten würde ich dann sowieso eine Queue mit dem nativen Datentyl (DBL-Array, Waveform-Array, etc) verwenden ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2009, 12:32
Beitrag #8

joedoe1979 Offline
LVF-Grünschnabel
*


Beiträge: 40
Registriert seit: Sep 2006

8.5.1
2005
de

23654
Deutschland
Queues oder Melder mit Variant Daten
10kHz ist doch nicht schnell Big Grin. Ich habe eine Datenerfassungskarte die mit 400MHz arbeitet :Pda bekomme ich immer graue Haare.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2009, 12:35
Beitrag #9

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Queues oder Melder mit Variant Daten
' schrieb:10kHz ist doch nicht schnell Big Grin. Ich habe eine Datenerfassungskarte die mit 400MHz arbeitet :Pda bekomme ich immer graue Haare.

Der Unterschied dabei ist, dass deine Karte die Daten in Array sammelt und dir das komplette Datenarray übergibt. Bei mir muss ich die Daten einzeln über serielle Schnittstelle auslesen. Das macht verdammt viel aus...

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2009, 14:37
Beitrag #10

joedoe1979 Offline
LVF-Grünschnabel
*


Beiträge: 40
Registriert seit: Sep 2006

8.5.1
2005
de

23654
Deutschland
Queues oder Melder mit Variant Daten
Wieso wartest Du nicht bis z.B. 100 oder Messdaten im RS232 Speicher vorhanden sind, so das Du die alle mit einem mal auslesen kannst. Somit kannst Du eine Menge Zeit einsparren. Den RS232 Eingabepuffer kann man auch durch Eigenschaften vergrößern, so das 1 Million Datenpunkte reinpassen.

Es gibt aus RS232 USB Konverter die locker 250k anstelle von 115k baut schaffen. Die kazft man für 10€ steckt die einfach an den PC. Diese werden das als Comx erkannt und Du kannst die normalen Visa Funktionen benutzen. Nur muss Deine Gegenschnittstelle auch dieses Geschwindigkeit unterstützen.
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
  Wert des Variant ermitteln LV-New 8 5.509 23.02.2022 09:09
Letzter Beitrag: LV-New
  Automatisierung mittels QMH und Melder ar7ur8 22 12.158 13.01.2022 13:55
Letzter Beitrag: TpunktN
  Variant in Grundtypen zerlegen LV-New 6 4.487 10.01.2022 10:55
Letzter Beitrag: LV-New
  Probleme mit Queues und Programmaufbau stefan1312 6 5.411 30.10.2018 17:08
Letzter Beitrag: NoWay
  Fehlermeldung 91 bei 2D Array umwandeln zu Variant und wieder zurück Tobzn 4 4.908 31.03.2018 21:05
Letzter Beitrag: Tobzn
  Drei Queues in einer While-Schleife mit case-Struktur EinVolvic 12 13.157 17.05.2017 20:25
Letzter Beitrag: EinVolvic

Gehe zu: