LabVIEWForum.de - synchrone Datenspeicherung

LabVIEWForum.de

Normale Version: synchrone Datenspeicherung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe Dank Eurer bisherigen Hilfe eine Software für einen Prüfstand
generiert. Dabei werden 4 Signale per USB-6251 erfaßt und ggf. in eine
Datei gespeichert. Gleichzeitig generiere ich per Software
(Einstellregler) ein Signal und gebe das per DA aus. Das Signal wird
ebenfalls in die Datei gespeichert. Nun soll zur besseren
Übersichtlichkeit die Messdatenaufzeichnung so realisiert werden, das
nur bestimmte Werte, z.B. nur jeder 10. Zyklus der gesamten MEssung in
die Datei gespeichert werden. Ich habe dazu einen Zyklenzähler
eingebaut, der auf einen Zyklenwert geprüft wird (Modulo mit
Zyklenzähler). Das Ganze funktioniert sehr gut.

ABER :
Die Meßdaten werden - einstellbar - mit z.B. 1000 Hz gespeichert. Durch
das Timeout in der While-Schleife werden aber die Software-generierten
Werte für den Zyklenzähler und der Drehzahlvorgabe über Drehregler nur
mit dem Timeout von 100 ms in die Datei geschrieben.

Frage:
Wie kann ich die Daten in die Datei synchron aufzeichnen ? Außerdem wird
in der Meßdatenanzeige der Kanalname nicht gesetzt - wie z.B. bei Kraft
und Weg, obwohl ich Bezeichner für die Kanäle eingefügt habe.

Lv85_img
Hallo weidner,

ich hab mir Dein Programm kurz angesehen.
Aber ehrlich gesagt, wenn das Blockdiagramm den Bildschirm sprengt und man scrollen muß vergeht mir da doch ziemlich schnell die Lust. Das solltest Du dringend ändern. Es gibt keinen Grund warum ein Blockdiagramm größer als eine Bildschirmseite sein muß.

Was mir aber noch nicht klar geworden ist, welches Problem Du mit der Speicherung der Meßdaten hast.
Du möchtest Werte mit 1000Hz erfassen und speicherst diese alle 100ms ab. Wo ist das Problem?
Dann speicherst Du eben alle Werte die innerhalb von 100ms angefallen sind.

Gruß
Andreas
Hallo Andreas,

tut mir leid, aber das Programm ist leider sehr rasant gewachsen. Ich habe jetzt mit der Ordnung der Einzel-Abläufe in Unterprogramme begonnen.Aber zurück zum Problem.
Ich speichere doch mit der eingestellten Frequenz der While-Schleife (z.B. alle 100 ms) die erfaßten Daten (mit z.B.1kHz) komplett in die Datei ab. Nun generiere ich per Software (Einstellregler auf dem Bidschirm) gleichzeitig eine Drehzahlvorgabe, die ebenfalls synchron passen (zumindest annähernd) zu den erfassten Meßdaten mit gespeichert werden soll. Bis jetzt passen die per Hardware erfaßten Daten nicht mit den Softwaredaten in der Datei zusammen.
Kann man vielleicht ein Array erstellen, welches mit Daten aufgefüllt wird - akt. Stellweret des Einstellreglers- und dann zum dyamischen Datenstrom hinzugefügt wird ? Oder geht es ganz anders ? Ich weiß nicht wie ich das lösen soll. Es ist wichtig, da später es auch möglich ist, das im laufenden Programm die Drehzahl geändert wird und das in der Doku zu sehen sein soll.

Für Hilfe Danke im Voraus.

Frank
Hallo Frank,

Du speicherst also alle ca. 100ms Daten ab die Du erfaßt hast. Die Erfassung läuft mit z.B. 1kHz
Das heißt für mich, daß Du 100 Werte erfaßt hast die dann in die Datei geschrieben werden.

Jetzt sollen zu diesen Werten die softwaretechnisch generierten Drehzahlvorgaben mit gespeichert werden. Stimmt das?
Kurz nachgefragt, sind alle einzelnen Messwerte relevant, weil sie sich deutlich unterscheiden, oder könntest Du auch einen gleitenden Mittelwert verarbeiten? Ich möchte herausfinden, wie die Drehzahlvorgabe in Relation zu den Messwerten von Dir gespeichert werden sollen.

Grüße
Andreas

Lv85_img[attachment=11060]
Hallo Andreas,

Du hast es soweit korrekt erfaßt. Ich habe einfach das Problem, in einer großen Datenmenge von 5 Meßwerten immer den zeitlichen Bezug zwischen den Meßwerten zu behalten. Dabei geht es nur um die Übersichtlichkeit der absolut exakt erfaßten Meßwerte durch den DAQ und der "software generierten" Werte. Stell Dir vor die Datensätze beinhalten ca. 1.000 Bewegungszyklen (1Zyklus ca. 2s = 200.000.000 Einzelmeßwerte). In der Auswertung wird nun festgestellt, Das ein Zyklus eine Abweichung von der Normkurve besitzt und man möchte wissen, ob sich etwa die Drehzahl geändert hatte oder sonst etwas passiert ist.

Die Idee der Mittelwertbildung ist nicht schlecht. Könnte man auch sagen, man füllt mit dem Schleifen-Takt von 10 Hz einfach ein Array von Werten der aktuellen Drehzahl auf und ist dann synchron mit den Meßdaten ?

Grüße

Frank
Referenz-URLs