' schrieb:entfernen der direkten Zuweisung der Werte an das Diagramm während der Messung, sondern erst nach Beendigung alle Werte.
Sehr sinnvoll.
Zitat:Geht hier nicht besser in ArrayEinfügen? Sonst muss ich den Index für die Position auch immer mitführen, oder?
InArrayEinfügen ist zeit/speicher-mäßig analog zu ArrayErstellen. Das Mitführen eines Indexzählers ist zwar ein kleiner Aufwand, der aber große Auswirkung hat.
Zitat:Da ich keine Erfahrung mit Queue´s habe: Kann ich diese ebenfalls wie Arrays füllen und an anderer Stelle gesamt ausgeben?
Guckst du Onlinehilfe.
In eine Queue kann man reinschreiben und rauslesen, ganz nach belieben. Rauslesen kann man sogar "den ganzen Rest". Natürlich könntest du auch erst komplett reinschreiben und dann komplett auslesen.
Zitat:Leider habe ich durch den Softwaretrigger auch ungenauigkeiten in der Messung. Doch woher sind diese genau?
Auch wenn du eine Schleife so programmiert hast, dass die z.B. 50ms dauern soll, kann es betriebssystembedingt vorkommen, dass diese Schleife mal 250ms lang ist. Wenn dein (allgemeiner) Algorithmus solche Effekte nicht beachtet, siehst du solch eine Zeitverzögerung eben in diversen Daten. Durch eine entsprechende Programmierung (Modularisierung, Queues etc) können solche Seiteneffekt minimiert bis eliminiert werden.
Zitat:kommen die durch eine ungenaue Widerholrate bei der konrinuirlichen Erfassung,
Die ungenaue Wiederholrate wird durch das Management im DAQmx-Treiber automatisch ausgeglichen. Die erfassten Daten sind immer konsistent.
Zitat:oder meinst du den Zeitverzug vom setzen der Variable bis die ersten Messwerte in das Array geschrieben werden? Ist der zweite evtl Ursache überhaupt von Relevanz?
Ein solcher Verzug kann prinzipiell solche Effekte erzeugen. Zwar geht das Programm im Normalfall schnell genug, aber eben nur im Normalfall.
Zitat:Wenn eine Messung gestartet wird und ein Datenpaket geschrieben wird, kann dieses noch zur Hälfte mit Werten vor dem Start voll sein,oder? Wodurch werde ich dann genauer?
Das Vergrößern der Datenpakete dient ja dazu, die Prozessorauslastung zu verringern, nicht dazu die Genauigkeit zu erhöhen.
Ist es denn relevant, dass die Daten an einem genauen Zeitpunkt (Breite des Punktes: 0ms) beginnen? Spielt es denn eine Rolle, wenn der Zeitpunkt eine Ungenauigkeit von 100ms hat?