FB_DALIV2Dimmer2SwitchEco

FB_DALIV2Dimmer2SwitchEco 1:

Der Baustein FB_DALIDimmer2SwitchEco() stellt die speicherplatzsparende Variante des FB_DALIV2Dimmer2Switch() dar. Er ist ohne die Sonderfunktion „Memoryfunktion ausschalten“ ausgestattet.

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. Die angesteuerten Geräte werden nun gedimmt. 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 Flanke an den Eingängen bOn oder bOff angelegt, so wird das Licht direkt ein- oder ausgeschaltet. Beim Ausschalten wird der Ausgangswert auf 0 gesetzt.

Memoryfunktion

Im Gegensatz zum FB_DALIV2Dimmer2Switch(), bei der die Memoryfunktion über den Eingang bMemoryModeOn aktiviert oder ausgeschaltet werden kann, ist bei dieser speicherplatzsparenden Version die Memoryfunktion immer aktiv. Das bedeutet, dass beim Einschalten der zuletzt eingestellte Wert als Helligkeitswert übernommen wird. Hierbei ist es gleichgültig, ob das Licht über den Eingang bOn oder über den Eingang bSwitchDimm geschaltet wird.

Anmerkung zum Parameter tSwitchOverTime

Wird für den Parameter tSwitchOverTime eine Dauer von 0 vorgegeben, so kann mit dem Eingang bSwitchDimm das Licht nur gedimmt werden. Ein Ein-/Ausschalten ist nur mit den Eingängen bOn und bOff möglich.

Anmerkung zum Parameter nMasterDevAddr

Das DALI-System bietet die Möglichkeit, Lampen nicht nur einzeln zu steuern, sondern diese auch gruppenweise oder mit Sammelbefehlen anzusprechen. Da die einzelnen Geräte Teilnehmer von verschiedenen Gruppen sein können, kann es sein, dass die einzelnen Lampen vor einer Gruppen- bzw. Sammelansteuerung verschiedene Helligkeitszustände haben. Um dennoch eine Aussage darüber treffen zu können, ob die Lampen nun ein- oder ausgeschaltet werden sollen, wird jeder Gruppe ein Führungsgerät (Master-Device) zugeordnet, nach dessen Zustand sich die restlichen Geräte richten. Soll mit dem Baustein eine einzelne Lampe angesteuert werden, eAddrType = eAddrTypeShort, so braucht kein Master-Device angegeben werden. Der Parameter nMasterDevAddr ist in diesem Fall ohne Bedeutung.

VAR_INPUT

bSwitchDimmUp              : BOOL;
bSwitchDimmDown            : BOOL;
bOn                        : BOOL;
bOff                       : BOOL;
bSetDimmValue              : BOOL;
nDimmValue                 : BYTE;
tSwitchOverTime            : TIME := t#400ms;
nAddr                      : BYTE := 0;
eAddrType                  : E_DALIV2AddrType := eDALIV2AddrTypeShort;
nMasterDevAddr             : BYTE := 0;
tCycleActualLevelMasterDev : TIME := t#0s;

bSwitchDimmUp: Schaltet oder dimmt die angesprochenen Geräte auf.

bSwitchDimmDown: Schaltet oder dimmt die angesprochenen Geräte ab.

bOn: Schaltet die angesprochenen Geräte auf den letzten Ausgangswert.

bOff: Schaltet die angesprochenen Geräte aus (Wert 0).

bSetDimmValue: Eine positive Flanke an diesem Eingang setzt die angesprochenen Geräte 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.

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.

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.

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

stCommandBuffer : ST_DALIV2CommandBuffer;

stCommandBuffer: Verweis auf die interne Struktur 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