FB_CTRL_HYSTERESIS
Der Funktionsbaustein stellt ein Hysterese-Übertragungsglied in einem Wirkungsplan dar.
Übertragungsfunktion:
VAR_INPUT
VAR_INPUT
fIn : FLOAT;
bManSyncValue : BOOL;
bSync : BOOL;
eMode : E_CTRL_MODE;
END_VAR
fIn : Eingang des Hysterese-Glieds.
bManSyncValue : Eingang, mit dem das Hysterese-Glied auf einen der beiden Zweige gesetzt werden kann.
bSync : Mit einer steigenden Flanke an diesem Eingang wird das Hysterese-Glied auf den Wert fManSyncValue gesetzt.
eMode : Eingang, der die Betriebsart des Bausteins festlegt.
VAR_OUTPUT
VAR_OUTPUT
bOut : BOOL;
eState : E_CTRL_STATE;
eErrorId : E_CTRL_ERRORCODES;
bError : BOOL;
END_VAR
bOut : Ausgang des Hysterese-Glieds.
eState : State des Funktionsbausteins.
eErrorId : Liefert bei einem gesetzten bError-Ausgang die Fehlernummer.
bError : Wird TRUE, sobald eine Fehlersituation eintritt.
VAR_IN_OUT
VAR_IN_OUT
stParams : ST_CTRL_HYSTERESIS_PARAMS;
END_VAR
stParams : Parameterstruktur des Hysterese-Glieds. Diese besteht aus den folgenden Elementen:
TYPE
ST_CTRL_HYSTERESIS_PARAMS :
STRUCT
tCtrlCycleTime : TIME := T#0ms; (* controller cycle
time [TIME] *)
tTaskCycleTime : TIME := T#0ms; (* task cycle time
[TIME] *)
fHysteresisRange : FLOAT; (* range of the hysteresis loop
*)
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.
fHysteresisRange : Hysterese-Bereich, siehe Bild oben.