MC_OverrideFilter

MC_OverrideFilter 1:

Mit dem Funktionsbaustein MC_OverrideFilter kann ein ungefilterter Overridewert in Digits ( z. B. ein Spannungswert einer Analogeingangsklemme) in einen gefilterten, für das zyklische Achsinterface (PlcToNc) passenden, Overidewert (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 UpperOverrideThresholdauf auf einen Gültigkeitsbereich begrenzt und in eine parametrierbare Stufung (Auflösung) umgesetzt (OverrideSteps). Nach jeder Overrideänderung am Ausgang des FB's wird intern eine Mindestruhezeit abgewartet (OverrideRecoveryTime), bevor wieder ein neuer Overridewert übernommen werden kann. Die einzigen Ausnahmen stellen die Overridewerte 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 es bei sehr kleinen Override-Eingangswerten (OverrideValueRaw) vorkommen, dass der gefilterte Override zu Null wird. Ein Override Null führt zum Stillstand der Achse. Falls ein vollständiger Stillstand nicht erwünscht ist, sollte OverrideValueRaw nicht unter die kleinste Stufung fallen.

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

OverrideValueRaw

Rohe, ungefilterter Overridewert (z.B. ein Spannungswert einer Analogeingangsklemme).

LowerOverrideThreshold

Die untere Schranke, die den rohen Overridewert begrenzt.

UpperOverrideThreshold

Die obere Schranke, die den rohen Overridewert begrenzt.

OverrideSteps

Die vorgegebene Stufung (Overrideauflösung).

OverrideRecoveryTime

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

Ausgänge


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

OverrideValueFiltered

Der gefilterte Overridewert in Digits (der Datentyp passt zum Override im zyklischen Achsinterface 0..1000000).

OverridePercentFiltered

Der gefilterte Overridewert in Prozent (0..100%).

Error

Wird im Fehlerfall TRUE.

ErrorID

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.

Mögliche Fehlernummer

Mögliche Ursachen

MC_ERROR_PARAMETER_NOT_CORRECT

  • OverrideSteps <= 1
  • LowerOverrideThreshold >= UpperOverrideThreshold