FB_CTRL_3POINT

FB_CTRL_3POINT 1:

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

Verhalten des Ausgangs:

FB_CTRL_3POINT 2:

VAR_INPUT

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

fSetpointValue : Sollwert der Regelgröße.

fActualValue : Istwert der Regelgröße.

nManSyncValue : 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 : Mit einer steigenden Flanke an diesem Eingang wird das 3-Punkt-Glied auf den Wert bManSyncValue gesetzt.

eMode : Eingang, der die Betriebsart des Bausteins festlegt.

VAR_OUTPUT

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

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

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

eState : State des Funktionsbausteins.

eErrorId : Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.

bError : Wird TRUE, sobald ein Fehler eintritt.

VAR_IN_OUT

VAR_IN_OUT
    stParams        : ST_CTRL_3POINT_PARAMS;
END_VAR

stParams : Parameterstruktur des 3Punkt-Glieds. Diese besteht aus den folgenden Elementen:

TYPE
ST_CTRL_3POINT_PARAMS :
STRUCT
    tCtrlCycleTime     : TIME     := T#0ms; (* controller cycle
time [TIME] *)
    tTaskCycleTime     : TIME     := T#0ms; (* task cycle time
[TIME] *)
    fPosOutOn      : FLOAT;         (* switch to
bPosOut on *)
    fPosOutOff     : FLOAT;         (* switch to
bPosOut off *)
    fNegOutOn      : FLOAT;         (* switch to
bNegOut on *)
    fNegOutOff     : FLOAT;         (* switch to
bNegOut off *)
END_STRUCT
END_TYPE

tCtrlCycleTime : 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 : Zykluszeit, mit der der Funktionsbaustein aufgerufen wird. Diese entspricht der Task-Zykluszeit der aufrufenden Task, wenn der Baustein in jedem Zyklus aufgerufen wird.

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

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

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

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

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.8

PC (i386)

TcControllerToolbox.lib

TwinCAT v2.9 ab Build 947

BC

TcControllerToolbox.lb6

TwinCAT v2.9 ab Build 956

BX

TcControllerToolbox.lbx