FB_CTRL_ACTUAL_VALUE_FILTER
Der Funktionsbaustein ermöglicht eine Plausibilitätskontrolle und Filterung einer gemessenen Eingangsgröße.
Verhalten des Ausgangs:
Mit diesem Baustein kann eine Plausibilitätskontrolle einer gemessenen Eingangsgröße vorgenommen werden. Wenn die Differenz zweier aufeinander folgender Abtastwerte (Messwerte) größer als die vorgegebene Schranke fDeltaMax ist, wird der aktuelle Eingangswert für maximal drei Zyklen unterdrückt. Während dieser Zeit wird der Ausgangswert aus den zurückliegenden Eingangswerten extrapoliert. Wenn die vorgegebene Schranke länger als 3 Zyklen überschritten wird, folgt der Ausgang wieder der Eingangsgröße. Das Verhalten des Ausgangs ist in dem obigen Bild dargestellt.
VAR_INPUT
VAR_INPUT
fIn : FLOAT;
fManValue : FLOAT;
eMode : E_CTRL_MODE;
END_VAR
fIn : Eingangsgröße des Filters.
fManValue : Eingangsgröße, dessen Wert im Manual-Mode ausgegeben wird.
eMode : Eingang, der die Betriebsart des Bausteins festlegt.
VAR_OUTPUT
VAR_OUTPUT
fOut : FLOAT;
eState : E_CTRL_STATE;
eErrorId : E_CTRL_ERRORCODES;
bError : BOOL;
END_VAR
fOut : Ausgang des Funktionsbausteins.
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_ACTUAL_VALUE_FILTER_PARAMS;
END_VAR
stParams : Parameterstruktur des Actual-Value-Filter-Glieds. Diese besteht aus den folgenden Elementen:
TYPE
FB_CTRL_ACTUAL_VALUE_FILTER:
STRUCT
tCtrlCycleTime : TIME := T#0ms; (* controller cycle
time [TIME] *)
tTaskCycleTime : TIME := T#0ms; (* task cycle time
[TIME] *)
fDeltaMax :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.
fDeltaMax : Maximale Differenz zweier aufeinander folgender Eingangswerte. Siehe Beschreibung oben.