ST_PMA_Spectrum_Quantiles_InitPars

Lefeld Bausteinspezifische Struktur mit Initialisierungsparametern, die bei der Initialisierung der Bausteine FB_PMA_Spectrum_Quantiles_1Ph und FB_PMA_Spectrum_Quantiles_3Ph ausgewertet wird.

Syntax

Definition:

TYPE ST_PMA_Spectrum_Quantiles_InitPars :
STRUCT
    nFFT_Length         : UDINT := 512;      // Length of FFT
    nWindowLength       : UDINT := 400;      // Length of FFT window
    fSampleRate         : LREAL := 1000;     // in Hz
    eScalingType        : E_PMA_ScalingType := E_PMA_ScalingType.NoScaling; // Scaling type used
    eWindowType         : E_PMA_WindowType  := E_PMA_WindowType.HannWindow; // Window function used
    bTransformToDecibel : BOOL := TRUE;      // Transform result to decibel
    fDecibelThreshold   : LREAL := 1.3E-308; // Log threshold for decibel transformation
    fMinBinnedVoltage    : LREAL;             // Minimum binned voltage
    fMaxBinnedVoltage    : LREAL;             // Maximum binned voltage
    fMinBinnedCurrent    : LREAL;             // Minimum binned current
    fMaxBinnedCurrent    : LREAL;             // Maximum binned current
    nBins               : UDINT := 1;        // Number of bins in interval
    nNumQuantiles       : UDINT := 1;        // Maximum number of quantile values
    aQuantiles          : ARRAY[0..GVL_PMA.cMaxQuantiles-1] OF LREAL; // 0.0 < aQuantiles[x] <1.0
END_STRUCT
END_TYPE

Parameter

Name

Typ

Parameter

nFFT_Length

UDINT

Länge der FFT. Sie muss größer als Eins und eine ganzzahlige Potenz von Zwei sein.

nWindowLength

UDINT

Länge des Analysefensters in Samples. Die Länge muss größer als eins und eine gerade Zahl sein. Sie darf nicht größer als nFFT_Length sein.

fSampleRate

LREAL

Gibt die Abtastrate (Samples pro Sekunde) des Eingangssignals an.

eScalingType

E_PMA_ScalingType

Ermöglicht eine Auswahl der verwendeten Skalierung, falls eine absolute Skalierung benötigt wird.

eWindowType

E_PMA_WindowType

Definiert die verwendete Fensterfunktion. Ein guter Standardwert ist der Fenstertyp „HannWindow“. Die Fensterung kann durch die Verwendung des Fenstertyps „RectangularWindow“ abgeschaltet werden. Weitere Erläuterungen und die Liste von möglichen Fensterfunktionen finden sich im einleitenden Teil im Abschnitt „Fensterfunktionen“.

bTransformToDecibel

BOOL

Boolescher Wert, der angibt, ob das Ergebnis der FFT in die Dezibel-Skala transformiert werden soll, entsprechend der Transformation x → 20 * log10(x).

fDecibelThreshold

LREAL

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, da der Logarithmus von Null mathematisch nicht definiert ist. Der kleinste mögliche Wert ist 3.75e-324.

fMinBinnedVoltage

LREAL

Unterer Grenzwert, für den die Ausgangsdaten der Spektrumsberechnung der Spannung in den regulären Histogramm-Bins gezählt werden.

fMaxBinnedVoltage

LREAL

Oberer Grenzwert, für den die Ausgangsdaten der Spektrumsberechnung der Spannung in den regulären Histogramm-Bins gezählt werden. fMaxBinnedVoltage muss größer sein als fMinBinnedVoltage.

fMinBinnedCurrent

LREAL

Unterer Grenzwert, für den die Ausgangsdaten der Spektrumsberechnung des Stroms in den regulären Histogramm-Bins gezählt werden.

fMaxBinnedCurrent

LREAL

Oberer Grenzwert, für den die Ausgangsdaten der Spektrumsberechnung des Stroms in den regulären Histogramm-Bins gezählt werden. fMaxBinnedCurrent muss größer sein als fMinBinnedCurrent.

nBins

UDINT

Anzahl der Bins eines Histogramms. Sie muss mindestens eins sein. In vielen Fällen sind Werte zwischen zehn und zwanzig eine sinnvolle Wahl. Die beiden speziellen Bins für Werte, die unterhalb von fMinBinned bzw. oberhalb von fMaxBinned liegen sind in diesem Wert nicht mit enthalten.

nNumQuantiles

UDINT

Zahl der zu berechnenden Quantile für jeden Kanal. Dies muss eine ganze Zahl größer als Null sein.

aQuantiles

ARRAY[0..GVL_PMA.cMaxQuantiles-1] OF LREAL

Gibt die Quantilgrenze an. Sie muss zwischen 0.0 und 1.0 liegen. Beispielsweise entspricht 0.2 dem 20%-Quantil.

ST_PMA_Spectrum_Quantiles_InitPars 1:

Fensterlänge

Der Wert von nWindowLength muss kleiner oder gleich dem Wert von nFFT_Length sein. Die Länge der FFT kann sich an der benötigten Frequenzauflösung orientieren. Typischerweise wird ein Wert von ca. 3/4 der FFT-Länge als Fensterlänge verwendet.

Wenn nFFT_Length größer ist als nWindowLength, wird die Frequenzauflösung der FFT (und damit auch die Länge des Vektors der Rückgabewerte) vergrößert. Die Differenz der Länge wird vor der Fourier-Transformation mit Nullen aufgefüllt. Dies kann sinnvoll sein, um eine höhere Frequenzauflösung zu erreichen oder um, z. B. bei der Berechnung mit Rücktransformation in den Zeitbereich, zirkuläres Aliasing zu vermeiden. Das Ergebnis enthält trotz der höheren Frequenzauflösung allerdings nicht mehr Informationen.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x86, x64)

Tc3_PowerMonitoring