LabVIEWForum.de - Sound&Vibration Peak Search in TDMS ausgeben in gleichen Zeitabständen

LabVIEWForum.de

Normale Version: Sound&Vibration Peak Search in TDMS ausgeben in gleichen Zeitabständen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Experten,

ich bin absoluter Anfänger in LabView und habe mir aus den Examples ein Programm gebastelt, welches aus einem Eingangssignal die Peaks und die dazugehörige Frequenz ermittelt. Diese Informationen werden kontinuierlich in eine TDMS Datei geschrieben. zu den beiden Channels "Phase Sweep" und "Amplitude Sweep" wird noch ein Zeitchannel hinzugefügt.

Da ich ein Signal im Bereich von 0 - 20000Hz aufnehme habe ich im MAX folgende Einstellungen getroffen:

Erfassungsmodeus: kontinuierlich
Samples: 1k
Rate: 60K (vgl. Shannon Theorem)


Messkarte: Ni-PCI 6251

Nun zu meinem Problem: in TDMS Messdaten werden die Werte in unterschiedlichen Zeitabständen ausgegeben, d.h. es ist für mich ein riesiger Aufwand 2 Messungen vergleichbar zu machen, da die Zeitabstände in denen die Signale in die Messdatei geschrieben werden unterschiedlich sind.
Ich vermute, dass LV wartet bis es die 1000 Werte voll hat und diese dann an die TDMS weitergibt. Da die Anzahl der Peaks immer unterschiedlich ist, habe ich auch unterschiedliche Zeiten, oder??

Ich habe gelesen dass man die Zeit über samples/Rate einstellen kann. Das funktioniert aber nicht. Wahrscheinlich aus o.g. Problem. Mit WAIT in den Schleifen habe ich es auch schon probiert, dass führt jedoch nicht zum gewünschten Ergebnis. Nichtmal die Anfangszeiten sind gleich.

Könnt ihr mir bitte weiterhelfen. Ich möchte gern im Programm einstellen können, in welchen Zeitabständen Messdaten in die TDMS Datei geschrieben werden sollen.

Anbei mein VI

Vielen herzlichen Dank im Voraus!

AL

P.S.: Für den ein oder anderen Tipp, wie ich mein Programm noch "schöner" machen kann, wäre ich ebenfalls sehr dankbar
Lv09_img2
Hallo AL

Zitat: Ich möchte gern im Programm einstellen können, in welchen Zeitabständen Messdaten in die TDMS Datei geschrieben werden sollen.

Du kannst bei deinem Array abfragen, wie viele Elemente vorhanden sind, dann kannst du ins TDMS schreiben.
Mit diesem tdms-Link kannst mal schauen wie es andere so machen.

Hilft dir das?

lg Martin

PS: Immer lv-Version des upload angeben. z. B.: Lv10

PPS: Ausserdem ist es ratsam, ein vi in einer tieferen Version (save for Previous Version) zuuploaden, da nicht alle mit der neusten Version arbeiten...
Hallo Martin,

vielen Dank für die schnelle Antwort. Habe es jetzt mal mit dem Timed Loop probiert. Ich bekomms aber leider auch nicht hin. Dann "steht" immer das ganze VI.

Hast du vielleicht noch eine bessere Idee, oder kannst du mir zeigen wie und wo ich in meinem Programm die Timed Loop anwenden kann?

Danke nochmal!

AL
Versuch mal sowas.... (Dies ist nur ein Bsp., muss für deine Anwendung angepasst werden.)



Lv86_img
Hallo Martin,

ich habs probiert die Timed Loop um das TDMS Schreiben zu legen. Etwa so:

[attachment=30627]

Nun kommt immer eine Fehlermeldung, dass die Loop mit den falschen Parametern initializierd wurde. Hab ich den Timed Loop an die richtige Stelle gemacht?? Ich weiß nicht weiter...

Danke!
' schrieb:vielen Dank für die schnelle Antwort. Habe es jetzt mal mit dem Timed Loop probiert. Ich bekomms aber leider auch nicht hin. Dann "steht" immer das ganze VI.


Erst einmal wie kommst du zu der Timed Loop? Ich dachte du "liest" damit Daten ein.... Ich glaube die brauchst du nicht.

Dann würde ich versuchen dein VI aufzuräumen, wer kommt da noch draus.... Ornung brauchts auch beim Programmieren...Style Guid
Wie gesagt, blutiger Anfänger!Smile

Das mit dem aufräumen wurde mir von einem anderen Experten auch schon nahe gelegt ^_^

Ich lade nochmal ein "aufgeräumtes" VI hoch. lv2009

Da haben wir uns mit dem Timed Loop missverstanden. Sorry, ich dachte damit könnte ich mein Problem lösen.

Fakt ist, sobald die Standby-Schleife (ganz links) den Wert "akustik" vom er Maschine gesendet bekommt, läuft die Messung und damit auch die Aufzeichnung los. Da ich in ms messe sehe ich hier kleinst Abweichungen. Mir würde es auch reichen alle 100ms zu messen oder so. Was für mich wichtig ist, dass alle Messungen die gleiche Startzeit haben und auch gleiche Abstände zwischen den Messungen.

Danke nochmal für dein Interesse. Bist bis jett leider der einzige, der mir in dem Thema weiterhelfen kann. Lag aber vielleicht auch an meinem misserabelen Style Rolleyes

AL
Referenz-URLs