Servus,
Zitat:Aleph1 schreibt nicht, wie er die Daten aufnimmt. Wenn die Daten softwaremäßig oder nicht kontinuierlich getriggert werden dann ist das Anhalten der Datenerfassung kein Problem. Wenn aber die Erfasung kontinuierlich mit einer DAQmx NI-Karte mit internem Takt erfolgt, dann läuft die ganze Datenerfassung autark ab und kann nicht so einfach zum Pausieren gebracht werden.
zum Schema der Datenaufnahem ist folgendes zu sagen:
Ich nehme einen Wellenzug mit bis zu 200.000 Einzelwerten auf. Der Start der Datenaufnahme ist getriggert und dann werden 200.000 Einzelwerte kontinuierlich eingelesen und anschließend die Datenaufnahme beendet.
Das ist dann ein Element der Queue welches weiterverabeitet werden muss. 200.000 Datenpunkte werden dabei in ca. 0.2s eingelesen, können/sollen aber auch schneller eingelesen werden (in Zukunft). Diese 0.2s geben mir die Zeitauflösung meines abschließenden Messergebnisses.
(Zur Info: Ich arbeite auf dem Gebiet der Diodenlaserspektroskopie und brauche einfach diese Datenmengen um vernünftige Ergebnisse zu erhalten.)
Zitat:Und wenn ich weiter spekulieren darf: Die vermeintliche Langsamkeit der Datenverarbeitung gegenüber der Datenerfassung hat ihre Ursache fast immer in behebbaren Anfängerfehlern, z.B. Einzelverarbeitung jedes neuen Datenpunktes, vor allem aber in irrsinnig hohen Updateraten in Diagrammen und Anzeigen.
Aus diesem Queueelement wird im zweiten Prozess die Autokorrelation berechnet. Das dauert einfach seine Zeit und ich denke dass diese Berechnung der Flaschenhals ist. Je länger der Wellenzug ist, desto länger benötigt die Autokorrelation zur Berechnung, allerdings sinkt auch die Zeitauflösung (also die Zeitdauer des Gesamtwellenzuges erhöht sich).
Auf Diagramme kann ich weitestgehend verzichten, allerdings ist das ein guter Punkt den ich vollkommen vergessen hatte.
Zitat:Wir wissen auch sonst nichts über den Hintergrund des Problems, also z.B. nicht, ob das Pausieren der Datenerfassung oder das Wegwerfen von Daten überhaupt mit der Aufgabenstellung kompatibel ist. Somit bleiben alle Antworten und Lösungsvorschläge, und so auch die meinigen, letztlich spekulativ.
Das Pausieren bzw. Wegwerfen einzelner Daten (also Gesamtwellenzüge) kann bei genügend hoher Zeitauflösung des Messergebnisses (0.2s und besser) in Kauf genommen werden, ist aber stark von der meiner aktuellen Anwendung und Fragestellung abhängig.
Ich seh schon, das ist mit mehr Detailfragen behaftet, als ich eigentlich dachte.
Aber ihr helft mir sehr weiter.
Gruß
Karl