FB_CTRL_PID_EXT

FB_CTRL_PID_EXT 1:

Übertragungsfunktion

Die folgende Übertragungsfunktion lässt sich angeben, wenn die boolschen Eingänge bPInTheFeedbackPath und bDInTheFeedbackPath FALSE sind, anderenfalls beschreibt die Übertragungsfunktion nur einen Teil des Übertragungsverhaltens des Blocks:

FB_CTRL_PID_EXT 2:

Wirkungsplan

FB_CTRL_PID_EXT 3:

Der Standardwirkungsplan eines PID-Reglers in additiver Form ist um die beiden als "Schalter" wirkenden boolschen Eingänge bPInTheFeedbackPath und bDInTheFeedbackPath erweitert worden, so dass ein modifizierter Wirkungsplan aktiviert werden kann.

Der regelungstechnische Hintergrund ist der, dass bei Sollwertsprüngen durch den Differential-Anteil des Regelalgorithmus große Stellgrößen entstehen, die die Stellelemente belasten und das Regelsystem zum Schwingen anregen können. Ein Regelalgorithmus, dessen Differential-Anteil nur auf der Regelgröße angewendet wird (bDInTheFeedbackPath := TRUE), vermeidet dieses Problem.

Mit den Eingängen bPInTheFeedbackPath und bDInTheFeedbackPath können die folgenden Übertragungsfunktionen des geschlossenen Regelkreises realisiert werden:

bPInTheFeedbackPath

bDInTheFeedbackPath

G(s)

false

false

FB_CTRL_PID_EXT 4:

true

false

FB_CTRL_PID_EXT 5:

false

true

FB_CTRL_PID_EXT 6:

true

true

FB_CTRL_PID_EXT 7:

mit:

FB_CTRL_PID_EXT 8:
FB_CTRL_PID_EXT 9:
FB_CTRL_PID_EXT 10:

Die Standardeinstellung für die beiden Eingänge bPInTheFeedbackPath und bDInTheFeedbackPath ist FALSE. Der PID-Regler entspricht dann einem Standard PID-Regler in additiver Form.

FB_CTRL_PID_EXT 11:

Abschaltung des I-Anteils in dem OuterWindow

Wenn die Regelabweichung größer als der Parameter fOuterWindow ist, wird die Integration der Regelabweichung angehalten. Hiermit kann verhindert werden, dass sich bei einer großen Regelabweichung ein sehr großer I-Anteil aufbaut, der eventuell zu einem zu starken Überschwingen führt. Wenn diese Funktion nicht gewünscht ist, kann sie mit fOuterWindow := 0 deaktiviert werden.

Lineare Reduzierung des I-Anteils in dem InnerWindow

Mit dieser Funktion ist es möglich, den I-Anteil in dem mit dem Parameter fInnerWindow festgelegten Bereich linear zu Null zu führen. Wenn diese Funktion nicht gewünscht ist, kann sie mit fInnerWindow := 0 deaktiviert werden.

Totzone des Ausgangs

Wenn der Parameter fDeadBandOutput > 0 gesetzt wird, wird der Ausgang in dem Intervall [ -fDeadBandOutput ... fDeadBandOutput ] zu Null gesetzt.

Totzone des Eingangs

Wenn der Parameter fDeadBandInput > 0 gesetzt wird, wird der Ausgang konstant gehalten, solange sich die Regelabweichung in dem Intervall [ -fDeadBandInput ... fDeadBandInput ] befindet.

Sprungantwort

FB_CTRL_PID_EXT 12:

ARW

FB_CTRL_PID_EXT 13:

FB_CTRL_PID_EXT 14: VAR_INPUT

VAR_INPUT
    fSetpointValue    : FLOAT;
    fActualValue      : FLOAT;
    fManSyncValue     : FLOAT;
    bSync             : BOOL;
    eMode             : E_CTRL_MODE;
    bHold             : BOOL;
END_VAR

Name

Typ

Beschreibung

fSetpointValue

FLOAT

Sollwert der Regelgröße

fActualValue

FLOAT

Istwert der Regelgröße

fManSyncValue

FLOAT

Eingang, mit dem das PID-Glied gesetzt werden kann.

bSync

BOOL

Mit einer steigenden Flanke an diesem Eingang wird das PID-Glied auf den Wert „fManSyncValue“ gesetzt.

eMode

E_CTRL_MODE

Eingang, der die Betriebsart des Bausteins festlegt.

bHold

BOOL

Ein TRUE an diesem Eingang hält den internen Zustand und somit auch den Ausgang unabhängig von der Regelabweichung konstant auf dem aktuellen Wert.

FB_CTRL_PID_EXT 15: VAR_OUTPUT

VAR_OUTPUT
    fOut                : FLOAT;
    bMaxLimitReached    : BOOL := FALSE;
    bMinLimitReached    : BOOL := FALSE;
    bARWActive          : BOOL := FALSE;
    fCtrlDerivation     : FLOAT;
    eState              : E_CTRL_STATE;
    bError              : BOOL;
    eErrorId            : E_CTRL_ERRORCODES;
END_VAR

Name

Typ

Beschreibung

fOut

FLOAT

Ausgang des PID-Glieds

bMaxLimit
Reached

BOOL

Der Ausgang ist TRUE, wenn sich der Baustein in der oberen Begrenzung befindet.

bMinLimit
Reached

BOOL

Der Ausgang ist TRUE, wenn sich der Baustein in der unteren Begrenzung befindet.

bARWActive

BOOL

Ein TRUE an diesem Ausgang signalisiert, dass sich das PID-Glied in der Begrenzung befindet.

fCtrlDerivation

FLOAT

Der aktuelle Wert der Regelabweichung

eState

E_CTRL_STATE

State des Funktionsbausteins

bError

BOOL

Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.

eErrorId

E_CTRL_
ERRORCODES

Wird TRUE, sobald ein Fehler eintritt.

VAR_IN_OUT

VAR_IN_OUT
    stParams    : ST_CTRL_PID_EXT_PARAMS;
END_VAR

Name

Typ

Beschreibung

stParams

ST_CTRL_PID_
EXT_PARAMS

Parameterstruktur des PID-Glieds

stParams besteht aus den folgenden Elementen:

TYPE
ST_CTRL_PID_EXT_PARAMS :
STRUCT
    tCtrlCycleTime         : TIME := T#0ms;
    tTaskCycleTime         : TIME := T#0ms;
    fKp                    : FLOAT := 0;
    tTn                    : TIME := T#0ms;
    tTv                    : TIME := T#0ms;
    tTd                    : TIME := T#0ms;
    fDeadBandInput         : REAL := 0.0;
    fDeadBandOutput        : REAL := 0.0;
    fInnerWindow           : REAL := 0.0;
    fOuterWindow           : REAL := 0.0;
    fOutMaxLimit           : FLOAT := 1E38;
    fOutMinLimit           : FLOAT := -1E38;
    bPInTheFeedbackPath    : BOOL;
    bDInTheFeedbackPath    : BOOL;
    bARWOnIPartOnly        : BOOL;
END_STRUCT
END_TYPE

Name

Typ

Beschreibung

tCtrlCycleTime

TIME

Zykluszeit, mit der der Regelkreis bearbeitet wird. Diese muss größer oder gleich der TaskCycleTime sein. Der Funktionsbaustein berechnet mit dieser Eingangsgröße intern, ob die Zustands- und Ausgangsgrößen im aktuellen Zyklus aktualisiert werden müssen.

tTaskCycleTime

TIME

Zykluszeit, mit der der Funktionsbaustein aufgerufen wird. Diese entspricht der Task-Zykluszeit der aufrufenden Task, wenn der Baustein in jedem Zyklus aufgerufen wird.

fKp

FLOAT

Reglerverstärkung / Reglerbeiwert

tTn

TIME

Nachstellzeit, wenn diese zu T#0s parametriert ist, wird der I-Anteil deaktiviert.

tTv

TIME

Vorhaltzeit, wenn diese zu T#0s parametriert ist, wird der D-Anteil deaktiviert.

tTd

TIME

Dämpfungszeit

fDeadBandInput

REAL

Siehe obere Beschreibung.

fDeadBand
Output

REAL

Siehe obere Beschreibung.

fInnerWindow

REAL

Siehe obere Beschreibung.

fOuterWindow

REAL

Siehe obere Beschreibung.

fOutMaxLimit

FLOAT

Oberes Limit, an dem die Integration angehalten und der Ausgang begrenzt wird (ARW-Maßnahme). Das Erreichen dieses Limits wird durch ein TRUE an dem Ausgang bARWActive signalisiert.

fOutMinLimit

FLOAT

Unteres Limit, an dem die Integration angehalten und der Ausgang begrenzt wird (ARW-Maßnahme). Das Erreichen dieses Limits wird durch ein TRUE an dem Ausgang bARWActive signalisiert.

bPInTheFeed
backPath

BOOL

Eingang, mit dem die Eingangsgröße des P-Glieds ausgewählt werden kann (siehe Wirkungsplan).

bDInTheFeed
backPath

BOOL

Eingang, mit dem die Eingangsgröße des D-Glieds ausgewählt werden kann (siehe Wirkungsplan).

bARWOnIPart
Only

BOOL

Wenn dieser Parameter FALSE ist (Standardeinstellung), wird die Integration des I-Anteil dann angehalten, wenn der gesamte Reglerausgang das obere oder untere Limit erreicht.
Wenn dieser TRUE ist, wird die Integration dann angehalten, wenn der I-Anteil (der Integratorausgang) ein Limit erreicht. (Vergl. Wirkungsplan.)