Hallo,
Zitat:ZITAT(WolfiB @ 23.08.2010 , 09:22:34) *
Wenn ich nur jeweils an einem Platz messe, funktiniert alles. Starte ich parallel die Messungen, ergeben sich verschiedene Probleme mit der Messwerterfassung, welche ich auf Ablaufprobleme zurückführe.
Welche Probleme treten denn auf?
Die eigentlichen Probleme sind, dass bei Start von 2 oder 3 parallelen Messungen die Auswertung und somit die Werte nicht mehr passen.
Wie und was er gehanu verliert hab ich ncoht nicht herausgefunden. Aber teilweise erhalte ich eben "NaN"´s in den erfassten Werten.
gleichzeitig habe ich das Gefühl, dass das Programm langsamer wird. Da während der Messung Werte in ein Diagramm eintrage, und dieses nicht
merh wie bei Einzelprüfungen gleichmäßig mit Werten gefüllt wird.
Zitat:Kann das Problem schon bei der Erfassung (siehe Bild) liegen, und diese durch die Schieberegister bzw. den Baustein zur Array-Erstellung liegen?
An der Erfassung, also dem DAQmx-Rd, kann es prinzipiell nicht liegen.
ZITAT
Es werden etwa 15s Messwerte aufgenommen (d.h. bei 1k Abtastung ca. 15000 Werte. Dies sind doch noch nicht viel für LV, oder?
Das ist nicht viel.
Probleme machen nur Sachen wie ArrayErstellen etc.
Habe noch nie mit Queues gearbeitet. Sind diese schneller als die Arrays? Oder kann ich die Erzeugung trotz der "wenigen" Werte irgendwie ändern,
um eine Fehlerursache durch die Erstellung der Arrays auszuschließen?
Zitat:Wie kann ich noch herausfinden bzw. eingrenzen in welchem Programmteil die Ursache liegen könnte?
Was noch günstig ist, ist folgendes.
Wenn du den DAQmx-Rd ohne Zeitverzug (als z.B. im 2ms Raster) machst, bekommst du eine sehr kleine Menge an Daten, bei 2ms Abtastrate als zwei Daten. Machst du den DAQmx-Rd im 100ms Raster bekommst du 100 Daten, also 50mal mehr. Die Verarbeitungsdauer von 100 Daten ist aber um Potenzen schneller als die Verarbeitung von 50*2 Daten. Also: Die Task, die den DAQmx-Rd macht so gestalten, dass möglichst viele Daten gelesen und zwischenverarbeitet werden können.
Also die Erfassung der Messwerte wurde ohne Zeitverzögerung gewählt, da die Starts der einzelnen Prüfungen, und damit der Erfassung
bzw. Auswrtung der Messwerte unterschiedlich ist.
Verstehe ich dich da richtig, dass du mir von der kontinuierlichen abräts und eine Erfassung von Bsp.weise immer 100 Werten rätst und diese
dann immer folgend ausgeführt wird? Hatte durch die unterscheidlichen Startpunkte eben zu ungenauigkeiten geführt, da immer ab Start ein ganzes
Datenpaket übertragen wurde, und nicht erst die Werte die ab dem neuen Start relevant waren.