FB_CTRL_SCALE
Mit diesem Funktionsbaustein ist es möglich, eine lineare Signalanpassung zwischen zwei Wertebereichen vorzunehmen.
VAR_INPUT
VAR_INPUT
fIn : FLOAT;
END_VAR
fIn : Eingangsgröße des Funktionsbausteins.
VAR_OUTPUT
VAR_OUTPUT
fOut : FLOAT;
eErrorId : E_CTRL_ERRORCODES;
bError : BOOL;
END_VAR
fOut : Skalierte Ausgangsgröße.
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_SCALE_PARAMS;
END_VAR
stParams : Parameterstruktur des Funktionsbausteins. Diese besteht aus den folgenden Elementen:
TYPE
ST_CTRL_SCALE_PARAMS:
STRUCT
tCtrlCycleTime : TIME := T#0ms; (* controller cycle
time [TIME] *)
tTaskCycleTime : TIME := T#0ms; (* task cycle time
[TIME] *)
fInMin : FLOAT;
fInMax : FLOAT;
fOutMin : FLOAT;
fOutMax : FLOAT;
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.
fInMin : Minimum der Eingangsgröße.
fInMax : Maximum der Eingangsgröße.
fOutMin : Minimum der Ausgangsgröße.
fOutMax : Maximum der Ausgangsgröße.