Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
In einem ganz einfachen Test-Vi funktioniert DAQmxRead nicht so, wie es meines Erachtens sein sollte. Könnte mir vielleicht jemand sagen, woran das liegt?
Die Taktrate ist 1 Sample/s. Von DAQmxRead würde ich erwarten, daß es in der Schleife wartet, bis wieder ein Wert anliegt. Tut es auch, aber: es wird dann immer zweimal kurz hintereinander gelesen. In der Anzeige "Iterationen" sehe ich im Sekundentakt die Werte 0, 2, 4 6.., und nicht wie erwartet 0,1,2...
Die letzte Hoffnung, daß sich das Verhalten durch Updating von LabVIEW und NIDAQ von 8.0 auf 8.01 normalisiert, hat sich gerade eben zerschlagen..
Hallo CVI, ich danke Dir sehr, daß Du das untersucht hast. Bei mir läuft es mit zwei verschiedenen Karten gleich falsch, und das ist auch nur die "Spitze einen Eisberges". In anderen Konfigurationen von DAQmx_Read wird auch einmal zu viel eingelesen, das hier war jetzt nur das einfachst mögliche Programm, um den Fehler herauszukitzeln.
Mein Computer ist leicht antiquiert: AMD Athlon XP 2100Mhz Barton (Computer-Hardware rangiert ja in der Verderblichkeit gleich hinter Fisch).
Aber vielleicht hat es doch etwas mit der Karte zu tun, und nicht mit dem Comp. Mit diesen Karten läuft es nicht: PCI-6052E und PCI-6221. Jetzt versuch ichs noch mit der PCI-MIO-16E-4, außerdem auch mal auf einem anderen PC mit Intel. Mit welcher Karte hast Du denn getestet?
Weil sich hier zunächst niemand hier melden wollte, habe ich auch bei NI per Email angefragt und warte auf die Antwort.
Hallo, könnte nicht noch jemand anderes das kleine Prog mal testen und mir berichten? Es dauert nur 5 Minuten!
ich habe das Programm mit der PCI-MIO-16E-4 getestet. (bzw. heute heisst sie PCI-6040E)
War gerade noch eine alte Karte, die ich hatte.
Allerdings bin ich der Meinung, dass auch die anderen Karten diese doch recht langsame Geschwindigkeit schaffen sollten. Vielleicht nicht bei jeder Messung aber trotzdem.....
Aber Dein Computer sollte meines Erachtens nicht zu langsam sein. Hast Du alles neue Treiber installiert?
Vielen Dank für die Antworten, das machte mir Mut, weiter zu testen.
Dir Treiber hatte ich extra für diesen Zecke auf den neuesten Stand gebracht: NIDAQ 8.0.1, LV 8.0.1
Auch mit der dritten Karte lief es nicht anders.
Aber: Ich hatte mich grob verzählt. Es stimmt gar nicht, daß die doppelte Anzahl von Samples erfasst wird. Die Modifizierung der Testschaltung dergestalt, daß die Schleife nach genau 10s beendet wird, brachte es an den Tag (s. Bild).
Das Problem besteht also nur darin, daß die Daten, obwohl sie sehr langsam anfallen, bei mir (im Gegensatzt zu Euch) ruckweise ausgelesen werden. Ich gehe aber davon aus, daß der ADC selbst gleichmäßig getriggert wird.
Also mit anderen Worten: Ein Problem, mit dem man leben kann...
Vermutlich ist es bei Dir so, dass die Karte zwar regelmässig liest (Du hast ja den Task gestartet und somit weiss die Karte was zu tun ist...), aber dass z.B. der PCI Bus zu langsam bzw. zu ausgelastet ist, um die Daten regelmässig nach "oben" zu transportieren.
Mit anderen Worten, die Karte puffert Dir die Messwerte und schickt dann wenn der Bus frei ist in einem Ruck gleich 2-3 Messwerte.
Das der PCI Bus ausgelastet ist, kann z.B. dadurch sein, dass am gleichen Bus (gleichen Interrupt etc) auch die Festplatte hängt. (Dies sollte aber nur in seltenen Fällen geschehen, aber trotzdem) Wenn nun der Virenscanner, die Swap Datei, Netzwerkzugriffe oder ähnliches unter Windows läuft, kann es schon mal sein, dass der Bus nicht immer nur im Leerlauf ist.