FB_BAFLampDALI

FB_BAFLampDALI 1:

Funktionsblock um eine DALI Lampe direkt aus dem SPS Programm zu Steuern.

VAR_INPUT

uiId                             : UINT;
bStartExecution                  : BOOL;
bStopExecution                   : BOOL;
bOn                              : BOOL;
bOff                             : BOOL;
bCallMinControlValue             : BOOL;
bCallMaxControlValue             : BOOL;
bSetControlValueDirect           : BOOL;
lrSetControlValueDirect          : LREAL;
bFadeUp                          : BOOL;
bFadeDown                        : BOOL;
bChangeMaximumControlValue       : BOOL;
lrChangeMaximumControlValue      : LREAL
bChangeMinimumControlValue       : BOOL;
lrChangeMinimumControlValue      : LREAL;
bSetOperatingHourCounterDirect   : BOOL;
udiSetOperatingHourCounterDirect : UDINT;

uiId: Objekt-Id der Instanz (siehe auch).

bStartExecution: Startet die Instanz der Lampe.

bStopExecution: Stoppt die Instanz der Lampe.

bOn: Wenn iResettingMode = 1: Die Lampe wird auf den Wert gesetzt der zuvor in lrResettingValue hinterlegt wurde. Anschließend wird dieser Wert intern an den DALI Bereich (0..254) angepasst und mit dem DALI Befehl DIRECT ARC POWER an die Lampe gesendet.
Wenn iResettingMode = 0: Der DALI Befehl RECALL MAX LEVEL wird gesendet.

bOff: Wenn iResettingMode = 1: Die Lampe wird durch den DALI Befehl OFF ausgeschaltet. Zuvor wird die Stellgröße in lrResettingValue hinterlegt.
Wenn iResettingMode = 0: Die Lampe wird ausgeschaltet ohne die letzte Stellgröße zu speichern.

bCallMinControlValue: Der DALI Befehl RECALL MIN LEVEL wird gesendet.

bCallMaxControlValue: Der DALI Befehl RECALL MAX LEVEL wird gesendet.

bSetControlValueDirect: Die Stellgröße der Lampe wird auf lrSetControlValueDirect gesetzt.

lrSetControlValueDirect: Wenn bSetControlValueDirect gesetzt ist, dann wird der Wert (0% - 100%) intern an den DALI Bereich (0 - 254) angepasst und mit dem DALI Befehl DIRECT ARC POWER an die Lampe gesendet.

bFadeUp: Der DALI Befehl UP wird gesendet.

bFadeDown: Der DALI Befehl DOWN wird gesendet.

bChangeMaximumControlValue: Die maximale Stellgröße der Lampe wird auf lrChangeMaximumControlValue gesetzt.

lrChangeMaximumControlValue: Bereich (0% - 100%) auf den die maximale Stellgröße der Lampe gesetzt wird, abhängig von bChangeMaximumControlValue.

bChangeMinimumControlValue: Die minimale Stellgröße der Lampe wird auf lrChangeMinimumControlValue gesetzt.

lrChangeMaxMinControlValue: Bereich (0% - 100%) auf den die minimale Stellgröße der Lampe gesetzt wird, abhängig von bChangeMinimumControlValue.

bSetOperatingHourCounterDirect: Der Betriebsstundenzähler der Lampe wird auf udiSetOperatingHourCounterDirect gesetzt.

udiSetOperatingHourCounterDirect: Der Wert, auf dem der Betriebsstundenzähler der Lampe durch den Eingang bSetOperatingHourCounterDirect gesetzt wird. Einheit ist Sekunden.

VAR_OUTPUT

uiErrorId                : UINT;
iErrorParameter          : INT;
eExecutionState          : E_BAF_ExecutionState;
lrControlValue           : LREAL;
lrResettingValue         : LREAL;
bReachedMinControlValue  : BOOL;
bReachedMaxControlValue  : BOOL;
udiOperatingHourCounter  : UDINT;

uiErrorId: Beinhaltet den Fehlercode des zuletzt ausgeführten Befehls (siehe Fehlercodes).

iErrorParameter: Beinhaltet die spezifischen Parameter des Fehlercodes (siehe Fehlercodes).

eExecutionState: Beinhaltet den aktuellen Ausführungszustand der Instanz der Lampe.

lrControlValue: Stellgröße (0% - 100%) der Lampe.

iResettingValue: Wiedereinschaltwert (0% - 100%) der Lampe.

bReachedMinControlValue: Die Stellgröße der Lampe lrControlValue ist gleich dem Parameter lrMinControlValue.

bReachedMaxControlValue: Die Stellgröße der Lampe lrControlValue ist gleich dem Parameter lrMaxControlValue.

udiOperatingHourCounter: Betriebsstundenzähler der Lampe. Einheit ist Sekunden.