LabVIEWForum.de - Kontinuierliche Datenerfassung und Speicherung

LabVIEWForum.de

Normale Version: Kontinuierliche Datenerfassung und Speicherung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe ein LabVIEW-Problem und hoffe, dass Ihr mir, ohne dass es Euch große Umstände bereitet, auf die Schnelle helfen könnt.
Ich hab mich immer noch nicht besonders mit der Programmierung unter LabVIEW auseinandergesetzt - bin also immer noch etwas unbedarft.
Mein aktulelles Problem:
Schwingungsmessung. Ich möchte mit einer Samplingrate von 100 Hz zwei Sensoren über 3 Tage kontinuierlich abfragen und die Messwerte mit der zugehörigen (Uhr-)zeit während der Erfassung abspeichern und zwar, wenns geht, immer in Dateien mit jeweils 65536 Messwerten pro Kanal (also etwa alle 10 Minuten), weil sonst die Dateien etwas unhandlich groß werden. Schön wäre es, wenn die Messdaten während der Erfassung auf einem Waveform-Chart angezeigt würden - muss aber nicht unbedingt sein. Nutze DAQPad 6015.
Ich bekomme es nicht hin.
Die Probleme im einzelnen: Wie komme ich an die (Uhr-)zeit, die dem einzelnen Messpunkt zugeordnet ist? Wie schaffe ich es, nacheinander in verschiedene (durchnummerierte) Dateien zu schreiben, ohne das Auslesen der AD-Wandlerkarte abzubrechen und neu zu beginnen?
Wie stimme ich das Timing des Programms mit dem Hardware-Timing ab?
Eigentlich ein Allerweltsproblem, das Ihr wahrscheinlich schon hundertfach gelöst haben. Deshalb meine Fragen:
Könnt Ihr mir aus Eurem Repertoire ein Programm, das das leistet zur Verfügung stellen, das ich dann vielleicht nur noch ein bischen umschreiben muss?
Kennt Ihr allgemein zugängliche Beispiele für die Lösung meines Problems (Internet?)?
Habt Ihr ein paar einfache Tipps, die mir vielleicht weiterhelfen.
Für jede Unterstützung wäre ich sehr dankbar.
' schrieb:Wie komme ich an die (Uhr-)zeit, die dem einzelnen Messpunkt zugeordnet ist?
Am besten, indem du statt Zahlen oder Arrays Waveforms misst. Dazu einfach eine andere Instanz des DAQmx Read auswählen (Menü unter dem VI).

' schrieb:Wie stimme ich das Timing des Programms mit dem Hardware-Timing ab?
Indem du beides getrennt laufen lässt und es eben gerade nicht synchronisierst. Mit dem DAQmx Timing legst du eine konstante Messrate fest, die unabhängig von deienr Software eingehalten wird. Die Messung wird dann mit DAQmx Start gestartet. Mit DAQmx Read liest du dann einfach nur Daten aus dem Puffer der bereits gemessenen Werte. Du kannst DAQmx Read so oft aufrufen, wie du willst. Die Messung findet trotzdem genau mit der definierten Rate statt.

' schrieb:Wie schaffe ich es, nacheinander in verschiedene (durchnummerierte) Dateien zu schreiben, ohne das Auslesen der AD-Wandlerkarte abzubrechen und neu zu beginnen?
Wie bereits gesagt, hat das Aufrufen von DAQmx Read keinen Einfluss auf die Messung, wenn du mit Timing und Start arbeitest. Du hast dann mehrere Möglichkeiten. Variante 1 (und definitiv die bessere) ist, einfach immer alle Daten aus dem Puffer zu lesen und an ein Array anzuhängen. Danach überprüfst du die Arraygröße mit einer Case-Struktur. Ist sie größer als 65k, dann schreibst du alle Daten in eine beliebige Datei und leerst das Array - der Spaß beginnt von vor.
Variante 2 ist, mit DAQmx Read so lange zu warten, bis 65k Daten im Puffer sind und erst dann zu lesen. Dann brauchst du keine Arrays erstellen und leeren und keine Abfrage auf Arraygröße, aber du hast keine Chance das Messen mit einem Stop-Button abzubrechen, wenn du gerade auf Daten wartest. Das kann nerven. Die Zahl der zu messenden Daten kannst du am DAQmx Read festlegen.
Vielen Dank, jetzt komme ich weiter.
Referenz-URLs