ST_CM_OrderPowerSpectrum_InitPars
Baustein-spezifische Struktur mit Initialisierungsparametern, die bei der Initialisierung des Bausteins ausgewertet werden.
TYPE ST_CM_OrderPowerSpectrum_InitPars EXTENDS ST_CM_Object_InitPars :
STRUCT
fSampleRateSignal : LREAL := 1000; (* Sample rate in Hertz of vibration signal. *)
fSampleRatePosition : LREAL := 1000; (* Sample rate in Hertz of positions. *)
fPositionScaling : LREAL := 1; (* One rotation needs to be represented by 1. *)
fMaxRPM : LREAL := 1800; (* Max. rotations per minute. *)
nFFT_Length : UDINT := 512; (* Length of FFT. *)
nWindowLength : UDINT := 400; (* Length of analysis window. *)
fDecibelThreshold : LREAL := cCM_MinArgLog10; (* Minimum argument of decadic logarithm for 64- bit IEEE 754 arithmetic. *)
bTransformToDecibel : BOOL := TRUE; (* Transform to decibel. *)
eWindowType : E_CM_WindowType := eCM_HannWindow; (* Window type. *)
aWindowParameters : T_CM_WindowParameters := [2.5,1,1,1,1]; (* Window parameters for specific windows, e.g. FlatTop. *)
nOverlap : UDINT := -1; (* Size of overlap in samples. *)
eScalingType : E_CM_ScalingType := eCM_DiracScaling; (* Scaling type. *)
nChannels : UDINT := 1; (* Number of channels. *)
END_STRUCT
END_TYPE
fSampleRateSignal
definiert die Abtastrate in Hertz des eingehenden Vibrationssignals.fSampleRatePosition
definiert die Abtastrate in Hertz des eingehenden Positionssignals. Diese kann ungleichfSampleRateSignal
sein.fPositionScaling
ist der Skalierungsfaktor für das Positionssignal. Eine vollständige Rotation muss durch diesen Wert repräsentiert werden. Ist das Positionssignal in Grad skaliert, so istfPositionScaling
= 360
zu setzen. Ist das Positionssignal so skaliert, dass eine volle Umdrehung der Welle den Wert 2*pi ergibt, istfPositionScaling
= 2 * pi
.fMaxRPM
ist die maximale Anzahl an Rotationen pro Minute. Dieser Parameter definiert mit derfSampleRateSignal
die maximal auflösbare Ordnung des Ordnungsspektrums.
Alle weiteren Parameter erfolgen analog zur Parametrierung des Power Spektrums, vgl. ST_CM_PowerSpectrum_InitPars.
nFFT_Length
ist die Länge der FFT. Sie muss größer als Eins und eine ganzzahlige Potenz von Zwei sein.nWindowLength
ist die Länge des Analysefensters in Samples. Die Länge muss größer als Eins und eine gerade Zahl sein.fDecibelThreshold
ist ein sehr kleiner Fließkommawert größer als Null. Werte, die kleiner als diese Zahl sind, werden vor einer Transformation in die Dezibel-Skala durch diesen Wert ersetzt. (Zweck ist die Vermeidung von Wertbereichsfehlern. Der Logarithmus von Null ist nicht definiert und strebt für den Grenzwert kleiner Argumente gegen minus unendlich. Entsprechendes gilt für das Argument der Zahl Null, arg(0). Der kleinste mögliche Wert ist 2.3e-308, dies entspricht der KonstantencCM_MinArgLog10
.)bTransformToDecibel
ist ein boolescher Wert, der angibt, ob das Ergebnis der FFT in die Dezibel-Skala transformiert werden soll, entsprechend der Transformation x → 20 * log10(x).eWindowType
definiert die verwendete Fensterfunktion (vom Typ E_CM_WindowType). Ein guter Standardwert ist der FenstertypeCM_HannWindow
.aWindowParameters
beinhaltet die freien Parameter ausgewählter Fensterfunktionen. Bei der Verwendung voneCM_KaiserWindow
definiert der erste Eintrag den Parameter beta; wird daseCM_FlatTopWindow
verwendet, werden alle Parameter genutzt. Siehe Abschnitt Fensterfunktionen.nOverlap
definiert die Anzahl der überlappenden Samples. Diese muss größer oder gleich Null sein. Wird der WertcCM_OverlapRecommended
gewählt, so wird eine empfohlene Überlappung intern berechnet (siehe F_CM_CalculateRecommendedOverlap); der WertcCM_OverlapInactive
deaktiviert den intern verwendeten Puffer und setzt den Wert Null.eScalingType
ermöglicht eine Auswahl der verwendeten Skalierung (vom Typ E_CM_ScalingType), falls eine absolute Skalierung benötigt wird. Standardwert isteCM_DiracScaling
. Bei der Auswahl der Skalierung sollte die Art des Signals, entweder deterministische Signale oder breitbandige Signale mit stochastischen Anteil, berücksichtigt werden; Beide Arten erfordern unterschiedliche Skalierungen.nChannels
definiert die Anzahl von unabhängigen Kanälen. Diese muss größer als Null sein.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4022.25 | PC or CX (x86, x64) | Tc3_CM_Base |