LabVIEWForum.de
Beschleunigungssignal - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Beschleunigungssignal (/Thread-Beschleunigungssignal)



Beschleunigungssignal - bsnej - 02.05.2016 12:24

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




RE: Beschleunigungssignal - Freddy - 02.05.2016 12:35

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

Gruß
Freddy


RE: Beschleunigungssignal - bsnej - 02.05.2016 12:40

Hallo Freddy,

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

LG
Jens


RE: Beschleunigungssignal - GerdW - 02.05.2016 13:32

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?


RE: Beschleunigungssignal - jg - 02.05.2016 13:44

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


RE: Beschleunigungssignal - bsnej - 02.05.2016 14:11

Vielen Dank euch beiden, ich werde es nochmal überarbeiten.

Viele Grüße

jens


RE: Beschleunigungssignal - bsnej - 03.05.2016 14:37

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


RE: Beschleunigungssignal - GerdW - 06.05.2016 09:05

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???