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 

Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung



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!

27.01.2010, 09:56
Beitrag #1

philipp Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Sep 2007

8.6 : 2009 SE
2007
de

81539
Deutschland
Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung
Einen guten Morgen an alle LVF-Mitglieder.

Ich habe mal wieder eine Frage.

Und zwar geht es um eine Mittelwertbildung.

Ich habe eine Messwerterfassung die mir nach einer Mittelwertbildung alle 100ms einen Wert liefert.

Das läuft quasi kontinuierlich ab. Während der laufenden Erfassung sollen jetzt jeweils 10 Mittelwerte gespeichert werden und danach hieraus erneut ein Mittelwert berechnet werden. Sprich 10 Mittelwerte zwischenspeichern und auswerten. Dann wieder 10 Mittelwerte zwischenspeichern und auswerten. Usw.

Habe das jetzt mit Wertänderung (Punt-für-Punkt) realisiert.

Nun zu meiner Frage: Ist es hier besser, wenn man mit Meldern arbeiten würde? Bei der momentanen Lösung kann es ja sein, dass ein MW ausgelassen wird, wenn er den gleichen Wert hat wie sein Vorgänger?

Habe das VI mal angehängt.

Vielen Dank!

Gruß

Lv86_img


Angehängte Datei(en)
Sonstige .vi  MW_f_r_Sprungantwortaufzeichnung__berarbeitet3.vi (Größe: 43,11 KB / Downloads: 215)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.01.2010, 10:11 (Dieser Beitrag wurde zuletzt bearbeitet: 27.01.2010 10:21 von Achim.)
Beitrag #2

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung
Das hatten wir schon öfter...LUCKI hat da einen schönen Vorschlag...such mal danach, oder warte bis er sich meldet...oder schreib ihm ne PN!

EDIT:
Habs gefunden...so:

   

"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.01.2010, 14:47
Beitrag #3

philipp Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Sep 2007

8.6 : 2009 SE
2007
de

81539
Deutschland
Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung
Hi Achim.

Danke für die schnelle Antwort.

Ich hab es mit dem FIR-Filter ausprobiert. Aber es funktioniert nicht so wie ich mir das gewünscht habe.Wink
Die zweite while-Schleife läuft viel schneller, als die Daten aus der ersten Mittelwertbestimmung.
Das heißt ich bekomme meinetwegen 10- oder 20-mal hintereinander denselben Wert. Da macht es dann keinen Sinn eine Mittelwertbildung drüber zu machen. Das Aufsummieren soll immer dann erfolgen, wenn an "Anzeige neuer Mittelwert" ein neuer Wert anliegt, sprich ca. alle 100ms. Lässt sich das mit dem von dir geposteten Beispiel lösen?

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.01.2010, 15:32
Beitrag #4

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung
' schrieb:Die zweite while-Schleife läuft viel schneller, als die Daten aus der ersten Mittelwertbestimmung...Aufsummieren soll immer dann erfolgen, wenn an "Anzeige neuer Mittelwert" ein neuer Wert anliegt

Häh?

Wo ist denn "Anzeige neuer Mittelwert"?

Ganz allgemein:

-Bau mal in jede Schleife eine Wartezeit ein, um deine CPU mal verschnaufen zu lassen
-Platziere "Start Task" und "Stop Task" vor bzw. hinter der Schleife
-Warum brauchst du überhaupt eine zweite Schleife?

A.

"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
28.01.2010, 08:38 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2010 08:42 von philipp.)
Beitrag #5

philipp Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Sep 2007

8.6 : 2009 SE
2007
de

81539
Deutschland
Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung
Guten Morgen!

Die Anzeige neuer Mittelwert ist einfach nur eine numerische Anzeige.
Ich meinte eigentlich wenn ein neuer Wert aus der Mittelwertbildung anliegt.
Wie kann ich denn überprüfen ob ein neuer Wert ausgegeben wird?

Die zweite Schleife war nur zu Testzwecken, die brauche ich natürlich nicht.

Nun noch einmal zu Start und Stop Task.
So wie es im Moment aufgebaut ist funktioniert das ganze.

Edit: Durch die Verwendung in der Klammer realisiere ich doch das "immer wieder Ausführen" der Messung, da diese ja quasi kontinuierlich durchgeführt werden soll. Hast du einen besseren Vorschlag?

Wenn ich die Start und Stop Task außerhalb der Schleife platziere, bekomme ich immer Fehler angezeigt. Kannst du mir einen Tip geben wie ich hier die Start und Stop Task.vi außerhalb anordnen kann ohne Fehler?

Vielen Dank!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.01.2010, 08:49
Beitrag #6

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung
' schrieb:Wenn ich die Start und Stop Task außerhalb der Schleife platziere, bekomme ich immer Fehler angezeigt. Kannst du mir einen Tip geben wie ich hier die Start und Stop Task.vi außerhalb anordnen kann ohne Fehler?

Guck dir im ExampleFinder z.B. mal das Beispiel "Cont AcqChart Samples-Int Clk.vi" an

"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
28.01.2010, 08:53
Beitrag #7

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung
' schrieb:Die Anzeige neuer Mittelwert ist einfach nur eine numerische Anzeige.
Ich meinte eigentlich wenn ein neuer Wert aus der Mittelwertbildung anliegt.
Wie kann ich denn überprüfen ob ein neuer Wert ausgegeben wird?

Ich kann die entsprechende Stelle bei dir im ursprünglichen VI leider nicht identifizieren...

"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
28.01.2010, 09:22
Beitrag #8

philipp Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Sep 2007

8.6 : 2009 SE
2007
de

81539
Deutschland
Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung
Hmm... Ja. Du meinst das Beispiel "ContAcq&Graph Voltage-Int Clk.vi" oder?

Das hab ich mir auch schon angeschaut. Das Problem ist, dass hier das ganze über die kontinuierliche Erfassung gemacht wird. Ich habe das über "Endliche Anzahl" damit bei jeder steigenden Flanke eine Messung beginnt.
Steigende Flanke --> erfasse x Samples (nicht gebrauchter Teil) --> erfasse x Samples (benötigter Teil).
Ich brauche hier nur immer bestimmte Teile des Signals und diese müssen in Abhängigkeit von der steigenden Flanke erfasst werden.

Im Beispiel wird doch nur einmal auf die steigende Flanke getriggert und dann kontinuierlich erfasst. Ich muss auf jede steigende Flanke triggern. Fällt dir dazu was ein?

Ich habe mal zwei Bilder und das überarbeitete VI angehängt.

Im Bild "Beispiel" sieht man das VI im Betrieb. Das Bild bleibt so stehen und ist keine laufende Welle.
Im oberen Graph sieht man den "nicht benötigten Teil" der Messwerte und im unteren Graph den "benötigten Teil".

Im Bild "Systemdruck 4,5bar Taktung 50%" sieht man das tatsächliche zu erfassende Signal. Die Mittelwertbildung muss über den rot markierten Bereich erfolgen. Diesen bestimme ich über die steigende Flanke.

Ich hab im VI auch mal die Stelle markiert die ich meinte.

Gruß

Lv86_img


Angehängte Datei(en) Thumbnail(s)
       

Sonstige .vi  MW_f_r_Sprungantwortaufzeichnung__berarbeitet4.vi (Größe: 43 KB / Downloads: 193)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.01.2010, 11:08
Beitrag #9

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung
' schrieb:Ich hab es mit dem FIR-Filter ausprobiert. Aber es funktioniert nicht so wie ich mir das gewünscht habe.Wink
Die zweite while-Schleife läuft viel schneller, als die Daten aus der ersten Mittelwertbestimmung.
Bei der Mittelwertbildung muß man unterscheiden, ob es dabei um Datenreduktion oder um Glättung geht, und Du muß da erst mal Farbe bekennen. Bei der Mittelwertbidung mit FIR-Filter erfolgt keine Datenreduktion, die Anzahl der Punkte bleibt erhalten.
Einer größte Vorteile von Meldern/Queues ist, daß sich die Verbraucherscleife mit der Erzeugerscleife synchronisiert. Der Meldeempfänger wartet bei jedem Dchleifendurchlauf, bis neue Daten im Puffer sind.
Deine untere Schleife ist hingegen völlig undiskutabel, sie läuft rasend schnell und beansprucht 100% CPU-Last. Aber selbst wenn Du ein Wait hineinmachst, hast Du so keine Synchronisation mit der Hauptschleife.
Anm: Absendung hat sich verzögert, bitte um Entschuldigung, falls jetzt neue Beiträge gekommen sind, in denen das Gleiche steht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.01.2010, 13:13 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2010 13:20 von philipp.)
Beitrag #10

philipp Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Sep 2007

8.6 : 2009 SE
2007
de

81539
Deutschland
Kont. Mittelwertbildung mit 10 Werten während laufender Datenerfassung
Hi!

Es geht bei meiner Anwendung um eine Datenreduktion für die Mittelwertbildung. Ich brauche z.B. von den erfassten 1000 Messwerten die ersten 650 Werte nicht und die folgenden 350 für die Mittelwertbildung.
Aus diesen 350 Werten wird der Mittelwert gebildet. Von diesem gebildeten Mittelwert will ich nun noch einmal 10 Werte nach einander zwischenspeichern und noch einmal einen Mittelwert bilden. Diese zweite MW-Bildung dient nur einer Anzeige, damit der Wert nicht so stark schwankt. "Arbeiten" will ich mit dem Mittelwert aus den 350 Messwerten.

Ich habe noch ein Beispiel gepostet ohne die untere Schleife.

Hast du eine Idee wie ich feststellen kann, ob neue Daten aus der 1.Mittelwertbildung vorhanden sind?

Bin dankbar für jeden Tip!
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
  variable Mittelwertbildung von verschiedenen Signalen hrathke 6 6.225 30.03.2020 09:28
Letzter Beitrag: hrathke
  Teil-Mittelwerte aus laufender Messreihe?! Renesen 3 5.043 23.11.2012 08:44
Letzter Beitrag: GerdW
  Mittelwertbildung bei Messreihen LabView Beginner 5 7.059 19.08.2012 13:50
Letzter Beitrag: GerdW
  Glättung Hysteresekurve durch Mittelwertbildung 123mibu 13 15.713 06.03.2012 11:37
Letzter Beitrag: 123mibu
  Filterspezifikationen während laufendem VI ändern reNNer 4 4.830 02.11.2010 11:25
Letzter Beitrag: Matze
  Zoomen in Signalverlaufsgraph bei noch laufender Messung? schurzgasschweisser79 10 9.974 24.09.2010 08:23
Letzter Beitrag: schurzgasschweisser79

Gehe zu: