FB_DALIV2Dimmer1SwitchMultiple

FB_DALIV2Dimmer1SwitchMultiple 1:

Funktionsbaustein zum Schalten und Dimmen von DALI-Geräten mit einem Taster. Für Anwendungen bei denen bis zu fünf DALI-Linien (0..4) installiert sein können. Die Grundfunktion dieses Funktionsbausteines ist aus der Beschreibung des FB_DALIV2Dimmer1Switch() zu entnehmen.

VAR_INPUT

bSwitchDimm                  : BOOL;
bOn                          : BOOL;
bOff                         : BOOL;
bSetDimmValue                : BOOL;
nDimmValue                   : BYTE;
tSwitchOverTime              : TIME := t#400ms;
tCycleDelay                  : TIME := t#500ms;
bMemoryModeOn                : BOOL := FALSE;
nOnValueWithoutMemoryMode    : BYTE := 254;
nAddr                        : BYTE := 0;
eAddrType                    : E_DALIV2AddrType := eDALIV2AddrTypeShort;
nMasterDevAddr               : BYTE := 0;
nMasterDevLine               : BYTE := 0;
nMinLevelMasterDev           : BYTE := 126;
nMaxLevelMasterDev           : BYTE := 254;
tCycleActualLevelMasterDev   : TIME := t#0s;
nDALILineEnable              : BYTE := 2#0000_0001;

bSwitchDimm: Schaltet oder dimmt die angesprochenen Geräte aller aktivierten DALI-Linien.

bOn: Schaltet die angesprochenen Geräte aller aktivierten DALI-Linien auf den letzten Ausgangswert oder auf den Wert nOnValueWithoutMemoryMode.

bOff: Schaltet die angesprochenen Geräte aller aktivierten DALI-Linien aus (Wert 0).

bSetDimmValue: Eine positive Flanke an diesem Eingang setzt die angesprochenen Geräte aller aktivierten DALI-Linien direkt auf den Helligkeitswert, der am Eingang nDimmValue ansteht. Ändert sich der Wert nDimmValue, so wird der Helligkeitswert direkt auf den geänderten Wert eingestellt, wenn der Eingang bSetDimmValue auf FALSE steht.

nDimmValue: siehe bSetDimmValue.

tSwitchOverTime: Umschaltzeit zwischen Licht ein/aus und Licht dimmen für den Eingang bSwitchDimm.

tCycleDelay: Wartezeit, wenn der Min- bzw. Max-Wert erreicht ist.

bMemoryModeOn: Schaltet auf Memoryfunktion um, sodass beim Einschalten der vorherige Wert an den Ausgang geschrieben wird.

nOnValueWithoutMemoryMode: Einschaltwert, wenn die Memoryfunktion nicht eingeschaltet ist.

nAddr: Adresse eines Teilnehmers oder einer Gruppe.

eAddrType : Kurzadresse, Gruppenadresse oder Sammelruf (Broadcast) (siehe E_DALIV2AddrType).

nMasterDevAddr: Adresse des Master-Gerätes bei Gruppen- und Sammelschaltungen (0 - 63).

nMasterDevLine: Linie, in der sich das Master-Gerät für Gruppen- und Sammelkonfiguration befindet. Je Funktionsbaustein gibt es nur ein Master-Gerät, das aus einer der aktivierten DALI-Linien zu wählen ist. Es gibt die Linien 0 bis 4.

nMinLevelMasterDev: Minimalwert des Master-Gerätes.

nMaxLevelMasterDev: Maximalwert des Master-Gerätes.

tCycleActualLevelMasterDev: Zykluszeit, mit der im Hintergrund der aktuelle Istwert ausgelesen wird (siehe ACTUAL DIM LEVEL). Damit das Dimmen der Lampen nicht gestört wird, wird das Auslesen immer in der niedrigsten Priorität durchgeführt. Wird der Wert auf 0 gesetzt, so wird das Auslesen gesperrt.

nDALILineEnable: Eingangsvariable in Form eines Bitmuster. Eine 1 im Bitmuster sagt aus, dass die DALI-Linie aktiviert ist. Beispiel: 2#01001 bedeutet, dass die DALI-Linien 0 und 3 aktiviert sind.

VAR_OUTPUT

nActualLevelMasterDev : BYTE;
bBusy                 : BOOL;
bError                : BOOL;
nErrorId              : UDINT;

nActualLevelMasterDev: Aktueller Ausgabewert des Master-Gerätes (bei eAddrType = eAddrTypeShort immer des jeweilig angesprochenen Gerätes).

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in nErrorId enthalten. Wird durch das Ausführen eines Befehls an den Eingängen auf FALSE zurückgesetzt.

nErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt. (Siehe Fehlercodes)

VAR_IN_OUT

stCommandBuffer00 : ST_DALIV2CommandBuffer;
stCommandBuffer01 : ST_DALIV2CommandBuffer;
stCommandBuffer02 : ST_DALIV2CommandBuffer;
stCommandBuffer03 : ST_DALIV2CommandBuffer;
stCommandBuffer04 : ST_DALIV2CommandBuffer;

stCommandBuffer00 - stCommandBuffer04 : Verweise auf die internen Strukturen zur Kommunikation mit den Bausteinen FB_KL6811Communication() (KL6811) oder FB_KL6821Communication() (KL6821).

Voraussetzungen

Entwicklungsumgebung

erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4020.14

Tc2_DALI ab v3.4.3.0