LabVIEWForum.de
running avarage - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: running avarage (/Thread-running-avarage)

Seiten: 1 2


running avarage - Claudia - 27.10.2005 10:43

Hej , ich möchte aus einer Waveform eine running average bilden, bis jetzt habe ich das immer mit der Funktion " Filter" gemacht. Ich brauche allerdings auch noch eine Mean Funktion.
Gibt es eine die man mit Dynamik Data verbinden kann?
Oder muss ich meine Waveform vorher in ein Array umwandeln?

Ich erhalte etwa 500 Messwerte pro Sekunde, wuerde aber gerne nur 50 davon weiterverarbeiten. Dafuerm möchte ich die mean funktion einbauen.

Hatt einer von euch vielleicht ne Idee?
Wäre super,
vielen Dank schon mal
Claudia


running avarage - hansidergute - 27.10.2005 11:23

Es gibt ne Funktion "Mittelwert (Punkt-für Punkt)" ("Mean PtByPt.vi")
Mit der Angabe "Sample-Länge" gibts du den Wert für die Anzahl über die gleitend gemittelt werden soll.

Diese Funktion ist aber nicht im Basispaket enthalten.

Meinst du das?


running avarage - Claudia - 27.10.2005 12:58

Danke schön!!

Hab es sogar in meinem englisch/schwedischen LabVIEW gefunden!!

Hab jetzt nur noch ein Problem.
In meinem letzten Array kommen keine Daten an,
irgendeine Idee woran das liegen könnte?

Das letzte Arry liegt ausserhalb einer for-schleife und
die Daten werden innerhalb der Schleife gesammelt.
Sie werden ueber eine lokale Variable und parralle uber einen Tunnel weitergeleitet


running avarage - Claudia - 27.10.2005 13:19

zumindestens einen Fehler habe ich mittlerweile, hatte den Vektor fuer meine Variable falsch diffiniert Wink


running avarage - Claudia - 27.10.2005 13:26

dafuer kann ich leider das PtByPt nicht einbauen, lässt sich mit meinem Datentypen nicht verknuepfen ...

Claudia


running avarage - para - 27.10.2005 19:50

Hast du es schonmal mit "sample compression" (ich weiß nicht, was das in der deutschen Version ist) versucht?


running avarage - hansidergute - 27.10.2005 20:24

Also erst mal weiß ich nicht warum ich ständig ne Fehlermeldung bekomme wenn ich deine VI's öffnen. "nidaq32.dll konnte nicht gefunden werden"
Dann solltest du dir das mal reinziehen.
<a href="http://www.LabVIEWforum.de/viewtopic.php?t=105&highlight=sauberes+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank"><a href="http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren" target="_blank">http://www.LabVIEWforum.de/viewtopic.php?t...s+programmieren</a></a></a></a></a></a></a></a></a></a></a></a> ://http://www.LabVIEWforum.de/viewtopi...grammieren</a> </a>

ist nich grad ne Freude in deinem VI was zu verstehen.

Dann gibts in deinem Vi gar keine For-Schleife, höchstens ne While-Schleife.
Für was hast du Schieberegister benutzt????
Und du weißt das erst nach beendigung der Schleife, also nach deinen 5 min, die Daten ausgegeben werden um das Array zu bilden.
Dann denk ich, dass es einen Konflikt mit deinen Lokalen Variablen geben wird. Außerhalb der Schleife liest und schreibst du die Variable gleichzeitig.


running avarage - Claudia - 31.10.2005 15:05

Danke fuer die Tips

Hab mich mal im einbau von subvis geuebt, daduerch ist mein Programm aber viel langsamer geworden.
Deshalb sind sie jetzt wieder verschwunden

Gibt es eine möglichkeit innerhalb der while schleife kontinuierlich zu speichern? Bzw das mien Programm auch speichert wenn ich es vorzeitig abrechen muss.

Alternative mit einem For-Loop die Messzeit zubestimmen ?

Claudia


running avarage - hansidergute - 01.11.2005 13:50

SubVI's machen ein Programm nur so langsamer wie es dauert das VI abzuarbeiten. Also um so komplexer es wird um so länger dauert es natürlich.
Hier mal ein Bsp. wie du im Stream in eine Datei speicherst. In der inneren Schleife werden die Daten erzeugt. Spalte1=Drehreglerwerte, Spalte2=Zufallszahl, Spalte3=verstichene Messzeit. In der inneren Schleife machst du also deine Datenerfassung.
Viel Erfolg

Hab noch mal das vi verbessert. Hatte ein eigenes VI noch drin was du natürlich nicht hattest


running avarage - Claudia - 01.11.2005 13:59

Danke fuer den Tip,
habe nämlich ein zimliches Problem beim auslesen meiner Daten...

kann leider das Subvi Open-Create-Replace-File nicht öffnen,
könntest du mir das vielleicht auch noch zukommen lassen?

Wäre super!
Danke schon mal
Claudia