FB_ThresholdSwitch
Überschreitet das Eingangssignal den Grenzwert fUpperLimit für die Zeitdauer tUpperLimitDelay, so wird der Ausgang bCrossUpperLimit für ein SPS-Zyklus gesetzt. Der Ausgang bSwitchingSignal wird ebenfalls gesetzt. Dieser bleibt solange gesetzt bis das Eingangssignal den Grenzwert fLowerLimit für die Zeitdauer tLowerLimitDelay unterschreitet. Der Ausgang fCrossLowerLimit wird hierbei für ein SPS-Zyklus gesetzt.
VAR_INPUT
fSignal : LREAL;
fLowerLimit : LREAL := 16000;
fUpperLimit : LREAL := 17000;
tLowerLimitDelay : TIME := t#100ms;
tUpperLimitDelay : TIME := t#100ms;
fSignal: Eingangssignal.
fLowerLimit: Unterer Grenzwert.
fUpperLimit: Oberer Grenzwert.
tLowerLimitDelay: Schaltverzögerung beim Unterschreiten des unteren Grenzwertes.
tUpperLimitDelay: Schaltverzögerung beim Überschreiten des oberen Grenzwertes.
VAR_OUTPUT
bSwitchingSignal : BOOL;
bCrossLowerLimit : BOOL;
bCrossUpperLimit : BOOL;
bSwitchingSignal: Zustand ist abhängig von bCrossLowerLimit und bCrossUpperLimit.
bCrossLowerLimit: Wird für 1 Zyklus TRUE, wenn fLowerLimit für die Zeit tLowerLimitDelay unterschritten wurde. Gleichzeitig wird bSwitchingSignal FALSE.
bCrossUpperLimit: Wird für 1 Zyklus TRUE, wenn fUpperLimit für die Zeit tUpperLimitDelay überschritten wurde. Gleichzeitig wird bSwitchingSignal TRUE.
Beispiel
Bei dem folgenden Beispiel können die beiden Lampen mit je einem Schalter bedient werden. Mit Hilfe der Außenhelligkeit und des Schwellwertschalters werden die beiden Lampen automatisch geschaltet. Ist die Außenhelligkeit für 15min kleiner als 1000lux, so werden die Lampen eingeschaltet. Sobald die Helligkeit länger als 15min größer 2000lux ist, werden die Lampen ausgeschaltet.