FB_Dimmer2Switch
Beschreibung
Der Funktionsbaustein FB_Dimmer2Switch entspricht im Funktionsumfang dem Funktionsbaustein FB_Dimmer1Switch(). Der Unterschied besteht darin, dass bei dem Funktionsbaustein FB_Dimmer2Switch zwei Schalter angeschlossen werden. Hierdurch kann der Bediener gezielt Auf- oder Abdimmen.
Bedienung über die Eingänge bSwitchDimmUp und bSwitchDimmDown
Durch ein kurzes Signal am Eingang bSwitchDimmUp bzw. bSwitchDimmDown, wird das Licht ein- oder ausgeschaltet. Liegt das Signal länger als tSwitchOverTime (empfohlener Richtwert: 200ms) an, so wird in den Dimmermodus umgeschaltet. Das Ausgangssignal fährt auf nOutMin bzw. nOutMax. Wird das Signal wieder weggenommen, so bleibt das aktuelle Ausgangssignal anstehen. Durch einen erneuten Impuls auf einen der Eingänge, wird der Ausgang auf 0 gesetzt.
Bedienung über die Eingänge bOn und bOff
Wird eine positive Flanken an den Eingängen bOn oder bOff angelegt, so wird das Licht direkt ein- oder ausgeschaltet. Z.B. für globale Ein-/Aus Funktionen. Beim Ausschalten wird der Ausgangswert auf 0 gesetzt. Das Verhalten beim Einschalten kann durch die Memoryfunktion beeinflußt werden (siehe unten).
Bedienung über die Eingänge bSetDimmValue und nDimmValue
Ändert sich der Wert nDimmValue, so wird das Signal direkt zum Ausgang durchgegeben. Wichtig ist hierbei das sich der Wert ändert. Durch eine Änderung auf den Wert 0, wird die Beleuchtung ausgeschaltet. Durch eine positive Flanke an den Eingang bSetDimmValue wird der Wert nDimmValue direkt an den Ausgang ausgegeben. Das dirkete Ändern des Ausgangs kann durch ein statisches 1-Signal am Eingang bSetDimmValue unterdrückt werden. Hierdurch kann ein Wert am Eingang nDimmValue angelegt werden, der erst bei der nächsten positiven Flanke von bSetDimmValue an den Ausgang übergeben wird.
Mit Hilfe der Eingänge bSetDimmValue und nDimmValue können z.B. verschiedene Beleuchtungszenarien realisiert werden. Das direkte Setzen des Ausgangs, mit Hilfe von nDimmValue, kann dazu benutzt werden bestimmte Helligkeiten anzufahren. Entweder direkt oder durch kontinuierliches Verändern des Wertes. nDimmValue muss einen Wert zwischen nOutMin und nOutMax haben. Ausnahme ist der Wert 0. Liegt der Wert außerhalb des Bereichs, so wird der Ausgangswert auf die obere, bzw. untere Grenze begrenzt.
Memoryfunktion
Beim Einschalten muss unterschieden werden, ob die Memoryfunktion (Eingang bMemoryModeOn) aktiv ist oder nicht. Ist die Memoryfunktion aktiv, so wird beim Einschalten der zuletzt eingestellte Wert an den Ausgang angelegt. Ist die Memoryfunktion nicht aktiv, so wird an den Ausgang der Wert angelegt, der über den Parameter nOnValueWithoutMemoryMode vorgegeben wird. Hierbei ist es gleichgültig, ob das Licht über den Eingang bOn oder über den Eingang bSwitchDimmUp bzw. bSwitchDimmDown geschaltet wird. Zu beachten ist, dass der Parameter nOnValueWithoutMemoryMode zwischen nOutMin und nOutMax liegen muß. Ist dieses nicht der Fall, so wird der Ausgangswert auf die untere bzw. obere Grenze angepaßt.
Schnelles Auf-/Abdimmen beim Ein-/Ausschalten
Besonderen Beleuchtungskomfort erreicht man dadurch, dass das Licht nicht plötzlich geschaltet, sondern langsam auf den gewünschten Wert gefahren wird. Durch die beiden Eingänge bDimmOnMode und bDimmOffMode kann sowohl für das Einschalten, als auch für das Ausschalten der Modus aktiviert werden. Mit den Parametern tDimmOnTime und tDimmOffTime wird die Zeitdauer festgelegt, in der das Licht geschaltet wird. Der Wert bezieht sich immer auf den minimal- und den maximal möglichen Ausgangswert (nOutMin und nOutMax). Als mögliche Ein-/Ausschaltbefehle können die Eingänge bOn und bOff dienen, oder ein kurzer Impuls am Eingang bSwitchDimmUp bzw. bSwitchDimmDown. Wird der Eingang nDimmValue auf 0 gesetzt, so wird der Ausgang unverzögert gesetzt. Gleiches gilt auch, wenn durch eine positive Flanke an dem Eingang bSetDimmValue der Ausgang gesetzt wird.
Anmerkungen zu den Parametern tSwitchOverTime und tDimmTime Wird für den Parameter tSwitchOverTime eine Dauer von 0 vorgegeben und für tDimmTime ein Wert größer 0, so kann mit dem Eingang bSwitchDimmUp bzw. bSwitchDimmDown das Licht nur gedimmt werden. Ein Ein-/Ausschalten ist nur mit den Eingängen bOn und bOff möglich. Beträgt der Parameter tDimmTime 0, so kann mit dem Eingang bSwitchDimmUp bzw. bSwitchDimmDown das Licht nur ein-/ausgeschaltet werden. Der Wert von tSwitchOverTime ist hierbei ohne Bedeutung. |
VAR_INPUT
bSwitchDimmUp : BOOL;
bSwitchDimmDown : BOOL;
bOn : BOOL;
bOff : BOOL;
bSetDimmValue : BOOL;
nDimmValue : UINT;
tSwitchOverTime : TIME := t#500ms;
tDimmTime : TIME := t#5s;
bMemoryModeOn : BOOL := FALSE;
nOnValueWithoutMemoryMode : UINT := 20000;
bDimmOnMode : BOOL := FALSE;
tDimmOnTime : TIME := t#0s;
bDimmOffMode : BOOL := FALSE;
tDimmOffTime : TIME := t#0s;
nOutMin : UINT := 5000;
nOutMax : UINT := 32767;
bSwitchDimmUp: Schaltet oder dimmt den Ausgang Auf.
bSwitchDimmDown: Schaltet oder dimmt den Ausgang Ab.
bOn: Schaltet den Ausgang auf den letzten Ausgangswert oder auf den Wert nOnValueWithoutMemoryMode.
bOff: Schaltet den Ausgang auf 0.
bSetDimmValue: Schaltet den Ausgang auf den Wert nDimmValue.
nDimmValue: Bei einer Änderung wird der Wert direkt an den Ausgang gelegt.
tSwitchOverTime: Umschaltzeit zwischen Licht ein/aus und Licht dimmen für den Eingang bSwitchDimmUp und bSwitchDimmDown.
tDimmTime: Zeitdauer für das Dimmen vom minimalen Wert bis zum maximalen Wert.
bMemoryModeOn: Schaltet auf Memoryfunktion um, so das beim Einschalten der vorherige Wert an den Ausgang geschrieben wird.
nOnValueWithoutMemoryMode: Einschaltwert, wenn die Memoryfunktion nicht eingeschaltet ist.
bDimmOnMode: Beim Einschalten wird schrittweise der Ausgangswert erhöht.
tDimmOnTime: Zeitdauer, in der das Licht beim Einschalten hochgefahren wird. bDimmOnMode muss aktiv sein.
bDimmOffMode: Beim Ausschalten wird schrittweise der Ausgangswert reduziert
tDimmOffTime: Zeitdauer, in der das Licht beim Ausschalten runtergefahren wird. bDimmOffMode muss aktiv sein.
nOutMin: minimaler Ausgabewert.
nOutMax: maximaler Ausgabewert. Ist der Parameter nOutMin nicht kleiner als nOutMax, so bleibt der Ausgang auf 0.
VAR_OUTPUT
nOut : UINT;
bLight : BOOL;
nOut: analoger Ausgabewert.
bLight: digitaler Ausgabewert. Wird gesetzt, wenn nOut größer als 0 ist.