FB_CTRL_SPLITRANGE
Dieser Baustein zerlegt ein Einganssignal in einen positiven und einen negativen Anteil. Mit den Parametern bDisablePosOut und bDisableNegOut kann der positive oder negative Ausgang deaktiviert werden → Heizbetrieb nur im Winter, Kühlbetrieb nur im Sommer. Der Parameter bInvertNegOutput ermöglicht das Invertieren des negativen Ausgangs.
Beschreibung des Ausgangsverhaltens:
VAR_INPUT
VAR_INPUT
fIn : FLOAT;
END_VAR
fIn : Eingangsgröße des Funktionsbausteins.
VAR_OUTPUT
VAR_OUTPUT
fOutPos : FLOAT;
fOutNeg : FLOAT;
bOutPosIsActive : BOOL;
bOutNegIsActive : BOOL;
eErrorId : E_CTRL_ERRORCODES;
bError : BOOL;
END_VAR
fOutPos : Positiver Teil von fIn.
fOutNeg : Negativer Teil von fIn.
bOutPosIsActive : Ein TRUE signalisiert, das fIn > 0.0 ist,
bOutNegIsActive : Ein TRUE signalisiert, das fIn < 0.0 ist,
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_SPLITRANGE_PARAMS;
END_VAR
stParams : Parameterstruktur des Funktionsbausteins. Diese besteht aus den folgenden Elementen:
TYPE
ST_CTRL_SPLITRANGE_PARAMS:
STRUCT
tCtrlCycleTime : TIME := T#0ms; (*
controller cycle time [TIME] *)
tTaskCycleTime : TIME := T#0ms; (* task
cycle time [TIME] *)
bInvertNegOutput : BOOL;
bDisablePosOut : BOOL;
bDisableNegOut : BOOL;
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.
bInvertNegOutput : Wenn dieser Parameter TRUE ist, wird fOutNeg invertiert.
bDisablePosOut : Der Ausgang fOutPos wird deaktiviert und ist immer 0.0.
bDisableNegOut : Der Ausgang fOutNeg wird deaktiviert und ist immer 0.0.