LabVIEWForum.de - Speichern jedes 100sten Wertes

LabVIEWForum.de

Normale Version: Speichern jedes 100sten Wertes
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich habe wie ihr euch vorstellen könnt ein kleines Problem.

Ich erfasse das analoge Signal einer Krafmessplattform. In einem Programm nehme ich die Werte der Kräfte auf und führe eine Fouriertransformation (Frequenzanalyse) durch. Die Frequenzanalyse benötigt eine hohe Abtastrate (1000Hz). Für die Kraftmessung benötige ich lediglich eine Abastrate von 10Hz. Das heißt ich brauche nur jeden hundertsten Wert. Diese gefilterten Werte will ich dann in einer Datei abspeichern.

Hat jemand eine Idee, wie ich das bewerkstelligen kann.

Gruß, bereluniz
Einfach bei 'nem "Quotient & Remainder" durch 100 teilen. Wenn der Rest 0 ist, dann speichern.

Gruß Markus
Danke schon mal für die schnelle Antwort.

Ganz durchgestiegen bin ich aber trotzdem noch nicht.
Als Eingang habe ich aber ein Signal und kein Array oder ähnliches. Kann ich das auch anbringen? Und wenn ja wo (x oder y)? Und geh ich dann mit dem Quotienten als Ausgang ins "Datei schreiben"?

Gruß, bereluniz
Du kannst ja ein Signal auch in ein Array umwandeln. Bei Quotient & Remainder kannst Du in der Hilfe mal nachschauen (Strg + H).
Schlecht wäre es auch nicht, wenn Du Dein VI mal hochladen könntest.

Gruß Markus

' schrieb:Danke schon mal für die schnelle Antwort.

Ganz durchgestiegen bin ich aber trotzdem noch nicht.
Als Eingang habe ich aber ein Signal und kein Array oder ähnliches. Kann ich das auch anbringen? Und wenn ja wo (x oder y)? Und geh ich dann mit dem Quotienten als Ausgang ins "Datei schreiben"?

Gruß, bereluniz
Markus ha jat schon eine Möglichkeit genannt.

Es wäre hier die Information wichtig, ob Du die aufgenommene Signalform Online (sofort) oder Offline (nachdem es als Array abgespeichert ist) verarbeitest.

Online: Die Signalerfassung erfolgt ja immer gepuffert, das Read-VI hat mit der Datenerfassung selbst nichts zu tun und liest nur aus dem Puffer aus. Üblicherweise mehrere Werte auf einmal. Da liegt ja nichts näher, als immer 100 Werte pro Schleifendurchgang zu lesen. Für die Fourieranalyse werden alle Werte benutzt, für die Kraftmessung hingegen nur 1 Wert pro Lesevorgang.
(Wenn Du das VI mit dem Datenerfassungs-Teil posten würdest. könnte man die Beratung hier entsprechend verfeinern)

Offline: Schau Dich mal selbst im Funktionsmenü um, es gibt mehrere VIs (Express und andere) zur Dezimierung und zur Neuabtastung von Waveforms und Daten-Arrays.
Servus Markus, servus Lucki,

ob ich online oder offline verarbeite klärt sich vielleicht, wenn ich die Situation näher schildere (mit Zahlenbeispielen):

Im DAQ ist ein Rate von 1kHz eingestellt. Die hohe Frequenz benötige ich für die Fourieranalyse. Für die Kraftmessung ist die Rate viel zu hoch. 10 Samples pro Sekunde genügen, d.h. jeder 100ste Wert. Und diese Werte will ich in "Messwert in Daten schreiben" speichern.
Nehmen wir mal an die Messung dauert 10min. Die FFT-Analysen will ich zu bestimmten Zeitpunkten durchführen und zwar 4 mal in dem Zeitraum, d.h. bei 150sec, 300sec, 450sec und 550sec. Muss ich denn bei der Fourieranalyse ein Zeitfenster angeben, wie z.B. dass er die Analsye im Zeitraum 150-152sec durchführen soll? Diese Werte, die er für die Fourieranalyse verwendet will ich speichern ("Messwerte in Daten speichern2"). Kann ich auch die Ergenisse in Graphen anzeigen lassen?
Könnt Ihr mir noch zeigen, wie man die Zeit mit in die LVM-Datei speichert, sodass zu jedem Messwert ein Zeitwert vorhanden ist, damit ich z.B. Graphen erstellen kann.

Unendlichen Dank, ihr seid mir eine große Hilfe!

Lv85_img
Zwischen Deinen Worten (Text) und Deinen Taten (angehängtes VI) sehe ich eine Riesenkluft. Das Vi erfasst einmalig 80 Samples mit eine Rate von 10Hz. Und dann ist Fini, denn das Porgramm hat keine While-Schleife. Wo sollen denn da die 1 kHz-Daten über mehrere Minuten herkommen, mit denen Du eine Fourieranalyse machen willst?
' schrieb:Zwischen Deinen Worten (Text) und Deinen Taten (angehängtes VI) sehe ich eine Riesenkluft. Das Vi erfasst einmalig 80 Samples mit eine Rate von 10Hz. Und dann ist Fini, denn das Porgramm hat keine While-Schleife. Wo sollen denn da die 1 kHz-Daten über mehrere Minuten herkommen, mit denen Du eine Fourieranalyse machen willst?

Sorry, dann habe ich vergessen die Werte wieder anzupassen, nachdem ich ein paar Test gefahren bin. Die Rate ist 1000 und die Samples sind 600000, das müssten 10 min ergeben.
So sollten sich 10 min realisieren lassen.

Gruß bereluniz
Aus Prinzip sollte ich mich ja weigern, eine Frage zu einem VI zu beantworten, das nur aus Express-VIs:grrr:besteht.

Das gesuchte Express-VI findest du hier:

[attachment=13869]

MfG, Jens

P.S.: Vergiss die Antworten von Markus, der ist völlig auf dem falschen Dampfer...
Habe mal etwas mit deinen Express-VIs gemacht, in der Serverpause war ja genügend Zeit. Die Dateispeicherung habe ich für Dich übrig gelassen.
Beachte: FFT setzt eine Samplezahl von 2^N voraus, wenn Du das nicht beachtest, dauert es um Größenordnungen länger.
Habe die Samplezahl für Testzecke verringert, damit man in endlicher Zeit etwas sieht.
Die mehrfachen Frequenzanalysen zu verschiedenen Zeiten werden als mehrere Plots in einem Diagramm dargestellt.
[attachment=13871]
Lv85_img[attachment=13870]
Seiten: 1 2
Referenz-URLs