FB_CTRL_I_WITH_DRIFTCOMPENSATION

FB_CTRL_I_WITH_DRIFTCOMPENSATION 1:

Der Funktionsbaustein stellt ein I-Übertragungsglied mit einer Driftkompensation dar.

Wirkungsplan

FB_CTRL_I_WITH_DRIFTCOMPENSATION 2:

FB_CTRL_I_WITH_DRIFTCOMPENSATION 3: Eingänge

VAR_INPUT
    fIn              : FLOAT;
    fManSyncValue    : FLOAT;
    bSync            : BOOL;
    eMode            : E_CTRL_MODE;
    bHold            : BOOL;
END_VAR

Name

Typ

Beschreibung

fIn

FLOAT

Eingang des I-Glieds

fManSyncValue

FLOAT

Eingang, auf den das I-Glied synchronisiert werden kann, oder dessen Wert im Manual-Mode am Ausgang anliegt.

bSync

BOOL

Mit einer steigenden Flanke an diesem Eingang wird der Integrator 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 Integrator unabhängig von dem Eingang fIn konstant auf dem aktuellen Wert.

FB_CTRL_I_WITH_DRIFTCOMPENSATION 4: Ausgänge

VAR_OUTPUT
    fOut          : FLOAT;
    bARWactive    : BOOL;
    eState        : E_CTRL_STATE;
    eErrorId      : E_CTRL_ERRORCODES;
    bError        : BOOL;
END_VAR

Name

Typ

Beschreibung

fOut

FLOAT

Ausgang des I-Gliedes

bARWactive

BOOL

Ein TRUE an diesem Ausgang signalisiert, dass sich der Integrator in der Begrenzung befindet.

eState

E_CTRL_STATE

State des Funktionsbausteins

eErrorId

E_CTRL_ERRORCODES

Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.

bError

BOOL

Wird TRUE, sobald ein Fehler eintritt.

FB_CTRL_I_WITH_DRIFTCOMPENSATION 5: Ein-/ Ausgänge

VAR_IN_OUT
    stParams    : ST_CTRL_I_WITH_DRIFTCOMPENSATION_PARAMS;
END_VAR

Name

Typ

Beschreibung

stParams

ST_CTRL_I_
WITH_DRIFTCOMPENSATION_
PARAMS

Parameterstruktur des I-Glieds

stParams besteht aus den folgenden Elementen:

TYPE
ST_CTRL_I_WITH_DRIFTCOMPENSATION_PARAMS:
STRUCT
    tCtrlCycleTime         : TIME := T#0ms;
    tTaskCycleTime         : TIME := T#0ms;
    tTi                    : TIME := T#0ms;
    fOutMaxLimit           : FLOAT := 1E38;
    fOutMinLimit           : FLOAT := -1E38;
    fDampingCoefficient    : FLOAT := 0.0;
    tAveragingTime         : TIME := T#0ms;
    pWorkArray_ADR         : POINTER TO FLOAT := 0;
    nWorkArray_SIZEOF      : UINT := 0;
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.

tTi

TIME

Integrationszeit des I-Glieds

fOutMaxLimit

FLOAT

Oberes Limit, an dem die Integration angehalten 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 wird (ARW-Maßnahme). Das Erreichen dieses Limits wird durch ein TRUE an dem Ausgang bARWActive signalisiert.

fDampingCoefficient

FLOAT

Faktor kd im Wirkungsplan

tAveragingTime

TIME

Zeit, über die das gleitende Mittelwertfilter den Mittelwert bildet.

pWorkArray_ADR

POINTER TO FLOAT

Adresse eines Array of FLOAT der Größe tAveragingTime / tCtrlCycleTime
(Siehe Beschreibung des Bausteins: FB_CTRL_MOVING_AVERAGE.)

nWorkArray_SIZEOF

UINT

Größe eines Array of FLOAT der Größe tAveragingTime / tCtrlCycleTime
(Siehe Beschreibung des Bausteins: FB_CTRL_MOVING_AVERAGE.)