LabVIEWForum.de - Messungen synchronisieren

LabVIEWForum.de

Normale Version: Messungen synchronisieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hi,

ich habe mein Programm jetzt mit etwas Hilfe aus dem Forum eigentlich soweit, dass es funktioniert. Ich zeichne das Drehmoment
in Abhängigkeit vom Winkel, also der Position eines Rotationstisches auf.
Dazu habe ich die Auslese-Vi's von Rotationstisch und Drehmomentgeber zusammen in einer While-Schleife und gehe mit den
Ausgängen auf einen Express-XY-Graph. Mein Problem ist nur, dass ich am Ende bei mehreren Messungen verschieden viele Messpunkte erhalte (die betroffenen Arrays sind dann mit Nullen aufgefüllt). Im Idealfall hätte ich es gerne so, dass mein Programm immer an den gleichen Positionen Werte aufnimmt, da auch nur so am Ende eine Mittelwertbildung aus den verschiedenen Messungen wirklich Sinn macht.

Vielleicht hat ja jemand eine Idee oder einen Denkanstoß in welche Richtung ich da überlegen könnte.

Danke und viele Grüße an alle..
Hallo creo,

Zitat:Dazu habe ich die Auslese-Vi's von Rotationstisch und Drehmomentgeber zusammen in einer While-Schleife ...
Mein Problem ist nur, dass ich am Ende bei mehreren Messungen verschieden viele Messpunkte erhalte
Vielelicht solltest du von beiden "Auslese-VIs" gleich viele Messwerte abfragen? Dann sollten die Ergebnis-Arrays auch gleich groß sein...
Wenn die zwei Erfassungen in einer Schleife sind und quasi gemeinsam gestartet werden, so ist das noch lange nicht synchron - wie Du selbst erfahren musstest.
Auch der Vorschlag, die Samplezahlen gleich zu machen, hilft da nicht weiter.
Schau Dir erst mal die Beispiele unter
Signalerfassung und -ausgabe mittels Hardware / DAQmx / Synchronisation
dann erhälst Du eine Ahnung, um was es da geht. Meist findet man auch ein Beispiel, welches der eigenen Anwendung sehr nahe kommt.
Es ist auch zu überlegen, nur einen Kanal zu erfassen und die Winkelencoderimpulse direkt als externen Sampletakt zu verwenden. (Und gegebenenfalls den Nullimpuls des Encoders als Task-Start)
Ok, die Beispiele werde ich mir dann morgen mal anschauen..

meinst du damit, dass bei mir jetzt evtl. auch die einzelnen Datenpaare, also Position und Drehmoment, nicht zusammenpassen,
weil die zu leicht verschiedenen Zeitpunkten aufgezeichnet werden?

Weil eigentlich ging es mir ja jetzt vorerst nur mal darum, dass ich, wenn ich die Messung, also in diesem Fall die While-Schleife
zweimal hintereinander starte, dass ich dann zwei Ergebnis-Arrays erhalte, bei denen in der ersten Spalte die Positionen, an denen
gemessen wurde, genau gleich sind..
Hallo creo,

hat dir schon mal jemand gesagt, dass es wesentlich leichter ist, Fehler/Ungereimtheiten zu beseitigen, wenn man das VI zur Verfügung hat? Dann weiß nämlich nicht nur der OP, worüber geredet wird...
ok, ist wohl echt schwer nachzuvollziehen, wenn man das Vi nicht sieht..

Kurz zur Erklärung, was ich mir dabei gedacht habe.. ich gebe die Anzahl der Messungen vor, d.h. die äußerste While-Schleife
in dem "Messung starten"-Case wird dementsprechend oft durchlaufen. Diese Schleife startet den Tisch und in der inneren While-Schleife
werden jetzt so lange die Werte in den XY-Graphen geschrieben, bis die Stop-Bedingung (der Tisch hat seine Endposition
erreicht) wahr ist. Jetzt wird das Ergebnis Array ins Schieberegister geschrieben und die äußere While-Schleife erneut gestartet,
der Tisch fährt wieder los, usw…

Vermutlich nicht wirklich schön, aber es macht so ungefähr das, was es soll.. nur vermutlich überhaupt nicht synchronWink

Mein Problem ist, dass am Ende jede der einzelnen Messungen verschieden viele Messpunkte hat (ca. +-10) und dass die Erfassung der Daten an verschiedenen Positionen erfolgt. So macht die Mittelwertbildung am Ende dann halt auch nicht wirklich Sinn.

Nochmal vielen Dank für eure Unterstützung!!!
Hallo creo,

hast du mal einen Blick auf Ludwigs und mein Profil geworfen? Die Angabe unserer LabVIEW-Versionen mit deiner verglichen?
tut mir leid..

hoffe das Exportieren hat jetzt richtig geklappt..

[attachment=43915]
Dazu kann ich leider nichts sagen. Ich kenne mich nur etwas aus mit Messkarten von NI mit DAQmx-Treibern und weiß etwa, wie man unterschiedliche Tasks miteinander exakt synchronisiert. Hier scheint es sich aber um Messwerterfassung mit Karten einer Fremdfirma zu handeln. Die mitgelieferten VIs habe ich nicht auf meinem PC, die kann ich nur als Kontur auf dem Haupt-VI sehen.
Das kann durchaus alles zum Laufen gebracht werden, aber zu den kleinen Nachteilen solcher Hardware gehört jedenfalls, dass man hier im Forum (oder auch von NI selbst) kaum Hilfe erwarten kann - sofern es nicht zufällig jemanden gibt der sich auskennt.
Hatte ich mir schon fast gedacht.. deshalb hatte ich auch diesmal nicht direkt das Vi hochgeladen, weil es ja eh nicht lauffähig auf
anderen Rechnern ist.

Habe gerade mal nachgeschaut.. also der Drehmomentgeber hängt über ein NI GPIB-USB-HS am Rechner..
und der Rotationstisch kann andere Geräte triggern, also ich könnte zum Beispiel jedes mal, wenn die Achse eine bestimmte Distanz
zurückgelegt hat, ein Triggersignal ausgeben lassen.. und ich möchte ja an gleichmäßigen Positionen messen.
Bringt mir das evtl. irgendetwas?
Seiten: 1 2
Referenz-URLs