FB_CTRL_3POINT

FB_CTRL_3POINT 1:

Der Funktionsbaustein stellt ein 3-Punkt-Übertragungsglied im Wirkungsplan dar.

Verhalten des Ausgangs

FB_CTRL_3POINT 2:

FB_CTRL_3POINT 3: VAR_INPUT

VAR_INPUT
    fSetpointValue  : FLOAT;
    fActualValue    : FLOAT;
    nManSyncValue   : INT;
    bSync           : BOOL;
    eMode           : E_CTRL_MODE;
END_VAR

Name

Typ

Beschreibung

fSetpointValue

FLOAT

Sollwert der Regelgröße

fActualValue

FLOAT

Istwert der Regelgröße

nManSyncValue

INT

Eingang, mit dem das 3-Punkt-Glied auf einen der drei Zweige gesetzt werden kann.
nManSyncValue >= 1 → bPosOut = TRUE,
bNegOut = FALSE
nManSyncValue <= -1 → bPosOut = FALSE, bNegOut = TRUE
sonst → bPosOut = FALSE, bNegOut = FALSE

bSync

BOOL

Mit einer steigenden Flanke an diesem Eingang wird das 3-Punkt-Glied auf den Wert „bManSyncValue“ gesetzt.

eMode

E_CTRL_MODE

Eingang, der die Betriebsart des Bausteins festlegt.

FB_CTRL_3POINT 4: VAR_OUTPUT

VAR_OUTPUT
    bPosOut    : BOOL;
    bNegOut    : BOOL;
    eState     : E_CTRL_STATE;
    eErrorId   : E_CTRL_ERRORCODES;
    bError     : BOOL;
END_VAR

Name

Typ

Beschreibung

bPosOut

BOOL

Dieser Ausgang des 3-Punkt-Glieds ist TRUE, wenn der obere Zweig der Kennlinie aktiv ist.

bNegOut

BOOL

Dieser Ausgang des 3-Punkt-Glieds ist TRUE, wenn der untere Zweig der Kennlinie aktiv ist.

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.

VAR_IN_OUT

VAR_IN_OUT
    stParams    : ST_CTRL_3POINT_PARAMS;
END_VAR

Name

Typ

Beschreibung

stParams

ST_CTRL_3POINT_PARAMS

Parameterstruktur des 3-Punkt-Glieds

stParams besteht aus den folgenden Elementen:

TYPE
ST_CTRL_3POINT_PARAMS :
STRUCT
    tCtrlCycleTime    : TIME := T#0ms;
    tTaskCycleTime    : TIME := T#0ms;
    fPosOutOn         : FLOAT;
    fPosOutOff        : FLOAT;
    fNegOutOn         : FLOAT;
    fNegOutOff        : FLOAT;
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.

tTaskCycle
Time

TIME

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

fPosOutOn

FLOAT

Regelabweichung, bei der von „bPosOut = FALSE zu bPosOut = TRUE“ geschaltet wird (bNegOut = FALSE).

fPosOutOff

FLOAT

Regelabweichung, bei der von „bPosOut = TRUE zu bPosOut = FALSE“ geschaltet wird (bNegOut = FALSE).

fNegOutOn

FLOAT

Regelabweichung, bei der von „bNegOut = FALSE zu bNegOut = TRUE“ geschaltet wird (bPosOut = FALSE).

fNegOutOff

FLOAT

Regelabweichung, bei der von „bNegOut = TRUE zu bNegOut = FALSE“ geschaltet wird (bPosOut = FALSE).