Binärdatei schreiben: Zu viele Samples? - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Binärdatei schreiben: Zu viele Samples? (/Thread-Binaerdatei-schreiben-Zu-viele-Samples) |
RE: Binärdatei schreiben: Zu viele Samples? - GerdW - 04.07.2012 19:36 Hallo Hannes, Zitat:Aber ehrlich gesagt klingt das sogar für mich recht dämlich.Wieso sollte das dämlich sein? Genau so funktioniert das doch grundsätzlich: du gibst Samplerate und Sampleanzahl vor und musst entsprechend auf deine Samples warten... RE: Binärdatei schreiben: Zu viele Samples? - herrhannes - 05.07.2012 10:42 Das klingt deswegen dämlich, da dann das eingelesene Signal nicht mehr stetig ist, da doch auch das wegspeichern Zeit benötigt. Außerdem kann ich da nie sicher sein, dass im Cache gerade genau die nächsten Samples sind. Das war vermutlich auch das Problem vorher, dass ich die alten Werte so teilweise mehrfach ausgelesen habe. Oder umgehe ich das mit dem Metronom? Was sollte ich besser verwenden, Metronom oder Uhr? RE: Binärdatei schreiben: Zu viele Samples? - GerdW - 05.07.2012 12:09 Hallo Hannes, Zitat:Das klingt deswegen dämlich, da dann das eingelesene Signal nicht mehr stetig ist, da doch auch das wegspeichern Zeit benötigt.Dann rate mal, wozu DAQmx einen Puffer für die Daten anlegt. Und warum es eine Funtion namens DAQmxStart gibt. Und warum man Tasks mit DAQmxStop wieder anhalten kann/sollte... Dieser Puffer wird genutzt, um Samples abzulegen, ohne das der User ständig abfragen muss! Du kannst in der Zwischenzeit andere Dinge erledigen (wie z.B. Daten speichern) und musst nur rechtzeitig neue Samples aus dem Puffer holen, bevor er überläuft... Also nochmal auf Anfang zurück und Beitrag #4 lesen... RE: Binärdatei schreiben: Zu viele Samples? - herrhannes - 05.07.2012 12:26 Gelesen habe ich ihn. Ich weiß aber immer noch nicht, was du mir damit sagen willst. Stoppe ich den Task nämlich, gehen natürlich auch die Daten bis zum nächsten Start verloren. Die warten ja nicht auf den DAQ. RE: Binärdatei schreiben: Zu viele Samples? - GerdW - 05.07.2012 12:33 Hallo Hannes, Zitat:Ich weiß aber immer noch nicht, was du mir damit sagen willst.- Du konfigurierst deinen Task mit einer bestimmten Samplerate. - Du startest den Task - noch vor der Schleife. - Du liest eine bestimmte Anzahl Werte mittels DAQmxRead: dazu musst du nichts weiter machen als DAQmxRead eben diese Anzahl mitzuteilen. DAQmx handhabt alles im Hintergrund. Du kannst parallel alles andere erledigen. - Wenn du keine neuen Werte mehr lesen willst, dann erst stoppst du den Task (nach der Schleife). Alle Init- und DeInit-Funktionen gehören nicht in die Messschleife. Hatte ich das nicht schon mal (lautstark) erwähnt? RE: Binärdatei schreiben: Zu viele Samples? - herrhannes - 05.07.2012 12:42 Doch. Da sind sie doch auch gar nicht mehr drin? RE: Binärdatei schreiben: Zu viele Samples? - GerdW - 05.07.2012 12:50 Hallo Hannes, Zitat:Da sind sie doch auch gar nicht mehr drin? Ah, da war ja noch ein VI... Du brauchst gar keine Uhr. Das Timing wird doch über Samplerate und Anzahl der gewünschten Samples festgelegt. Solange nicht die gewünschte Anzahl Samples im Puffer steht, wartet DAQmxRead... RE: Binärdatei schreiben: Zu viele Samples? - herrhannes - 05.07.2012 12:52 Hatte die aktuelle VI an meinen Beitrag angehängt. Laut Hilfe wartet es eben nicht, wenn der Sample-Modus auf kontinuierlich steht. Oder habe ich das da falsch verstanden? RE: Binärdatei schreiben: Zu viele Samples? - herrhannes - 05.07.2012 13:52 Ich habe mir mal die Gesamtzahl der gelesenen Samples anzeigen lassen. Die steigt in genau passenden Schritten, bloß halt schneller als mit 1Hz. Die Anzahl der auf einmal gelesenen Samples stimmt also. RE: Binärdatei schreiben: Zu viele Samples? - herrhannes - 05.07.2012 15:11 Ich habe jetzt einmal das Schreiben in eine externe Schleife ausgelagert. Geht immer noch zu schnell. Oder wären da eventuell Melder zur Synchronisation besser als eine Queue? VI ist im Anhang Edit: Ich habe die obere Schleife nun durch eine zeitgesteuerte ersetzt, die nur jede Sekunde schreibt. Das scheint zu passen, das Signal ist auch nicht mehr totaler Murks, im Gegensatz zur Methode beides in einer zeitgesteuerten Schleife zu haben. Oder war das gerade nur Zufall? |