FB_PMA_Protection

Der Funktionsbaustein FB_PMA_Protection dient der Überwachung von Netzdaten oder Ergebnissen mittels Schwellwert und Hysterese. Dabei können eine beliebige Anzahl von Eingangskanälen gleichzeitig überwacht werden. Ein zusätzlicher Ausgang gibt zusammenfassend an, ob mindestens ein Schwellwert über- oder unterschritten wurde.

Syntax

Definition:

FUNCTION BLOCK FB_PMA_Protection
VAR_INPUT
    stInitPars        : ST_PMA_Protection_InitPars;
END_VAR
VAR_OUTPUT
    bError            : BOOL;
    ipResultMessage   : I_TcMessage;
    bNewResult        : BOOL;
    bProtectionResult : BOOL;
    tLastEvent        : ULINT;
END_VAR

FB_PMA_Protection 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 durch das erneute Aufrufen der Init-Methode möglich.

Name

Typ

Beschreibung

stInitPars

ST_PMA_Protection_InitPars

Bausteinspezifische Struktur mit Initialisierungsparametern

FB_PMA_Protection 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.

bProtectionResult

BOOL

TRUE, sobald ein Eingangskanal außerhalb der Schwellwerte liegt.

tLastEvent

ULINT

Zeitstempel, an dem sich der Ausgang bProtectionResult zuletzt geändert hat.

FB_PMA_Protection 3: Methoden

Mithilfe von Methoden können unterschiedliche Systeme (einphasig bzw. dreiphasig) sowie unterschiedliche Auflösungen (16 Bit bzw. 32 Bit) skaliert werden.

Name

Beschreibung

Call

Die Methode aufgerufen, um die Berechnung durchzuführen.

Init

Alternative zur Bausteininitialisierung

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.

SetChannelValue

Methode zur Übergabe von Werten an den Algorithmus.

Beispiel

VAR CONSTANT
    cInitPars: ST_PMA_Protection_InitPars :=
    (
        nNumChannels := 3,
        fSetpoint := 230.0,
        fMinThreshold := 0.9,
        fMinThresholdHysteresis := 0.01,
        fMaxThreshold := 1.1,
        fMaxThresholdHysteresis := 0.01
    );
END_VAR
VAR
    fbProtection : FB_PMA_Protection := (stInitPars:= cInitPars);
    tTimestamp : ULINT;
    fVoltage_FeedIn : LREAL;
    fVoltage_Conumer1 : LREAL;
    fVoltage_Conumer2 : LREAL;
    aOut : ARRAY[1..3] OF BOOL
END_VAR
// Get current dc time - Tc2_EtherCAT lib has to be included
tTimestamp := Tc2_EtherCAT.F_GetActualDcTime64();

// Call algorithm
fbProtection.SetChannelValue(1, fVoltage_FeedIn);
fbProtection.SetChannelValue(2, fVoltage_Conumer1);
fbProtection.SetChannelValue(3, fVoltage_Conumer2);
fbProtection.Call(tTimestamp, ADR(aOut), SIZEOF(aOut));

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.0

PC oder CX (x86, x64)

Tc3_PowerMonitoring