Skip to main content

FB_ENVELOPE

Beschreibung Funktionsbaustein

Mit dem FB_ENVELOPE wird eine Hüllkurve aus dem Betrag von InValue plus uiOffset erstellt und bei jedem Aufrufzyklus des Bausteins wird überprüft, ob InValue diese Hüllkurve verletzt. Wenn InValue den Bereich von - udiTargetValue bis + udiTargetValue erreicht, beginnt die Zeit tTimeAfterInTarget zu laufen. Wenn InValue diesen Bereich wieder verlässt und die Zeit ist noch nicht abgelaufen, wird diese Zeit wieder zurückgesetzt. Die Zeit startet gegebenenfalls erneut, wenn InValue wieder in den Bereich gelangt. Verbleibt InValue innerhalb des Bereiches, wird der Ausgang bSafeFunctionOut nach Ablauf der Zeit tTimeAfterInTarget auf FALSE gesetzt. Spätestens nach Ablauf von tMaxTime wird der Ausgang bSafeFunctionOut auf FALSE gesetzt.

Dieser Baustein kann typischerweise für z. B. eine SS1 oder SS2 Sicherheitsfunktion eingesetzt werden.

Tipp

Die Verfügbarkeit dieses Bausteins ist abhängig von den FBSupportFlags der ESI-Beschreibungsdatei. Diese FBSupportFlags werden ab CODESYS Safety for EtherCAT Safety Module 4.3.0.0 ausgewertet. Die Verwendung dieses Bausteins wird verhindert, falls das betreffende Gerät diesen Baustein nicht ausdrücklich unterstützt.

EL6900_ENVELOPE.png
Tabelle 42. VAR_INPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

bSafeFunction

SAFEBOOL

FALSE

Bei einer fallenden Flanke wird eine Hüllkurve aus dem Betrag von InValue plus uiOffset erstellt. Es wird jeden Ausrufzyklus des Bausteins überprüft, ob InValue diese Hüllkurve verletzt.

InValue

SAFELINT

0

Analoger Wert, der auf eine Verzögerung bzw. Veränderung in Richtung 0 innerhalb einer Hüllkurve überwacht werden soll.

Erlaubte Datentypen: UINT, INT, UDINT, DINT

udiTargetValue

SAVEUDINT

0

Zielfenster von InValue symmetrisch um 0 (- udiTargetValue <= InValue <= udiTargetValue)

Nur konstanter Wert erlaubt (keine Variable)

uiOffset

SAFEUINT

0

Wert, der auf den Betrag von InValue addiert wird und der dann als positiver und negativer Wert den Startpunkt der Hüllkurve bildet.

Nur konstanter Wert erlaubt (keine Variable)

tTimeAfterInTarget

SAFETIME

TIME#0ms

Zeit, nach der der Ausgang bSafeFunctionOut auf FALSE gesetzt wird, wenn InValue sich innerhalb des Bereichs - udiTargetValue und + udiTargetValue befindet.

Die Zeit beginnt zu laufen, wenn InValue den Bereich zwischen -udiTargetValue und + udiTargetValue erreicht. Die Zeit wird zurückgesetzt, wenn InValue den Bereich verlässt und tTimeAfterInTarget noch nicht abgelaufen ist. Die Zeit wird erneut gestartet, wenn InValue den Bereich erneut erreicht.

Nur konstanter Wert erlaubt (keine Variable)

tMaxTime

SAFETIME

TIME#0ms

Maximale Zeit in ms, nach der der Ausgang bSafeFunctionOut auf FALSE gesetzt wird.

Nur konstanter Wert erlaubt (keine Variable)



Tabelle 43. VAR_OUTPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

bSafeFunctionOut

SAFEBOOL

FALSE

Ausgang mit der Sicherheitsfunktion (zeitverzögert und hüllkurvenüberwacht)

Wird auf FALSE gesetzt, wenn InValue innerhalb der Hüllkurve bleibt bis tTimeAfterInTarget abgelaufen ist oder bis tMaxTime abgelaufen ist.

bError

SAFEBOOL

FALSE

TRUE: InValue fehlerhaft (beispielsweise oberhalb oder unterhalb der Hüllkurve) oder tMaxTime abgelaufen

FALSE: Kein Fehler aufgetreten.