LabVIEWForum.de
Mittelwert bilden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Mittelwert bilden (/Thread-Mittelwert-bilden--27643)

Seiten: 1 2


Mittelwert bilden - sashaheisen - 10.05.2015 18:15

Halli hallo liebe Leute,

ich verwende LV 2011 und möchte die Mittelwert-Funktion verwenden. Da ich noch ein Anfänger bin, hoffe ich, dass ihr mir helfen könnt. Über eine globale Variable bekommen ich den Druckwert, der jedoch schwankt. Um einen stabileren Wert zu bekommen, soll der jede Sekunde 10 Werte davon mitteln. Das Ganze befindet sich schon in einer While-Schleife, die jede 100 ms einmal durchlaufen wird. Ich weiß nicht, wo ich da die Zeit oder die Anzahl der Messwerte eingeben kann..
[attachment=53066]

Könnt ihr mir da helfen? Danke schonmal im Voraus.

Gruß,
Sasha


RE: Mittelwert bilden - Trinitatis - 10.05.2015 20:27

Hallo Sasha,

da hast du ja schon richtig was programmiertBig Grin

nun aber konstruktiver:

du könntest dir in einer Schleife ein Schieberegister bauen und darin ein 1D-Array aufbauen und dieses als FIFO organisieren, in dem immer 10 Werte vorgehalten werden, die du dann jeder Zeit zu einem MW zusammenführen könntest.
Da du aber gemäß deinem Profil auch über die LossyQueue verfügst, würde ich es darüber machen. Dort wird dann das FIFO-Verhalten von allein organisiert.

In jedem Fall solltest du folgenden Tip beherzigen:
Poste VIs statt Bilder - da hast am Ende DU mehr von.


Gruß, Marko
Edit:
Weil das dein 1. Beitrag war und ich sonst GNTM gucken müsste, gibts trotzdem mal eine VI-Illustration zu meinen Erläuterungen.


RE: Mittelwert bilden - sashaheisen - 10.05.2015 20:58

Hallo Marko,

danke erstmal für deine schnelle Antwort. Ich poste das SubVI anbei. Da ich wirklich total am Anfang bin und nach dem Googlen der Begriffe FIFO und Lossyqueue immer noch nicht schlau wurde, frag ich gern weiter Big Grin . Im Prinzip soll die Sicherheitsschleife gemittelte Druckwerte nehmen und dann eine Lampe an gehen, wenn der gemittelte Wert zu hoch ist. Ich hätte es auch über ein Schieberegister und einer For-Schleife gemacht und nach gefühlten 10 Beispiel - Mittelwert VI's. Und ich muss wohl die globale Variable in eine 1D Array schreiben. Aber leider weiß ich ab da an auch nicht wie es weiter geht. Sad

[attachment=53068]

Gruß,
Sasha


RE: Mittelwert bilden - GerdW - 10.05.2015 21:34

Hallo Sasha,

Lösungsvorschlag: verwende die Funktion PtByPt-Mean - dann benötigst du kein (eigenes) Schieberegister mehr…

Zu deinem VI: RUBE-GOLDBERG-ALARM!
Was sollen diese ganzen Case-Strukturen, die TRUE und FALSE ausgeben - wenn am Selektor TRUE und FALSE anliegen!?


RE: Mittelwert bilden - Trinitatis - 10.05.2015 21:36

Hallo Sasha,

ich hab dir das VI mal umgebaut (und deine RubeGoldberg-Case-Strukturen entfernt).

Sieh´s dir mal an.


Gruß, Marko


RE: Mittelwert bilden - GerdW - 11.05.2015 08:29

Hallo Sasha,

und dann gibt es ja noch die Compound-Arithmetik:
[attachment=53070]
(Ich hoffe, ich habe die Multiplikationen/Divisionen fehlerfrei hinbekommen…)


RE: Mittelwert bilden - Trinitatis - 11.05.2015 09:13

(10.05.2015 21:34 )GerdW schrieb:  Lösungsvorschlag: verwende die Funktion PtByPt-Mean - dann benötigst du kein (eigenes) Schieberegister mehr…

Hallo Gerd,

ich glaube, die PtByPt-Paletten sollte ich mir mal genauer ansehen Smile


Gruß, Marko


RE: Mittelwert bilden - sashaheisen - 11.05.2015 10:10

Guten Morgen Leute,

die Funktion Pt By Pt - Mean erscheint mir verständlicher. Gibt es dabei was zu beachten (z.B. in eine extra Schleife einbinden) oder ist das dann damit getan, wenn ich meine globale Variable anschließe und sage Sample-Länge 10?
Da die Sicherheitsschleife in Form einer SubVI im HauptVI bereits in einer While-Schleife steckt, die alle 100 ms einmal durchlaufen wird, brauche ich keine Schleife mehr im SubVI selbst (Marko mir da eine hineingebastelt) oder habe ich da einen Denkfehler?

Wenn er jetzt alle 100 ms jeweils 10 Druckwerte erfasst und daraus den Mittelwert bildet, ist mein Ziel erreicht. Big Grin

Gruß,
Sasha


RE: Mittelwert bilden - GerdW - 11.05.2015 10:20

Hallo Sasha,

Zitat:Da die Sicherheitsschleife in Form einer SubVI im HauptVI bereits in einer While-Schleife steckt, die alle 100 ms einmal durchlaufen wird, brauche ich keine Schleife mehr im SubVI selbst
Das würde ich bejahen. Leider fehlt ein Bild oder ein VI, um das komplett beurteilen zu können…

Zitat:Wenn er jetzt alle 100 ms jeweils 10 Druckwerte erfasst und daraus den Mittelwert bildet, ist mein Ziel erreicht.
Laut deiner Beschreibung wird alle 100ms genau ein Druckwert erfasst und ein Mittelwert berechnet.
Nach 1 Sekunde (bzw. 10 Durchläufen) hast du den Mittelwert über die letze Sekunde…


RE: Mittelwert bilden - sashaheisen - 11.05.2015 11:12

Hallo GerdW,

klingt schon so, wie ich es haben wollte. Jetzt ist halt die Frage was der z.B. nach dem 3. Durchlauf (300 ms) macht, mittelt der dann die bisherigen Werte, obwohl ich ja Sample-Länge 10 angegeben habe? Schlimmstenfalls gäbe er beim ersten Durchlauf eine 0 bis zum 10. Durchlauf weiter.

Gruß,
Sasha