LabVIEWForum.de - Quadranten-Encoder max.Abstatfrequenz mit Win XP

LabVIEWForum.de

Normale Version: Quadranten-Encoder max.Abstatfrequenz mit Win XP
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich bin ein Neuling in Sachen Datenerfassung mit NI. Ich möchte mit Hilfe einer NI-6351 einen Drehgeber erfassen, d.h im Prinzip ein Weg/Zeit Diagramm aufstellen. Die Karte hat ja schon einen Quadranten Encoder integriert.

Ich hab errechnet das bei der maximalen Geschwindigkeit des Drehgebers ich eine Abtastfrequenz von ca. 150-200 kHz benötige um keinen Fehler zu erhalten. Aber des sollte die Karte ja auch machen...

Meine Frage richtet sicher eher an das Zusammenspiel zwischen der Karte und der Software. Kann ich davon ausgehen, das mir während der Messung keine Werte verloren gehen, weil des Windows funkt mir ja immer wieder dazwischen, d.h meine Auslese Software wird immer wieder kurz unterbrochen, solange müsste die NI Karte ja meine Werte speichern, damit ich keinen verliere...

Allerdings habe ich beim Quadranten Encoder keine "Buffer Funktion" gefunden.

Kann ich diese Messdaten, dann überhaupt mit dem Encoder zuverlässig erfassen?

Ich benutze einen Drehgeber mit 3600 Strichen, der einen Weg von ca 16° in 11,5 ms zurücklegt, dieses soll möglichst genau erfasst werden.

Vielen Dank schon mal.
Hallo Quickie

Ich habe schon paarmal gelesen, dass LabVIEW mit Windows XP "nur" etwa 10-15ms genau ist (je nach dem, wie viele Ressourcen vergeben werden).
Wenn du "alle" Daten auslesen kannst, kannst du diese z.b. via Queues verschieben...

lg Martin
Man muß hier drei verschiedene Frequenzen/Raten unterscheiden:
  1. Die Eigentliche Abtastrate.
    Der Encoder durchläuft pro Strich 4 Zustände. Damit die alle erfasst werden, müssen bei 3600 Strichen pro Umdrehung mindestens 14400 Abtastungen pro Umdrehung erfolgen. Die Abtastung wird von der Karte intern vorgenommen, es sind auf jeden Fall bis 10MHz möglich. Mit dem Betriebssystem hat diese Abtastung nichts zu tun.
  2. Die Erzeugungsrate der Winkel-Daten
    (Bei endlicher oder kontinuierlicher Erfassung). Der Takt wird ebenfalls von der Karte erzeugt und hat mit dem Betriebssystem nichts zu tun. Er wird mit dem DAQmx Timing festgelegt. Die erzeugten Winkeldaten werden in den Ausgabepuffer geschrieben.
  3. Der Rate, mit der Daten aus dem Datenpuffer gelesen werden.
    Das wird mit dem VI Read festgelegt. Man kann z.B warten, bis 10 Winkel im Puffer sind und dann alle 10 Winkel auf einmal auslesen. Hier ist das einzige Mal, daß das Betriebsystem hineinspielt. Wenn man also z.B jeden einzelnen Winkel sofort ausliest, dann kann es passieren, daß, wenn ein neu erzeugter Winkel in den Puffer kommt, dieser nicht sofort abgeholt wird, weil Windows gerade mit etwas anderem beschäftigt ist. Das führt zwar nicht zu Datenverlust. aber wenn der Winkel z.B die aktuelle Istgröße einer Echtzeitregelung ist, dann ist diese Verzögerung schädlich.

Edit: Zu Punkt 1 hätte man noch dies erwähnen sollen: Der Winkelencoder liefert ja keine absoluten Winkeldaten, sondern lediglich Increments/Decrements, aus deren Addition/Subtraktion der Winkel bestimmt wird. Damit das funktioniert, muß diese Abtastung immer laufen, also nicht nur dann, wenn zu einer bestimmten Zeit ein Winkel gelesen werden soll.
Referenz-URLs