Skip to main content

FB_SLI

Beschreibung Funktionsbaustein

Mit dem FB_SLI wird der Eingang Position mit steigender Flanke am Eingang bSLI gespeichert (Latchposition). Solange bSLI auf TRUE gesetzt ist, wird überprüft, dass sich die Position innerhalb der Grenzen Latchposition - udiLimitNeg und LatchPosition + udiLimitPos befindet. Ist dies der Fall, wird der Ausgang bSLIActive auf TRUE gesetzt. Verlässt die Position den definierten Bereich wird bSLIActive auf FALSE gesetzt. Der Ausgang PositionDiff gibt die aktuelle Differenz zwischen Position und Latchposition aus. Mit der fallenden Flanke an bSLIActive wird auch der Ausgang PositionDiff auf 0 gesetzt.

Die Eingänge udiLimitNeg und udiLimitPos sind UDINT Werte und werden somit immer positiv angegeben.

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_SLI.png
Tabelle 52. VAR_INPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

bSLI

SAFEBOOL

FALSE

Bei einer steigenden Flanke wird der aktuelle Wert des Eingangs Position gespeichert (Latchposition) und die Abweichung zu den Grenzwerten berechnet.

Position

SAFELINT

0

Aktueller Positionswert

Wird mit der steigenden Flanke an bSLI gespeichert und solange bSLI gesetzt bleibt mit der gespeicherten Position verglichen und die Differenz an PositionDiff ausgegeben.

Erlaubte Datentypen: UINT, INT, UDINT, DINT

udiLimitPos

SAFEUDINT

0

Zulässige Abweichung der gespeicherten Position (Latchposition) in positiver Richtung

Der Baustein FB_SLI wird von der EL6900 nicht unterstützt.

Nur konstanter Wert erlaubt (keine Variable)

udiLimitNeg

SAFEUDINT

0

Zulässige Abweichung der gespeicherten Position (Latchposition) in negativer Richtung

Muss 0 sein, wenn der Datentyp von PositionDiff UINT oder UDINT ist.

Nur konstanter Wert erlaubt (keine Variable)



Tabelle 53. VAR_OUTPUT

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

bSLIActive

SAFEBOOL

FALSE

Ist TRUE, wenn bSLI gesetzt ist und PositionDiff innerhalb der definierten Limits ist.

PositionDiff

SAFEINT

0

Differenzposition zwischen gespeicherter (Latchposition) und aktueller Position. Wenn bSLIActive = FALSE ist, wird PositionDiff auf 0 gesetzt.

Erlaubte Datentypen: UINT, INT, UDINT, DINT.

bError

SAFEBOOL

FALSE

TRUE: PositionDiff ist kleiner als udiLimitNeg oder gößer als diLimitPos.

FALSE: Kein Fehler aufgetreten.