MC_OverrideFilter

MC_OverrideFilter 1:

Mit dem Funktionsbaustein MC_OverrideFilter kann ein ungefilterter Override-Wert in Digits (z. B. ein Spannungswert einer Analogeingangsklemme) in einen gefilterten, für das zyklische Achsinterface (PlcToNc) passenden, Override-Wert (DWORD im Wertebereich 0...1000000) umgerechnet werden. Ebenfalls steht dieser gefilterte Override auch in Prozent zur Verfügung (LREAL im Wertebereich 0...100%).

Der rohe Eingangswert wird dabei durch „LowerOverrideThreshold“ und „UpperOverrideThreshold“ auf auf einen Gültigkeitsbereich begrenzt und in eine parametrierbare Stufung (Auflösung) umgesetzt („OverrideSteps“). Nach jeder Override-Änderung am Ausgang des FBs wird intern eine Mindestruhezeit abgewartet („OverrideRecoveryTime“), bevor wieder ein neuer Override-Wert übernommen werden kann. Die einzigen Ausnahmen stellen die Override-Werte 0% und 100%, die aus Sicherheitsgründen immer ohne Zeitverzögerung umgesetzt werden.

MC_OverrideFilter 2:

Aufgrund der Stufung des ausgegebenen Override-Wertes („OverrideValueFiltered“) kann der gefilterte Override bei sehr kleinen Override-Eingangswerten („OverrideValueRaw“) Null werden. Ein Override Null führt zum Stillstand der Achse. Wenn ein vollständiger Stillstand nicht erwünscht ist, sollte „OverrideValueRaw“ nicht unter die kleineste Stufung fallen.

MC_OverrideFilter 3: Eingänge

VAR_INPUT
    OverrideValueRaw       : DINT;
    LowerOverrideThreshold : DINT := 0; (* 0...32767 digits *)
    UpperOverrideThreshold : DINT := 32767; (* 0...32767 digits *)
    OverrideSteps          : UDINT := 200; (* 200 steps => 0.5 percent *)
    OverrideRecoveryTime   : TIME := T#150ms; (* 150 ms *)
END_VAR

Name

Typ

Beschreibung

OverrideValueRaw

DINT

Roher, ungefilterter Override-Wert (z. B. ein Spannungswert einer Analogeingangsklemme).

LowerOverrideThreshold

DINT

Untere Schranke, die den rohen Override-Wert begrenzt.

UpperOverrideThreshold

DINT

Obere Schranke, die den rohen Override-Wert begrenzt.

OverrideSteps

UDINT

Die vorgegebene Stufung (Overrideauflösung).

OverrideRecoveryTime

TIME

Mindestruhezeit nach der ein neuer gefilterter Override-Wert auf den Ausgang gelegt wird. Die Override-Werte 0% und 100% werden allerdings ohne Zeitverzögerung umgesetzt.

MC_OverrideFilter 4: Ausgänge

VAR_OUTPUT
    OverrideValueFiltered   : DWORD; (* 0...1000000 counts *)
    OverridePercentFiltered : LREAL; (* 0...100 % *)
    Error                   : BOOL;
    ErrorId                 : UDINT;
END_VAR

Name

Typ

Beschreibung

OverrideValueFiltered

DWORD

Gefilterter Override-Wert in Digits (der Datentyp passt zum Override im zyklischen Achsinterface 0..1000000).

OverridePercentFiltered

LREAL

Gefilterter Override-Wert in Prozent (0..100%).

Error

BOOL

TRUE, wenn ein Fehler auftritt.

ErrorID

UDINT

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.

Mögliche Fehlernummer

Mögliche Ursachen

MC_ERROR_PARAMETER_NOT_CORRECT

  • OverrideSteps <= 1
  • LowerOverrideThreshold >=
    UpperOverrideThreshold

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC oder CX (x86 oder x64)

Tc2_MC2