13.02.2013, 14:44
Hallo zusammen!
Ich beschäftige mich im Rahmen meiner BA zur Zeit mit LabVIEW. Da ich vorher noch nie etwas mit dem Programm oder überhaupt mit grafischer Programmierung zu tun hatte, entschuldige ich mich hier schonmal für die ganzen möglicherweise blöden Fragen, die ich wahrscheinlich noch stellen werde..
Was ich machen möchte:
An einem Motor ist ein Schwingungssensor angebracht, der die Vibration eines Bauteils misst. Dort tritt eine Resonanzstelle auf, d.h. die Amplitude hat bei einer bestimmten Schwingfrequenz (und damit Motordrehzahl) einen Peak. Aufgrund dieser Resonanzamplitude soll die Drehzahl des Motors gesteuert werden, damit sie bei einer Verschiebung der Resonanzfrequenz nachgeregelt werden kann. Soviel zum Hintergrund.
Bisher habe ich noch keine Messtechnik, daher will ich erst einmal ein Programm mit einer simulierten Schwingung entwerfen, das ich dann an die reale Anwendung anpassen kann.
Ich möchte die Werte der Schwingungsamplitude und -frequenz aufzeichnen. Aufgrund der Amplitude soll dann schrittweise die Motordrehzahl geändert werden. Dafür muss die Abtastrate hoch genug sein. Die Aufzeichnung sollte ein, zwei Stunden zurückreichen, damit man bei Testabbruch diese Zeit genau nachvollziehen kann.
Weiterhin möchte ich auch ein kleineres Array erzeugen, dass die letzten 500 Messwerte erhält. Anhand von diesen soll die Abweichung der Maximal-Amplitude berechnet werden.
Zum Schluss möchte ich dann die Messwerte für Amplitude/Drehzahl jede Minute (oder so ähnlich) abspeichern, damit ich auch eine Dokumentation über den gesamten Zeitraum der Prüfung habe. Dazu muss dann eben nicht jeder Messwert aufgenommen werden.
Im Bild ist mein bisheriges Programm. In die SubVIs habe ich nur einige Funktionen ausgelagert, wie die Simulation der Resonanzschwingung, die Feststellung des Vorzeichens für den Drehzahlschritt, etc, die spielen also für das Problem keine Rolle. Wie man sieht, füge ich die gemessenen Amplituden und die Drehzahl jeweils in eine Queue ein. Gibt es eine Möglichkeit, wie ich diese Messwerte mehrfach abtasten kann? Ergebnis wären dann eine Queue mit 1000 Werten in der Original-Abtastrate, eine Queue mit 100-500 Werten in der Original-Abtastrate und eine Queue, in die alle paar Minuten die aktuellen Werte gespeichert werden.
Ich hoffe ich hab das einigermaßen verständlich beschrieben. Wäre super, wenn mir jemand einen Tip geben könnte. Ich benutze LV 2012 (Studentenversion).
Ich beschäftige mich im Rahmen meiner BA zur Zeit mit LabVIEW. Da ich vorher noch nie etwas mit dem Programm oder überhaupt mit grafischer Programmierung zu tun hatte, entschuldige ich mich hier schonmal für die ganzen möglicherweise blöden Fragen, die ich wahrscheinlich noch stellen werde..
Was ich machen möchte:
An einem Motor ist ein Schwingungssensor angebracht, der die Vibration eines Bauteils misst. Dort tritt eine Resonanzstelle auf, d.h. die Amplitude hat bei einer bestimmten Schwingfrequenz (und damit Motordrehzahl) einen Peak. Aufgrund dieser Resonanzamplitude soll die Drehzahl des Motors gesteuert werden, damit sie bei einer Verschiebung der Resonanzfrequenz nachgeregelt werden kann. Soviel zum Hintergrund.
Bisher habe ich noch keine Messtechnik, daher will ich erst einmal ein Programm mit einer simulierten Schwingung entwerfen, das ich dann an die reale Anwendung anpassen kann.
Ich möchte die Werte der Schwingungsamplitude und -frequenz aufzeichnen. Aufgrund der Amplitude soll dann schrittweise die Motordrehzahl geändert werden. Dafür muss die Abtastrate hoch genug sein. Die Aufzeichnung sollte ein, zwei Stunden zurückreichen, damit man bei Testabbruch diese Zeit genau nachvollziehen kann.
Weiterhin möchte ich auch ein kleineres Array erzeugen, dass die letzten 500 Messwerte erhält. Anhand von diesen soll die Abweichung der Maximal-Amplitude berechnet werden.
Zum Schluss möchte ich dann die Messwerte für Amplitude/Drehzahl jede Minute (oder so ähnlich) abspeichern, damit ich auch eine Dokumentation über den gesamten Zeitraum der Prüfung habe. Dazu muss dann eben nicht jeder Messwert aufgenommen werden.
Im Bild ist mein bisheriges Programm. In die SubVIs habe ich nur einige Funktionen ausgelagert, wie die Simulation der Resonanzschwingung, die Feststellung des Vorzeichens für den Drehzahlschritt, etc, die spielen also für das Problem keine Rolle. Wie man sieht, füge ich die gemessenen Amplituden und die Drehzahl jeweils in eine Queue ein. Gibt es eine Möglichkeit, wie ich diese Messwerte mehrfach abtasten kann? Ergebnis wären dann eine Queue mit 1000 Werten in der Original-Abtastrate, eine Queue mit 100-500 Werten in der Original-Abtastrate und eine Queue, in die alle paar Minuten die aktuellen Werte gespeichert werden.
Ich hoffe ich hab das einigermaßen verständlich beschrieben. Wäre super, wenn mir jemand einen Tip geben könnte. Ich benutze LV 2012 (Studentenversion).