LabVIEWForum.de - Datenerfassung richtig konfigurieren

LabVIEWForum.de

Normale Version: Datenerfassung richtig konfigurieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

hardware:
ni-pxi-6229 m-series multi i/o
ni-pxi-6602 timer/counter
ni-pxi embedded controller 8195
pxi chassi 1031

ich möchte 4 analoge Spannungen messen und 2 Counter. Die 4 Spannungen sind 2x Momentenmesswelle, 2x Kraftmessdose, 2 Counter sind zur Frequenzbestimmung (Drehzahlmessung). Alles läuft auf einem PXI mit LV RT. Ich steh zur Zeit ein bissl mit der Konfiguration der Abtastrate auf Kriegsfuß. Die Analogwerte sollen mit 10 kHz (wobei je nach Messung auch mal mit 50 kHz) abgestastet werden. Jetzt meine Probleme bzw Fragen.

1) Das Abfragen der Messwerte mittels daqmx read erfolgt in einem timed loop und da hab ich mir gedacht ich mach als timing quelle mal den ai abtasttakt hin und stell das ganze auf einzelwerterfassung. dann kommt aber ne fehlermeldung dass die werte nicht mehr verfügbar sind und überschrieben wurden. wo liegt denn die grenze einer einzelwerterfassung?

2) wenn das ganze mit der einzelwerterfassung nicht funktioniert muss ich denke ich immer mehrere messdaten erfassen also die anzahl der samples erhöhen. zb 10kS/s und 1000 Samples. somit bekomme ich jede 0.1s eine datenpaket oder?

aus den erfassten daten moment und drehzahl soll dann ein wirkungsgrad eines getriebes ermittelt werden. also muss ich die daten miteinander verrechnen. ich habe jeweils die drehzahlen und die momente in eine variable geschrieben und in einer anderen schleife dann die berechnung durchgeführt. allerdings ist dann immer das pxi abgestürztSad

3) wie konfiguriert man am sinnvollsten den abtasttakt im task und das read vi für die geforderte abtastung?

hoffe ihr könnt was mit den fragen anfangen!? ein vi zum hochladen hab ich gerade leider nicht ist auf der arbeitSmile

gruß johannes
Hallo.
Du benutzt den 8195 Controller. Ich selber habe den 8196, der baugleich ist nur 2 weitere Anschlüsse hat. So ein ähnliches Problem hatte ich auch. Das Problem liegt am Controller, dieser hat eine Begrenzung auf dem Datenkanal. Das heißt du kannst nicht mehrere DAQmx_Read Blöcke in der Timed loop benutzen, kannst schon, aber die Werte werden dann von den nächsten Werten auf dem Datenkanal überschrieben.

Um dem ganzen Abhilfe zu schaffen und möglichst viele Werte zu bekommen, solltest du einen einzigen Task erstellen in dem du alle Messungen machst. In den Timing Einstellungen den Erfassungsmodus auf Kontinuierlich stellen, und das Verhältnis "Zu lesende Samples" und "Rate (Hz)" auf 1:10 stellen. 100 Samples und 1kHz zum Beispiel.
Wenn du Output realisieren möchtest, kannst du dafür am einfachsten eine Konstante an "Physikalische Kanäle" anschließen.
In der timed-loop DAQmx_Read auch nur einmal aufrufen und dann die Daten verarbeiten.
Die Periode für die Timed Loop hängt von der Laufzeit des VIs ab und den Verzögerungen der Karten. Am einfachsten wäre du lässt das VI einmal komplett durchlaufen und lässt dir am Ausgang der Loop das Tatsächliche Ende anzeigen. Der Wert ist dann die Zeit in ms, die die Loop für einen Durchgang braucht. Da dann evtl 10% draufrechnen und du hast eine akzeptabele Periodendauer die nicht zu Probleme führen sollte.
Warum an der Verarbeitungsstelle das PXI abstürtzt kann ich dir nicht genau sagen.

Thomas
Danke für die Antwort! Es ist ja mittlerweile schon etwas Zeit vergangenSmile
Mein Problem ist es aber wenn ich es so mache wie beschrieben, dass ich mit der Drehzahl Probleme bekomme. Ich möchte ja aus den erfassten Werten einen Wirkungsgrad ermitteln, was ich mit folgender Formel mache: (DrehzahlAbtrieb*Moment_Abtrieb)/(DrehzahlAntrieb*MomentAntrieb). Für den Wirkungsgrad brauch ich also immer eine Drehzahl. Die Drehzahl erfasse ich mit Hilfe einer Frequenzmessung des Inkrementalgebers. Ich wollte alle Werte in einer Schleife erfassen weil dann die Zusammengehörigkeit gegeben ist. Die Schnelligkeit der Frequenzmessung ist ja abhängig vom zu messenden Signal. Wenn ich mit dem Verhältnis 1:10 die Samples lese bedeutet das ja, dass ich die Drehzahl nur mit 10 Hz erfasse, weil ich die Frequenzmessung so konfiguriert habe, dass ich alle vorhanden Samples lese und dann den Mittelwert berechne. Ich habe das Verhältnis nicht auf 1:10 sondern 1:100 gemacht. Somit erfasse ich die Drehzahl mit 100Hz und berechne den Wirkungsgrad von 100 Samples jeweils mit einem Drehzahlwert. Fehler bekomme ich (bis jetzt) noch nicht. Ich weiß nicht wie nah das an die Grenzen geht...
Oder hast du einen anderen Vorschlage?

Danke Gruß
johannes
Wenn du da bis jetzt, wie du sagst, noch keine Probleme hast ist ja alles okSmile
Das Verhältnis von 1:10 ist auch nur ein Richtwert den mir mal ein NI-Ingi gesagt hat, aber wie gesagt. Richtwert, das muss nicht eingehalten werden.
Die Grenzen liegen in der Spezifikation der Karte, der Task macht nur was man ihm sagt, die Karte nur das was sie kann^^
Referenz-URLs