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!
ich verstehe nicht wie das kommt. Wenn ich 4 Kanäle (Dev3/ai0:3) erfasse, dann hab ich 'ne ganz flüssige Darstellung. Je weniger Kanäle ich angebe, desto mehr ruckelt das Diagramm. Bei nur einem Kanal (Dev3/ai0) schleppt sich der Verlauf fast sekundenweise vorwärts.
Ich habe mir schon überlegt, dass es daran liegen könnte, dass die Daten erst abgeholt werden wenn der Puffer voll ist. Dementsprechend füllen 4 Kanäle den Puffer schneller als einer und deswegen würden die Datenpakete schneller hintereinander abgeholt. Eine Veränderung der Puffergröße am DAQmx Timing VI hatte allerdings keine Wirkung gezeigt.
Warum ist das so? Und wie bekomme ich stets eine flüssige Darstellung?
Ich kann (mit simulierter DAQ-Hardware) keinen Unterschied feststellen, egal ob einer oder 4 Kanäle.
Die Eingabe "samples per channel" gibt den Takt vor, also bei 512 und 1kHz wird der Graph ungefähr 2x pro Sekunde aktualisiert, unabhängig von der Kanalanzahl im Task.
Auch der Puffer ist irrelevant. Das ist auch pro Kanal. Bei kontinuierlicher Erfassung ist dieser Eingang außerdem eine Mindestgröße, intern wird mglw. sogar mehr Puffer reserviert.
Das DAQmx-Read VI gibt in deinem Programm genau dann eine neue Waveform aus, wenn die gewünschte Anzahl an Werten pro Kanal erfasst wurde.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Das war schonmal sehr aufschlussreich. Sei bedankt.
Schade, dass du meine Phänomene nie reproduzieren kannst und man hier kein Video hochladen kann
Ich schau mal, vielleicht komm' ich ja noch drauf. Der Unterschied ist bei mir schon sehr deutlich. Seltsam.
UPDATE 1
Kann es sein, dass irgendwelche Einstellungen im MAX-Explorer mir hier dazwischen funken?
Ich habe mir nochmal die Iterationszeiten angeschaut. Bei 1 Chan und 64 Samples per Chan sieht der Verlauf der Iterationszeiten so aus: 000000 500 000000 500 usw.
Wenn ich Kanäle dazu nehme (z.B. 3 insgesamt) dann sehen die Iterationszeiten so aus: 000000 175 000000 175 usw. Die Peaks sind aber näher zusammen.
D.h. DAQrd holt nicht jede Iteration Daten ab, sondern macht's wie es ihm passt. Da muss eine Einstellung/Modus sein die ich nicht sehe und die mir einen Strich durch die Rechnung macht.
UPDATE 2
Wenn ich beim Sample-Modus "Einzelwert (HW-getaktet)" einstelle läuft alles schön flüssig und die Iterationzeiten verhalten sich unabhängig von der Anzahl der Kanäle. Wenn ich den Modus auf "kontinuierlich" stellle habe ich das oben beschriebene Verhalten.
Gruß dimitri
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
19.11.2009, 14:12 (Dieser Beitrag wurde zuletzt bearbeitet: 19.11.2009 15:06 von dimitri84.)
Wenn ich meine Karte simuliere klappt alles wie von Jens beschrieben. Iterationszeiten (fast) konstant. Keine sichtbaren Effekte bei einer Änderung der Kanalanzahl.
Nehme ich den Device von der realen Karte habe ich das oben beschriebene Verhalten.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Also der NI-Support konnte das Problem auch nicht reproduzieren, allerdings haben die auch 'ne PCI Karte benutzt weil sie grad kein Laptop da hatten. An dem VI scheint's nicht zu liegen. Ich weiß garnicht was wir noch an Karten da haben (mit denen ich testen kann), ob überhaupt. Der Laptop mit dem ich arbeite ist ziemlich alt (4-5 Jahre) und hat noch Windows2000 drauf. Wahrscheinlich ist das auch noch so ein Faktor.
Es gehen auch keine Daten verloren oder sowas. Die Signalblöcke haben in jeder Iteration die Länge wie ich es eingestellt habe. Nur eben ruckelt die Dartsellung immer mehr je weniger Kanäle ich erfasse. Und es ist doch nicht zuviel verlangt ein Spannungssignal mit popeligen 1kHz Samplingrate flüssig darzustellen mit ner E-Serie.
Im übrigen stimmen die Iterationszeiten, wenn ich 512 Samples per Chan einstelle oder mehr. Je kleiner dieser Wert wird desto unkontinuierlicher wird die Darstellung. Paradox.
Ich lass' das jetzt hier erstmal gut sein meld' mich, wenn es eine Lösung gibt. Vielen Dank für die Aufmekrsamkeit.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Klasse Versuch von NI, Vergleich von PCMCIA-Karte mit PCI-Karte.
Eigentlich wundert mich es nicht. Ein Riesenunterschied dürfte schon mal sein, dass per PCI-Karte DMA möglich ist, bei der DAQcard steht in den Specs, dass kein DMA Kanal existiert.
Win2k und 5 Jahre alter Rechner, das würde ich als Problem ausschließen. Klar ist der Rechner nicht der Neueste, dafür braucht Win2k nicht so viele Resourcen wie XP oder gar Vista...
Und 1kHz Datenrate ist auch nicht viel für eine NI-Karte.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Mit einer NI 6071E PCI Karte klappt alles wunderbar.
Mit den NI 6036E & 6024E PCMCIA Karten habe ich das beschriebene Problem. Habe es auch zusätzlich noch auf nem anderen (neueren) Laptop ausprobiert -> auch selbes Problem. Ruckelt je weniger Kanäle und je weniger Samples per Chan.
Zitat:Wenn ich beim Sample-Modus "Einzelwert (HW-getaktet)" einstelle läuft alles schön flüssig und die Iterationzeiten verhalten sich unabhängig von der Anzahl der Kanäle. Wenn ich den Modus auf "kontinuierlich" stellle habe ich das oben beschriebene Verhalten.
Daraus werde ich ja auch nicht schlau. So oder so habe ich die gleichen Blöcke. Bei dem einen Modus ruckelts bei dem anderen nicht.
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)