![]() |
Vergrößern des Puffers - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Vergrößern des Puffers (/Thread-Vergroessern-des-Puffers) Seiten: 1 2 |
Vergrößern des Puffers - di3_h4ppy - 22.09.2009 11:07 Hallo, dies hier beschriebene Problem ist leider auch meins. Ich habe folgende Aufgabenstellung: Mit einem Funktionsgenerator ein Signal erstellen und die über das USB-6221 auskoppeln um es anschliessend wieder in das USB-6221 einzukoppeln und dort dann auszuwerten. (ist ein Praktikumsversuch an der Uni) Ich habe bereits versucht den Buffer zu vergrößern. Leider hat das nicht so geklappt wie ich mir das vorgestellt habe. Allerdings ist hier besprochen worden, mehr Daten pro Aufruf aus dem Puffer zu lesen. Wie mache ich dies konkret an meinem Bsp.? Auch habe ich beobachtet, dass wenn ich einen Analogen Funktionsgenerator anschliesse, der Buffer overflow nicht kommt (oder wenn dann nur sehr spät) kann es also sein, dass mein Funktionsgenerator mit zu viele Werte erzeugt und ich die anschliessend nicht schnell genug verarbeiten kann? Wie kann ich dieses Problem umgehen. Auch hat es leider nicht funktioniert Finite Samples einzustellen. Die Hilfe hat mich diesbezüglich auch nicht weitergebracht. Vielen Dank schonmal Gruß Dirk ![]() [attachment=21390] [attachment=21389] Vergrößern des Puffers - IchSelbst - 23.09.2009 20:42 ' schrieb:[attachment=49493:analyser.JPG]Das Problem, wenn der DaqMX-Read sich im Datenfluß befindet, ist folgendes: Wenn der Rest der Schleife länger dauert, als das Samplen von 10.000 Werten, läuft notgedrungen der Puffer der Task über. Was tun?: Den "Rest der Schleife" entfernen. Schlimm ist auch noch, wenn die Dauer des "Rests der Schleife" von der Anzahl der eingelesenen Messwerte abhängig ist. Es muss also gewährleistet werden, dass die Task ausgelesen wird, egal was sonst passiert. Und das geht z.B. dadurch, dass die Task ein einem eigenen SubVI (Thead!) bearbeitet wird. Eigentlich ist es schon ausreichend, die Task auszulesen und die neuen Daten mittels einer Queue weiterzuleiten. Die Queue wirkt hier als unendlich großer Puffer. Siehe auch diesen Beitrag. |