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!
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??
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.
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.
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
15.07.2008, 08:33 (Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2008 08:35 von Grobi.)
' 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.
' 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??