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 

Ringpuffer - aber wie?



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!

19.05.2010, 12:01
Beitrag #11

dommae Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: May 2010

8.5.1
2010
de


Deutschland
Ringpuffer - aber wie?
hey, danke erstmal für die vorschläge!


Ich erklär vielleicht nochmal kurz, was mein Problem is:

Ich nehme mit Hilfe von DAQmx Messwerte auf (beispielsweise 1000 Samples mit 10kHz). Auf 8 Kanälen gleichzeitig. Ich überwache dabei die Impedanz bei einem Schleifring bei einem Computertomogrpahen. Hebt die Bürste vom Schleifring ab, so resultiert daraus ein Peak in meiner Aufnahme. Dieser Peak triggert mir ein Schreiboperation in eine TDMS-Datei. D.h. alle Fehler werden in eine TDMS Datei geschrieben. Funktioniert einwandfrei.

Zusätzlich dazu möchte ich nun allerdings live eine Analyse meiner Fehler. Also ich möchte beispielweise die letzten 5 (oder 10 oder 20) Fehlerhaften Datenpakete vom DAQmx übereinanderlegen und mitteln, um zu sehn, ob sich Regelmäßigkeiten einschleichen.
War das Verständlich?

Was ist ne Lossy Queue????

Grüße,
Thomsen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.05.2010, 12:11 (Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2010 12:12 von Ome.)
Beitrag #12

Ome Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 109
Registriert seit: Nov 2009

2011
2009
DE

12XXX
Deutschland
Ringpuffer - aber wie?
Hallo,

das Beispiel von mir macht genau das, es mittelt die letzten 5 Arrays, wobei du die Anzahl beliebig einstellen kannst, nur nicht zur Laufzeit.

Ein Queue ist einfach gesagt ein Stapel auf den du immer was neues packen kannst und der von unten abgearbeitet wird (first in fisrt out)

Lossy Queue bedeutet, dass wenn der Queue z.B. mit 5 angegeben ist für jedes neue Element das Älteste herausfallt. Ein deinem Fall ist ein Queue-Elemt ein Array.

Gruß ome
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.05.2010, 12:28
Beitrag #13

dommae Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: May 2010

8.5.1
2010
de


Deutschland
Ringpuffer - aber wie?
Ja, dein Programm schaut gut aus Ome!

Mein Problem nur: Ich finde dein Symbol (ich nenn es mal: "Queue-Vorne Rein-Hinten Raus") nicht.    

Das ist das, was ich an Queue-Befehlen zu Verfüung hab. Könnte natürlich auch ne Case-Struktur laufen lassen und anfangen rauszuschmeißen, wenn die Queue voll is. Oder bin ich einfach nur zu blöd um dein Symbol zu finden?

Thomsen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.05.2010, 12:39 (Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2010 12:39 von eg.)
Beitrag #14

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Ringpuffer - aber wie?
' schrieb:Mein Problem nur: Ich finde dein Symbol (ich nenn es mal: "Queue-Vorne Rein-Hinten Raus") nicht.

Erst ab 2009 Haare

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.05.2010, 13:01
Beitrag #15

dommae Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: May 2010

8.5.1
2010
de


Deutschland
Ringpuffer - aber wie?
Ome???

Kannst du mir bitte noch verraten, wo ich die einzelnen Symbole finde? Bzw kannst du mir einfach das VI mal zuschicken?

Danke schonmal, saugut!

Thomsen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.05.2010, 13:47
Beitrag #16

dommae Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: May 2010

8.5.1
2010
de


Deutschland
Ringpuffer - aber wie?
    Also, hab nun folgende Lösung gefunden, die schon etwas funktioniert, aber doch einen gravierenden Fehler hat.

Der Fehler, der auftritt ist, das die von mir gebildete Mittelwertkurve immer weiter anwächst. Hab zwei Screenshots mit etwa 1 Minute Verzögerung gemacht. Das Diagramm hat sich zwar nicht großartig verändert, aber die Skala der y-Achse schon.

       

Woran liegt das?

Ome, deine Lösung liefert mit ja nur einen Mittelwert des gesamten Arrays, bildet aber keine Mittelwertkurve aus mehreren Kurven.

Danke schonmal!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.05.2010, 14:02
Beitrag #17

Ome Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 109
Registriert seit: Nov 2009

2011
2009
DE

12XXX
Deutschland
Ringpuffer - aber wie?
Kein Problem hier ist das VI

Lv09_img2


Angehängte Datei(en)
Sonstige .vi  Bsp.vi (Größe: 13,77 KB / Downloads: 250)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.05.2010, 14:07 (Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2010 14:21 von Ome.)
Beitrag #18

Ome Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 109
Registriert seit: Nov 2009

2011
2009
DE

12XXX
Deutschland
Ringpuffer - aber wie?
' schrieb:Ome, deine Lösung liefert mit ja nur einen Mittelwert des gesamten Arrays, bildet aber keine Mittelwertkurve aus mehreren Kurven.


Doch es müsste die Kurve mitteln, da ich ja das Array Transponieren und dann erst mittle.


Edit1: Hier eine Kurze Erklärung was ich mache, ich erzeuge aus den Queue ein 2D Array was dann 5 Spalten und 1000 Zeilen hat, das Transponiere ich zu 1000 Spalten und 5 Zeilen. Dann bilde ich den Mittelwert jeder Zeile und schiebe das Ergebnis in ein Array mit 1000 Werten. Dieses ist dann der Mittelwert deiner 5 Arrays.

Edit2: Du musst eigentlich nur deine For-Schleife durch die For-Schleifen aus meinem Vi ersetzen dann sollte es gehen

hier auch noch mal das Bsp fürlv85hatte nicht gleich gesehen das du kein 2009 hast...

Lv85_img


Angehängte Datei(en)
Sonstige .vi  Bsp_8.5.vi (Größe: 13,25 KB / Downloads: 197)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Chart-History als Ringpuffer verwenden dimitri84 11 11.528 08.12.2009 22:33
Letzter Beitrag: dimitri84
  Array-Ringpuffer in While eg 9 12.118 21.03.2007 17:35
Letzter Beitrag: eg

Gehe zu: