FB_CTRL_3POINT
Der Funktionsbaustein stellt ein 3-Punkt-Übertragungsglied im Wirkungsplan dar.
Verhalten des Ausgangs:
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 ).