FB_CTRL_PI_PID

FB_CTRL_PI_PID 1:

Der Funktionsbaustein stellt einen kaskadierten PI - PID-Regler im Wirkungsplan dar. Intern nutzt dieser Baustein die Übertragungsglieder FB_CTRL_PI, FB_CTRL_LIMITER und den FB_CTRL_PID.

Übertragungsfunktion des PI-Glieds

FB_CTRL_PI_PID 2:

Übertragungsfunktion des PID-Glieds

FB_CTRL_PI_PID 3:

Wirkungsplan des kaskadierten Übertragungsglieds

FB_CTRL_PI_PID 4:

FB_CTRL_PI_PID 5: VAR_INPUT

VAR_INPUT
    fSetpointValue           : FLOAT;
    fActualValueOuterLoop    : FLOAT;
    fActualValueInnerLoop    : FLOAT;
    fPreControl              : FLOAT;
    fManSyncValueInnerLoop   : FLOAT;
    bSyncInnerLoop           : BOOL;
    eModeInnerLoop           : E_CTRL_MODE;
    bHoldInnerLoop           : BOOL;
    fManSyncValueOuterLoop   : FLOAT;
    bSyncOuterLoop           : BOOL;
    eModeOuterLoop           : E_CTRL_MODE;
    bHoldOuterLoop           : BOOL;
END_VAR

Name

Typ

Beschreibung

fSetpointValue

FLOAT

Sollwert der Regelgröße

fActualValueOuterLoop

FLOAT

Istwert der Regelgröße, die auf den PI-Regler des äußeren Regelkreises zurückgeführt wird.

fActualValueInnerLoop

FLOAT

Istwert der Regelgröße, die auf den PID-Regler des inneren Regelkreises zurückgeführt wird.

fPreControl

FLOAT

Vorsteuerung, die hinter dem PI-Regler aufgeschaltet wird.

fManSyncValueInnerLoop

FLOAT

Eingang, auf dessen Wert der interne Zustand des PID-Glieds (innerer Regelkreis) gesetzt werden kann.

bSyncInnerLoop

BOOL

Mit einer steigenden Flanke an diesem Eingang wird das PID-Glied (innerer Regelkreis) auf den Wert „fManSyncValueInnerLoop“ gesetzt.

eModeInnerLoop

E_CTRL_MODE

Eingang, der die Betriebsart des PID-Glieds (innerer Regelkreis) festlegt.

bHoldInnerLoop

BOOL

Ein TRUE an diesem Eingang hält den internen Zustand des PID-Glieds (innerer Regelkreis) konstant auf dem aktuellen Wert.

fManSyncValueOuterLoop

FLOAT

Eingang, auf dessen Wert der interne Zustand des PI-Glieds (äußerer Regelkreis) gesetzt werden kann.

bSyncOuterLoop

BOOL

Mit einer steigenden Flanke an diesem Eingang wird das PI-Glied (äußerer Regelkreis) auf den Wert „fManSyncValueOuterLoop“ gesetzt.

eModeOuterLoop

E_CTRL_MODE

Eingang, der die Betriebsart des PI-Glieds (äußerer Regelkreis) festlegt.

bHoldOuterLoop

BOOL

Ein TRUE an diesem Eingang hält den internen Zustand des PI-Glieds (äußerer Regelkreis) konstant auf dem aktuellen Wert.

FB_CTRL_PI_PID 6: VAR_OUTPUT

VAR_OUTPUT
    fOut                   : FLOAT;
    eStateInnerLoop        : E_CTRL_STATE;
    bARWactiveInnerLoop    : BOOL;
    eErrorIdInnerLoop      : E_CTRL_ERRORCODES;
    bErrorInnerLoop        : BOOL;
    eStateOuterLoop       
 : E_CTRL_STATE;
    bARWactiveOuterLoop    : BOOL;
    eErrorIdOuterLoop      : E_CTRL_ERRORCODES;
    bErrorOuterLoop        : BOOL;
END_VAR

Name

Typ

Beschreibung

fOut

FLOAT

Ausgang des PI-PID-Glieds

eStateInnerLoop

E_CTRL_STATE

State des internen PID-Glieds (innerer Regelkreis)

bARWactive
InnerLoop

BOOL

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

eErrorIdInnerLoop

E_CTRL_ERROR
CODES

Liefert bei einem gesetzten bError-Ausgang die Fehlernummer des PID-Glieds (innerer Regelkreis).

bErrorInnerLoop

BOOL

Wird TRUE, sobald ein Fehler in dem PID-Glied (innerer Regelkreis) eintritt.

eStateOuterLoop

E_CTRL_STATE

State des internen PI-Glieds (äußerer Regelkreis)

bARWactiveOuterLoop

BOOL

Ein TRUE an diesem Ausgang signalisiert, dass sich das PI-Glied (äußerer Regelkreis) in der Begrenzung befindet.

eErrorIdOuterLoop

E_CTRL_ERRORCODES

Liefert bei einem gesetzten bError-Ausgang die Fehlernummer des PI-Glieds (äußerer Regelkreis).

bErrorOuterLoop

BOOL

Wird TRUE, sobald ein Fehler in dem PI-Glied (äußerer Regelkreis) eintritt.

VAR_IN_OUT

VAR_IN_OUT
    stParams        : ST_CTRL_PI_PID_PARAMS;
END_VAR

Name

Typ

Beschreibung

stParams

ST_CTRL_PI_PID_PARAMS

Parameterstruktur des PI-PID-Glieds

stParams besteht aus den folgenden Elementen:

TYPE
ST_CTRL_PI_PID_PARAMS :
STRUCT
    tCtrlCycleTime         : TIME := T#0ms;
    tTaskCycleTime         : TIME := T#0ms;
    fKp_OuterLoop          : FLOAT := 0;
    tTn_OuterLoop          : TIME := T#0s;
    fMaxLimit_OuterLoop    : FLOAT := 1E38;
    fMinLimit_OuterLoop    : FLOAT := -1E38;
    fKp_InnerLoop          : FLOAT := 0;
    tTn_InnerLoop          : TIME := T#0ms;
    tTv_InnerLoop          : TIME := T#0ms;
    tTd_InnerLoop          : TIME := T#0ms;
    fMaxLimit_InnerLoop    : FLOAT := 1E38;
    fMinLimit_InnerLoop    : FLOAT := -1E38;
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_OuterLoop

FLOAT

Reglerverstärkung / Reglerbeiwert des PI-Glieds (äußerer Regelkreis)

tTn_OuterLoop

TIME

Nachstellzeit des PI-Glieds (äußerer Regelkreis). Wenn diese zu T#0s parametriert ist, wird der I-Anteil deaktiviert.

fMaxLimit_OuterLoop

FLOAT

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

fMinLimit_OuterLoop

FLOAT

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

fKp_InnerLoop

FLOAT

Reglerverstärkung / Reglerbeiwert des PID-Glieds (innerer Regelkreis)

tTn_InnerLoop

TIME

Nachstellzeit des PID-Glieds (innerer Regelkreis). Wenn diese zu T#0s parametriert ist, wird der I-Anteil deaktiviert.

tTv_InnerLoop

TIME

Vorhaltzeit des PID-Glieds (innerer Regelkreis). Wenn diese zu T#0s parametriert ist, wird der D-Anteil deaktiviert.

tTd_InnerLoop

TIME

Dämpfungszeit des PID-Glieds (innerer Regelkreis)

fMaxLimit_InnerLoop

FLOAT

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

fMinLimit_InnerLoop

FLOAT

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