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 

Puffer-Array



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.08.2013, 18:25
Beitrag #1

Julian S Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Aug 2013

2010
2013
DE



Puffer-Array
Guten Abend,

Unten befindliches puffer.vi bekommt Messdaten geliefert (2D Array ''Readblock") und soll immer die neuesten Datensätze speichern.
Mithilfe der Queue einfach zu realisieren, aber was mir seit Stunden nicht gelingt ist, die Queue-Elemente als Array anzuzeigen.
Wenn ich also beispielsweise "max. Größe" auf 20 setze, sollen die neuesten 20 Werte, welche sich ja dann immer in der Queue befinden, in einem Array angezeigt werden.

Wer kann mir weiterhelfen?

Beste Grüße, Julian


Angehängte Datei(en)
10.0 .vi  puffer.vi (Größe: 9,1 KB / Downloads: 183)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.08.2013, 05:28
Beitrag #2

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Puffer-Array
(06.08.2013 18:25 )Julian S schrieb:  Wer kann mir weiterhelfen?

Guten Morgen Julian,

du liest mit dem VI 'Dequeue Element' immer nur ein Element aus, wenn du es aufrufst. Willst du also mehrere Element aus der Queue auslesen, muss du öfters auslesen und die Werte sammeln, z.B:

   

Dann bekommst du die letzten 20 Elemente der Queue in einem Array gesammelt (In deinem Fall ein 3D-Array, da deine Queue bereits 2D-Arrays beinhalten

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2013, 07:41
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Puffer-Array
Hallo Julian,

alternativ kannst du natürlich auch QueueStatus nutzen:
    (Du bekommst ein 1D-Array of Cluster of 2D-Array.)
Tipp: Kontexthilfe öffnen und lesen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2013, 09:07
Beitrag #4

Julian S Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Aug 2013

2010
2013
DE



RE: Puffer-Array
Guten Morgen,

Zunächst Danke für die Antworten!

Ich habe auch noch eine Möglichkeit entdeckt, wie es funktioniert, wenn ich es etwas geordnet habe, poste ich es.

"QueueStatus" hatte ich auch in Betracht gezogen, das liefert ja dann ein "1D Cluster Array", wie bekomme ich daraus dann wieder mein 2D-Double Array?

Beste Grüße,

Julian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2013, 09:23 (Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2013 09:26 von GerdW.)
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Puffer-Array
Hallo Julian,

Zitat:wie bekomme ich daraus dann wieder mein 2D-Double Array?
Wie oben schon gesagt wurde: wenn du in einer Queue 20mal ein 2D-Array speicherst und alle Elemente aus dieser Queue wieder ausliest, dann bekommst du je nach Lösung entweder ein 3D-Array oder ein 1D-Array of Cluster of 2D-Array.
Wenn du dagegen ein (größeres) 2D-Array als Ergebnis haben willst, dann musst du bei NWOs Lösung auf die Autoindizierung verzichten und dir dein Ergebnisarray selbst zusammenbauen - mit BuildArray im Concat-Modus...

Mit dem Cluster-Array geht das natürlich ebenso:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2013, 09:25 (Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2013 09:42 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
RE: Puffer-Array
Wenn man als Queue-Element ein 2D-Array definiert, dann kann die Queue nicht wissen, ob das Array immer die gleiche Zeilen- und Spaltenzahl hat. Deshalb müssen die Elemente in der Queue geclustert werden. Nach meinen Erkenntnissen nagt das an der Performance, so dass ich es bevorzuge, die Arrays in Elemente zu zerlegen und die Elemente als einfache DBL-Zahlen zu speichern. Das ist etwas mehr Code und sieht auf den ersten Bllick wegen der notwendigen for-Schleife auch langsamer aus, ist es aber nicht.
Für das folgende Beispiel habe ich der Einfachheit halber das "Data Queue Pnkt zu Punkt"-VI verwendet. Die Anpassung der Idee auf die "richtige" Queue, falls gewünscht, ist aber ein Klaks.
   

10.0 .vi  Queue2010.vi (Größe: 8,53 KB / Downloads: 184)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.08.2013, 09:27
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Puffer-Array
Hallo Lucki,

Julian verwendet LV2010...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2013, 09:35
Beitrag #8

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Puffer-Array
(07.08.2013 09:27 )GerdW schrieb:  Julian verwendet LV2010...
Danke, habs oben editiert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2013, 11:22
Beitrag #9

Julian S Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Aug 2013

2010
2013
DE



RE: Puffer-Array
Nochmals vielen Dank für die große und professionelle Resonanz, das ist wirklich beeindruckend in diesem Forum!

Leider brauche ich als Labview Anfänger recht viel Zeit, um eure Ideen nachzuvollziehen und anzuwenden, ich hab daher zunächst nochmal meinen mitternächtlichen Einfall aufgearbeitet und wäre sehr dankbar, wenn ihr was dazu sagt.
Soweit ich das sehe ähnelt es dem Vorschlag von GerdW, nur dass ich das Pufferarray nicht über den QueueStatus fülle sondern direkt über den Datenstream.


Angehängte Datei(en)
0.0 .rar  puffer.rar (Größe: 22,49 KB / Downloads: 154)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.08.2013, 11:44
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Puffer-Array
Hallo Julian,

wozu die "Puffer"-Queue, wenn du sie nur zum Zählen der Elemente/Einträge nutzt? Das ginge auch einfacher!

Du schreibst nur in die Queue, verwendest aber nirgends die darin gespeicherten Daten…

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
  Puffer auslesen Schandmaul 2 4.732 19.08.2009 13:53
Letzter Beitrag: Schandmaul
  Laufender Puffer eg 8 6.332 20.09.2007 06:37
Letzter Beitrag: Achim

Gehe zu: