FB_PMA_BasicValues_Period_3Ph

Der Funktionsbaustein FB_PMA_BasicValues_Period_3Ph berechnet Analysewerte für den zeitlichen Signalverlauf von Strom und Spannung in einem dreiphasigen System. Dazu gehören Mittelwert, RMS-Wert, Spitzenwert, Gleichrichtwert, Crest-Faktor sowie Formfaktor jeweils für die einzelnen Ströme und Spannungen. Zusätzlich werden die Spannungswerte zwischen den einzelnen Phasen berechnet. Die Ergebnisse beziehen sich auf eine konfigurierbare Anzahl von Signalperioden. Die Periodendauer bezieht sich auf die zu Periodenbeginn angegebene Frequenz am Eingang der Call-Methode. Die statistischen Ergebnisse beziehen sich auf die gesamte Laufzeit bzw. den Zeitpunkt, an dem zuletzt das Zurücksetzen der statistischen Ergebnisse erfolgt ist.

Der Eingangspuffer wird über den Funktionsbaustein FB_PMA_Source_3Ph bereitgestellt. Dieser kann sowohl eine oder mehrere Signalperioden beinhalten oder auch einzelne Fragmente aus Oversampling-Arrays.

Syntax

Definition:

FUNCTION BLOCK FB_PMA_BasicValues_Period_3Ph
VAR_INPUT
    nOwnID                : UDINT;
    tTransferTimeout      : LTIME := LTIME#500US;
    stInitPars            : ST_PMA_BasicValues_Period_InitPars;
END_VAR
VAR_OUTPUT
    bError                : BOOL; 
    ipResultMessage       : I_TcMessage;
    bNewResult            : BOOL;
    nCntResults           : ULINT;
    aMeanValue_U          : ARRAY[0..2] OF LREAL;
    aRMS_U                : ARRAY[0..2] OF LREAL;
    aRMS_U_Min            : ARRAY[0..2] OF LREAL;
    aRMS_U_Max            : ARRAY[0..2] OF LREAL;
    aRMS_U_PP             : ARRAY[0..2] OF LREAL
    aPeakValue_U          : ARRAY[0..2] OF LREAL;
    aPeakHold_U           : ARRAY[0..2] OF LREAL;
    aRectifiedValue_U     : ARRAY[0..2] OF LREAL;
    aCrestFactor_U        : ARRAY[0..2] OF LREAL;
    aFormFactor_U         : ARRAY[0..2] OF LREAL;
    aMeanValue_I          : ARRAY[0..2] OF LREAL,
    aRMS_I                : ARRAY[0..2] OF LREAL,
    aRMS_I_Min            : ARRAY[0..2] OF LREAL,
    aRMS_I_Max            : ARRAY[0..2] OF LREAL,
    aPeakValue_I          : ARRAY[0..2] OF LREAL,
    aPeakHold_I           : ARRAY[0..2] OF LREAL;
    aRectifiedValue_I     : ARRAY[0..2] OF LREAL;
    aCrestFactor_I        : ARRAY[0..2] OF LREAL;
    aFormFactor_I         : ARRAY[0..2] OF LREAL;
    bValidStatistics      : BOOL;
END_VAR

FB_PMA_BasicValues_Period_3Ph 1: Eingänge

Die Eingangsparameter dieses Bausteins repräsentieren Initialisierungsparameter und müssen bereits bei der Deklaration der Funktionsbausteininstanz zugewiesen werden (alternativ: Init-Methode). Sie dürfen nur einmal zugewiesen werden. Eine Änderung zur Laufzeit ist nicht möglich.

Name

Typ

Beschreibung

nOwnID

UDINT

Identifiziert die Bausteininstanz mit einer eindeutigen ID. Diese muss immer größer als null sein. Eine bewährte Vorgehensweise ist die Definition einer Enumeration für diesen Zweck.

tTransferTimeout

LTIME

Einstellung des synchronen Timeout für interne MultiArray-Weiterleitungen. Siehe Parallelverarbeitung im Transfer Tray.

stInitPars

ST_PMA_BasicValues_Period_InitPars

Bausteinspezifische Struktur mit Initialisierungsparametern. Die Parameter müssen mit der obigen Definition der Ein- und Ausgangspuffer übereinstimmen.

FB_PMA_BasicValues_Period_3Ph 2: Ausgänge

Name

Typ

Beschreibung

bError

BOOL

TRUE, falls ein Fehler auftritt.

ipResultMessage

I_TcMessage

Das Interface bietet detaillierte Informationen über den Rückgabewert.

bNewResult

BOOL

TRUE, sobald neue Ergebnisse berechnet wurden.

nCntResults

ULINT

Zählwert wird bei neuen Ausgangsdaten inkrementiert.

aMeanValue_U

ARRAY[0..2] OF LREAL

Mittelwert der Spannung über n Perioden

aRMS_U

ARRAY[0..2] OF LREAL

Effektivwert der Spannung über n Perioden

aRMS_U_Min

ARRAY[0..2] OF LREAL

Kleinster aufgetretener Wert von fRMS_U. Kann über bResetStatistics der Call-Methode zurückgesetzt werden.

aRMS_U_Max

ARRAY[0..2] OF LREAL

Größter aufgetretener Wert von fRMS_U. Kann über bResetStatistics der Call-Methode zurückgesetzt werden.

aRMS_UPP

ARRAY[0..2] OF LREAL

Effektivwert der Spannung zwischen zwei Phasen. Index 0: L1-L2, Index 1: L2-L3, Index 2: L3-L1

aPeakValue_U

ARRAY[0..2] OF LREAL

Spitzenwert der Spannung über n Perioden

aPeakHold_U

ARRAY[0..2] OF LREAL

Allzeit-Spitzenwert der Spannung über n Perioden. Kann über bResetStatistics der Call-Methode zurückgesetzt werden.

aRectifiedValue_U

ARRAY[0..2] OF LREAL

Gleichrichtwert der Spannung über n Perioden

aCrestFactor_U

ARRAY[0..2] OF LREAL

Scheitelfaktor (Crest-Faktor) der Spannung (Spitzenwert/Effektivwert)

aFormFactor_U

ARRAY[0..2] OF LREAL

Formfaktor der Spannung (Effektivwert/Gleichrichtwert)

aMeanValue_I

ARRAY[0..2] OF LREAL

Mittelwert des Stroms über n Perioden

aRMS_I

ARRAY[0..2] OF LREAL

Effektivwert des Stroms über n Perioden

aRMS_I_Min

ARRAY[0..2] OF LREAL

Kleinster aufgetretener Wert von fRMS_I. Kann über bResetStatistics der Call-Methode zurückgesetzt werden.

aRMS_I_Max

ARRAY[0..2] OF LREAL

Größter aufgetretener Wert von fRMS_I. Kann über bResetStatistics der Call-Methode zurückgesetzt werden.

aPeakValue_I

ARRAY[0..2] OF LREAL

Spitzenwert des Stroms über n Perioden

aPeakHold_I

ARRAY[0..2] OF LREAL

Allzeit-Spitzenwert des Stroms. Kann über bResetStatistics der Call-Methode zurückgesetzt werden.

aRectifiedValue_I

ARRAY[0..2] OF LREAL

Gleichrichtwert des Stroms über n Perioden

aCrestFactor_I

ARRAY[0..2] OF LREAL

Scheitelfaktor (Crest-Faktor) des Stroms (Spitzenwert / Effektivwert)

aFormFactor_I

ARRAY[0..2] OF LREAL

Formfaktor des Stroms (Effektivwert / Gleichrichtwert)

bValidStatistics

BOOL

TRUE, wenn die Min-, Max- und Hold-Werteberechnung durchgeführt wurde. Diese Werte sind gültig.

FB_PMA_BasicValues_Period_3Ph 3: Methoden

Name

Beschreibung

Call

Die Methode wird in jedem Zyklus aufgerufen, um die Berechnungen aus dem Eingangspuffer durchzuführen, wenn neue Daten vorhanden sind.

Init

Alternative zur Bausteininitialisierung

PassInputs

Die Methode kann alternativ zur Call-Methode in jedem Zyklus aufgerufen werden, falls keine Berechnung erfolgen soll. Der ankommende Eingangspuffer wird dann entsprechend weitergeleitet.

Reconfigure

Die Methode wird aufgerufen, um den Funktionsbaustein während der Laufzeit neu zu konfigurieren.

Reset

Mit der Methode werden die aktuellen Berechnungen zurückgesetzt.

Beispiel

VAR CONSTANT
    cOversamples : UDINT := 10;
    cSourceInitPars: ST_PMA_Source_InitPars := (
        nBufferLength := cOversamples);
    cFrequencyInitPars : ST_PMA_Frequency_Period_InitPars := (
        nBufferLength := cOversamples,
        fSampleRate := cOversamples * 1000,
        fMinFreq := 45.0,
        fMaxFreq := 55.0,
        nPeriods := 1,
        nFilterOrder := 2,
        fCutOff := 70.0,
        eInputSelect := E_PMA_InputSelect.Voltage,
        fMinInput := 200.0);
    cBasicValuesInitPars : ST_PMA_BasicValues_Period_InitPars := (
        nBufferLength := cOversamples,
        fSampleRate := cOversamples * 1000,
        fMinInputCurrent := 0.01,
        nPeriods := 1);
END_VAR
VAR
    aVoltage AT%I* : ARRAY[0..2] OF ARRAY [1..cOversamples] OF LREAL;
    aCurrent AT%I* : ARRAY[0..2] OF ARRAY [1..cOversamples] OF LREAL;
    fbSource : FB_PMA_Source_3Ph := (nOwnID := 1, aDestIDs := [2,3], stInitPars := cSourceInitPars);
    fbFrequency : FB_PMA_Frequency_Period_3Ph := (nOwnID := 2, stInitPars := cFrequencyInitPars);
    fbBasicValues : FB_PMA_BasicValues_Period_3Ph := (nOwnID := 3, stInitPars := cBasicValuesInitPars);
END_VAR
// Call source
fbSource.Call(
    ADR(aVoltage[0]),
    ADR(aVoltage[1]),
    ADR(aVoltage[2]),
    ADR(aCurrent[0]),
    ADR(aCurrent[1]),
    ADR(aCurrent[2]),
    SIZEOF(aVoltage[0]),
    0);

// Call algorithms
fbFrequency.Call(FALSE);
fbBasicValues.Call(fbFrequency.aFreq[0], FALSE);

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x86, x64)

Tc3_PowerMonitoring