FB_CTRL_ACTUAL_VALUE_FILTER

FB_CTRL_ACTUAL_VALUE_FILTER 1:

Der Funktionsbaustein ermöglicht eine Plausibilitätskontrolle und Filterung einer gemessenen Eingangsgröße.

Verhalten des Ausgangs:

FB_CTRL_ACTUAL_VALUE_FILTER 2:

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.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.8

PC (i386)

TcControllerToolbox.lib

TwinCAT v2.9 ab Build 947

BC

TcControllerToolbox.lb6

TwinCAT v2.9 ab Build 956

BX

TcControllerToolbox.lbx