Frequenzanalyse

Motivation

Eine der wichtigsten Methoden bei der diagnostischen/analytischen Maschinenüberwachung ist die Aufnahme von Schwingungen mit Beschleunigungsaufnehmern und eine darauf aufbauende Frequenzanalyse. Dies liegt daran, dass Maschinen aus Metall und damit aus elastisch federnden Strukturen bestehen, die nahezu immer periodischen Kräften ausgesetzt sind. Diese führen zu Schwingungen, in denen sich sowohl die Frequenzen und anregenden Kräfte als auch die charakteristischen Frequenzen der betreffenden Strukturen widerspiegeln. Die Messung der Schwingungen ermöglicht Rückschlüsse auf Strukturen und Kräfte in der Maschine. Schäden und Strukturveränderungen von Maschinenelementen, wie z. B. einem Lager, führen zu Veränderungen des Schwingungsbildes.

Die Schwingungen breiten sich in Form von Schallwellen (Körperschall) in den Maschinenbauteilen aus. Da Maschinen aus einer Vielzahl von Teilen bestehen, welche einerseits Schwingungen anderer Bauteile elastisch übertragen und andererseits selber oszillieren, kommt es zu Filterungen und Überlagerungen der einzelnen Schwingungskomponenten. Ein Schwingungssignal besteht entsprechend aus mehreren Signalanteilen, welche sich mit unterschiedlichen Zeitverzögerungen und vom zurückgelegten Weg abhängigen Dämpfungen zum Gesamtsignal addieren. Einzelne gesuchte Schwingungskomponenten sind deswegen im zeitlichen Verlauf des Gesamtsignals nicht mehr ohne weiteres erkennbar. Die Leistung der Frequenzanalyse besteht nun darin, die Vielzahl der vorhandenen linear überlagerten Schwingungen in Frequenzkomponenten aufzutrennen. Diese Frequenzkomponenten können dann wesentlich leichter einem besonderen Maschinenzustand, einem Bauteil oder einem Ablauf zugeordnet werden.

Das Konzept zur frequenzselektiven Überwachung von Komponenten trennt sich auf in:

Praktische Elemente der Frequenzanalyse

Die wesentlichen Aspekte der Fourier-Analyse sind bereits im Abschnitt Fourier-Analyse behandelt worden. An dieser Stelle werden nochmal die wichtigsten praktischen Aspekte aufgegriffen.

Bei der Auslegung der Parameter des Funktionsbausteins zur Fourier-Analyse (z. B. FB_CMA_MagnitudeSpectrum oder FB_CMA_PowerSpectrum) sind folgende Fragen von zentraler Bedeutung.

Frequenzanalyse 1:

Obige Punkte beziehen sich insbesondere auf die Verwendung des FB_CMA_MagnitudeSpectrum und FB_CMA_PowerSpectrum. Bei der Verwendung von speziellen Varianten der Spektralberechnung lassen sich einige Punkte optimieren. Siehe dazu Abschnitt Übersicht Berechnung von Spektralwerten.

Statistische Beurteilung

Das Fourier-Spektrum ist sehr empfindlich gegenüber Rauschen und Störungen im Signal. Deswegen ist die Fourier-transformierte realer verrauschter Signale für eine direkte Analyse oder Begutachtung normalerweise nicht gut geeignet. Um dies auszugleichen, wird in der Regel das Betragsspektrum gemittelt oder durch Quantile ausgewertet, siehe Statistische Auswertung. Diese Herangehensweise setzt die zeitliche Stabilität oder zyklische Wiederholung des zu analysierenden Signals voraus. Die so ermittelten Größen sind wesentlich robuster gegenüber Störungen und auch visuell viel besser zu beurteilen. Im Folgenden wird eine Auswertung basierend auf dem Mittelwert von mehreren Spektren exemplarisch betrachtet.

Frequenzanalyse 2:

Statistische Bewertung des Betragsspektrums

Es ist sinnvoll, mehrere Betragsspektren zu bilden und diese statistisch auszuwerten, z.B. über Mittelwertbildung oder Quantile. Dadurch verringert sich die Unsicherheit der ermittelten Werte und eine Schwellwertanalyse wird zuverlässiger.

Eine alternative Methode ist die Mittelung der errechneten Fourier-Koeffizienten über die Frequenz, also die Mittelung benachbarter Frequenz-Bins. Dazu ist verständlicherweise die FFT mit höherer Frequenzauflösung zu berechnen als bei der oben beschriebenen Methode der sukzessiven Mittelung von Spektren über die Zeit. Die Mittelung benachbarter Frequenz-Bins ist weitgehend gleichwertig zur Mittelung von Spektren über die Zeit, jedoch Rechenaufwändiger.

Schwellwertüberwachung

Der letzte Schritt des hier erläuterten Konzepts besteht in einer automatischen Schwellwertüberwachung. Dabei werden für jeden Frequenzkanal Schwellwerte definiert, die mehreren Kategorien unterschiedlicher Priorität zugeordnet sind, wie z.B. "Normalbetrieb", "Warnung" und "Alarm". Diese Schwellwerte können basierend auf Erfahrungen gesetzt und auch im Betrieb angepasst werden.

Verarbeitungskonzept

Das oben abstrakt beschriebene Konzept kann mit der TwinCAT Condition Monitoring Bibliothek durch Parametrierung der zur Verfügung gestellten Bausteine einfach umgesetzt werden. Im Folgenden dazu eine Beispielkonfiguration.

Frequenzanalyse 3:

Es soll eine Schwellwertüberwachung auf gemittelten Betragsspektren umgesetzt werden. Dazu werden folgende Komponenten der Condition Monitoring Bibliothek mit den beschriebenen Funktionen verwendet:

In der Quellcode-näheren Darstellung des obigen Schaubildes stellt sich eine mögliche Umsetzung wie folgt dar:

Frequenzanalyse 4:

Das Beispiel-Projekt zu dem hier dargestellten Konzept kann hier heruntergeladen werden: download.

Parametrierung der Berechnung des Betragsspektrums

Die Cycle Time und der Oversampling Faktor sind so eingestellt, dass sich eine Abtastrate von 10 kHz ergibt. Für die Parametrierung des Bausteins MagnitudeSpectrum sowie der Source-Bausteins sind folgende Einstellungen im Beispiel angesetzt

// constant for input
cOversamples  : UDINT     := 10;    // number of oversamples
cFSample      : UDINT     := 10000; // 1ms task with 10 oversamples = 10kHz
    
// constants for FFT (Magnitude Spectrum)
cBufferLength : UDINT  := 3200;             // buffer size
cWindowLength : UDINT  := 2*cBufferLength;  // 50% overlap
cFFTLength    : UDINT  := 8192;             // length of FFT for mag. spectrum, power of 2
cFFTResult    : UDINT  := cFFTLength/2+1;   // result of mag. spectrum

Die numerische Frequenzauflösung ergibt sich demnach zu 10 kHz / 8192 = 1,22 Hz. Wie im Kontext zum Zero Padding bzw. Frequenzauflösung beschrieben, entspricht dies jedoch nicht der Frequenzauflösung, die die Unterscheidung von zwei dicht benachbarten Frequenzen ermöglicht. Diese ist im hier dargestellten Fall 10 kHz / (2*3200) * 1,5 = 2,34 Hz, wobei 2*3200 die Länge des zur Berechnung der FFT genutzten Signalstücks entspricht (Messzeit in Abtastwerten). Der Erweiterungsfaktor 1.5 ist durch die Wahl des Hanning-Fensters definiert (Fensterung im MagnitudeSpectrum-Baustein). Die FFT-Länge ist mit 8192 die kleinste Zahl größer als 2*3200 welche eine Zweierpotenz darstellt. Die Länge des Ergebnis-Arrays der Berechnung des Betragsspektrums ist mit 4097 durch die Symmetrieeigenschaft der FFT fest definiert.

Mittelung der Betragsspektren

Das Ergebnis des MagnitudeSpectrum-Bausteins wird übergeben an den FB_CMA_MomentCoefficients, welcher so konfiguriert wird, dass er als Ergebnis den Mittelwert (erstes zentrales Moment) liefert. Standardmäßig liefert der Baustein zusätzlich die Größe der Stichprobenmenge, welche zur Berechnung des zentralen Moments genutzt wurde. Aus diesem Grund erhöht sich die Dimension der Ergebnis-Arrays auf zwei Dimensionen. Im hier betrachteten Beispiel wird die CallEx() Methode des Bausteins genutzt, um jeweils 25 Betragsspektren zu Mitteln und dann den Baustein wieder zurückzusetzen. Da bei dieser Parametrierung des Bausteins die Stichprobenmenge immer 25 ist, wird diese Information nicht weiter benötigt. Der zugehörige Sink-Baustein wird deshalb so parametriert, dass er aus dem Ergebnis des Bausteins nur die Mittelwerte in den Kontext der PLC Task kopiert. Außerdem wird zwischen dem Klassifikationsbaustein und dem MomentCoefficients-Baustein eine Buffer-Konvertierung (FB_CMA_BufferConverting) durchgeführt, welche ebenfalls die Spalte mit der Information der Stichprobenmenge entfallen lässt.

Klassifikation

Der Baustein FB_CMA_DiscreteClassification wird im vorliegenden Fall als einfacher Schwellwert-Klassifikator genutzt. Entsprechend werden nur 2 Klassen definiert (nMaxClasses = 1). Die Konfiguration der Schwellwerte, welche für jede diskrete Frequenz einzeln gesetzt wird, erfolgt zur Laufzeit. Im bereitgestellten Beispiel wird der Schwellwert für die Array-Indizes 30 bis 50 (entspricht ca. 36 Hz bis 61 Hz) auf 6 VRMS und für die restlichen Frequenzen auf 2 VRMS gesetzt. Bei Unterschreitung des Schwellwerts wird eine -1 als Ergebnis für die betroffene Frequenz zurückgegeben. Bei Überschreitung wird eine 0 ausgegeben.

Weiteres zum Beispielcode

Im Projekt eingebunden ist ein Measurement Projekt, welches ein Scope Array Projekt mit drei Achsen beinhaltet. Die obere Darstellung zeigt das Ergebnis des FB_CMA_MagnitudeSpectrum, also das Betragsspektrum des Eingangssignals. Das Eingangssignal wird durch einen Funktionsgenerator erzeugt und stellt einen verrauschten Sinus mit 50 Hz und einer Amplitude von 25 V. Entsprechend ist das Ergebnis des nicht-gemittelten Betragsspektrums mit der Zeit veränderlich (unsicher). Durch die Mittelung stabilisiert sich das Ergebnis merklich. Das gemittelte Betragsspektrum wird in der mittleren Darstellung des Scope Array Projects angezeigt. Die untere Darstellung zeigt das Ergebnis Klassifikation, also für jede Frequenz eine -1 für Unterschreitung und eine 0 für Überschreitung des jeweils definierten Schwellwerts.

Weiteres Beispiel zum Condition Monitoring mit Frequenzanalyse

Im Abschnitt Beispiele sind mehrere Code-Beispiele zu finden. Unter anderem finden Sie unter Condition Monitoring mit Frequenzanalyse ein ähnliches Beispiel wie hier in diesem Abschnitt beschrieben wurde. Dies soll die Flexibilität Ihrer individuellen Lösung unterstreichen, die Sie mit der Condition Monitoing Bibliothek erstellen können.