Guten morgen,
habe folgendes Problem, ich habe eine temperatur, von der ich alle 10 sec einen NEUEN mittelwert brauche.Momentan läufts bei mir so,dass ich nur einen gleitenden Mittelwert bekomme. Hab gedacht, dass könnte mit Teilarray funktionieren, aber ich bekomme da immer nur den gleichen wert raus,obwohlich ich bei Index 10 angebe. Mit welcher arrayfunktion kann ich das denn machen oder bin ich total aufm falschen Dampfer??
P.S. hab nur version 8
konnte es leider nur in jpeg hochladen
mfg Kev
Hallo,
ich verstehe das Programm nicht: Du willst doch 10 Werte mittel - also musst Du die Datenerfassung in eine Schleife bis 10 stellen - die Werte würde ich aufsummieren und einfach nach dem Ende der 10er Schleife durch 10 dividieren.
Gottfried
Auf die Gefahr hin, daß ich mich hier strafbar mache, wenn ich eines dieser ungeliebten Express-VI ins Gespräch bringe (oder zumindest die Experten über mich herfallen), verrate ich Dir, daß es für Dein Problem das genau passende Express-VI "Datenkomprimierung" gibt. Reduktionsfaktor 10 und arithmetricher Mittelwert sind bereits voreingestellt, so daß Du überhaupt nichts mehr machen mußt.
Die Verwendung des ExpressVI bietet sich bei Dir geradezu an, da Du schon mit Express-VI und dynamischen Signalen arbeitest.
[
attachment=13447]
' schrieb:Hallo,
ich verstehe das Programm nicht: Du willst doch 10 Werte mittel - also musst Du die Datenerfassung in eine Schleife bis 10 stellen - die Werte würde ich aufsummieren und einfach nach dem Ende der 10er Schleife durch 10 dividieren.
Gottfried
hi,
das Programm war nur erstmal zur Mittelung der Werte gedacht.
wie kann ich denn die 10 werte puffern, um sie dann durch 10 zu teilen. ich meine, die müssen ja irgendwo dann kurzzeitig gespeichert werden. mit welcher Funktion gehtn das?wenn ich dass mit einem array mache gibt der mir immer nur einen wert aus, komischerweise immer nur den Ersten...
mfg
Zitat:wie kann ich denn die 10 werte puffern, um sie dann durch 10 zu teilen
Ich glaube was du meinst ist ein Schieberegister. Rechtklick auf einen Ausgangsknoten
der Schleife und durch Schieberegister ersetzen.
edit: An den EIngang des Registers ne 0 anschließen.. Hab ich vergessen
' schrieb:Auf die Gefahr hin, daß ich mich hier strafbar mache, wenn ich eines dieser ungeliebten Express-VI ins Gespräch bringe (oder zumindest die Experten über mich herfallen), verrate ich Dir, daß es für Dein Problem das genau passende Express-VI "Datenkomprimierung" gibt. Reduktionsfaktor 10 und arithmetricher Mittelwert sind bereits voreingestellt, so daß Du überhaupt nichts mehr machen mußt.
Die Verwendung des ExpressVI bietet sich bei Dir geradezu an, da Du schon mit Express-VI und dynamischen Signalen arbeitest.
[attachment=40764:Datenkomprimierung.png]
suppi danke
jetz muss ich nur gucken, wie ich die schleife hinkriege.
weil das is ja etwas kniffelig, weil das kontinuierlich über einen längeren Zeitraum laufen soll, aber eben alle 10 sec ein Wert abspeichern soll.
mfg
' schrieb:Ich glaube was du meinst ist ein Schieberegister. Rechtklick auf einen Ausgangsknoten
der Schleife und durch Schieberegister ersetzen.
edit: An den EIngang des Registers ne 0 anschließen.. Hab ich vergessen
hi,
was macht denn dieser Schieberegler???
mfg
' schrieb:hi,
was macht denn dieser Schieberegler???
mfg
Das Schieberegister ist quasi der Puffer den du brauchst um diese 10 Werte aufzuaddieren
und anschließend durch 10 zu teilen. Im Bild mit dem roten Pfeil eingezeichnet wird nach
jedem Schleifendurchlauf der rechte Wert wieder vorne zur Verfügung stehen.
Zum testen einfach mal dies kleine VI nachbauen, anstatt der Null irgenwie ne Zahl eintragen,
und im Highlightmodus (Lampe in der Menüleiste des Blockdiagramms anklicken) einfach mal
laufen lassen. Dann kannst du gut sehen was da passiert.
' schrieb:Das Schieberegister ist quasi der Puffer den du brauchst um diese 10 Werte aufzuaddieren
und anschließend durch 10 zu teilen. Im Bild mit dem roten Pfeil eingezeichnet wird nach
jedem Schleifendurchlauf der rechte Wert wieder vorne zur Verfügung stehen.
Zum testen einfach mal dies kleine VI nachbauen, anstatt der Null irgenwie ne Zahl eintragen,
und im Highlightmodus (Lampe in der Menüleiste des Blockdiagramms anklicken) einfach mal
laufen lassen. Dann kannst du gut sehen was da passiert.
ja danke, das geht. hab das prinzip auch verstanden.
jetz muss ich gucken, wie ich die Schleife da reinkriege. kann man in die schleife nen auto-reset einbauen.oder muss ich das über die case struktur machen??
danke für eure hilfe...
meine Frage hat sich soeben erübrigt, da es ja noch so ein tolles VI gibt namens "verstrichene Zeit".
danke nochmal
mfg