LabVIEWForum.de - Beschleunigungssignal

LabVIEWForum.de

Normale Version: Beschleunigungssignal
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Labview- Community,

ich kenne mich noch nicht so gut mit Labview aus. Ich versuche es aber trotzdem, ein Beschleunigungssignal 2mal zu integrieren, sodass ich den Weg erhalte. Was ich an meiner Messung nicht verstehe ist, warum sowohl die Geschwindigkeit, als auch der Weg immer wieder auf Null zurückspringen. Wäre schön wenn mir jemand weiterhelfen könnte.
Das ganze messe ich mit Real Time und dem cRIO Modul 9074.
Im Anhang habe ich das Blockdiagramm und Frontpanel eingefügt.

Viele Grüße
Jens

Hallo Jens,
der Timer steht der auf 9 ms ?
Dann endet die While Schleife nach 9 ms.

Gruß
Freddy
Hallo Freddy,

danke für die Antwort. Der Elapsed Timer wird in Sekunden angegeben, sodass die Messung nach 9 Sekunden aufhört.

LG
Jens
Hallo bsnej,

Zitat:Was ich an meiner Messung nicht verstehe ist, warum sowohl die Geschwindigkeit, als auch der Weg immer wieder auf Null zurückspringen.
Zufälligerweise springen die integrierten Größen immer nach 1000 Messpunkten wieder auf Null zurück.
Und zufälligerweise wandelst du die vom FPGA gelieferten Samples in ein 1×1000 Werte großes 2D-Array um.
Und zufälligerweise gibst du (anscheinend) Null-Arrays als Initialbedingungen für die Integration vor.
Zufälle gibt es…

- Warum liest du 10k Samples vom FPGA, wenn du davon nur 1000 verwendest?
- Warum verwendest du ReshapeArray überhaupt? Warum kein BuildArray?
- Warum an dieser Stelle überhaupt in 2D-Array umwandeln, wenn die Rechnung hinterher ein 1D-Array erwartet? Warum das BuildArray also nicht einfach vor dem WriteTDMS?
- Wozu die Wartezeit von 0 ms?
- Warum ist dein dt "1.0", wenn dein FPGA 10k Samples in weniger als 50s liefern soll?
Es springt immer wieder auf 0 zurück, weil du es so programmiert hast (s. Gerds Kommentar).

Hier mal 2 Varianten, wie es gehen könnte:
[attachment=55803]
Gruß, Jens
Vielen Dank euch beiden, ich werde es nochmal überarbeiten.

Viele Grüße

jens
Hallo,

ich habe das Programm soweit verbessert und es mal mit der numerischen Integration versucht.
Kann mir dazu jemand erklären, warum die Messwerteanzahl, um den Faktor der zu lesenden Samples, verringert wird.
Und integriere ich überhaupt dabei über der Zeit oder nur über den Messwerten?
LG
Jens
Hallo Jens,

Zitat:Kann mir dazu jemand erklären, warum die Messwerteanzahl, um den Faktor der zu lesenden Samples, verringert wird.
Du verwendest eine Funktion, die ein Array von Werten zu einem skalaren Ergebnise aufintegriert.
Und du wunderst dich, dass aus 10k Samples jeweil nur ein Integralwert generiert wird?
Hmm

Zitat:Und integriere ich überhaupt dabei über der Zeit oder nur über den Messwerten?
Du weißt schon, dass LabVIEW eine ausführliche Hilfe anbietet?
Eine Hilfe, in der jede Funktion erläutert wird?
Und du hast dir die Hilfe zur verwendeten Funktion durchgelesen? Mit allen dort angegebenen Formel?
Ich zitiere: "Alle Verfahren sind vom Auswertungsintervall (dt) abhängig."
Rtmfx

Was mich (immer noch) wundert: du liest 10k Werte aus dem FPGA aus mit einem Timeout von 50s (bei einer Wartezeit von 5ms in der Schleife!?) - und verwendest ein dt von 1s. Wie kommst du auf diesen Wert? Und wie hängt dieser Wert mit der tatsächlichen Samplerate im FPGA zusammen???
Referenz-URLs