FB_DALIV2Light

FB_DALIV2Light 1:

Der Baustein FB_DALIV2Light() ist ein einfacher Baustein zum Ein- und Ausschalten von DALI-Lampen.

Bedienung

Durch eine positive Flanke an den Eingang bOn wird das Licht auf den Maximalwert (MAX LEVEL) des Vorschaltgerätes gesetzt. Nach fehlerfreier Ausführung des Funktionsbausteines erhält der Ausgang bLight den Zustand TRUE. Durch eine positive Flanke an dem Eingang bOff wird das Licht ausgeschaltet und der Ausgang bLight wird auf FALSE gesetzt. Wird an bToggle eine positive Flanke angelegt, so liest sich der Funktionsbaustein zunächst den aktuellen Lichtwert des Master-Gerätes aus und beurteilt dann, ob sich das Licht im Ein- oder Auszustand befindet. Je nach getroffener Aussage wird das Licht dann in den jeweiligen anderen Zustand versetzt, also von An nach Aus bzw. von Aus nach An umgeschaltet.

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

bOn                        : BOOL;
bOff                       : BOOL;
bToggle                    : BOOL;
nAddr                      : BYTE := 0;
eAddrType                  : E_DALIV2AddrType := eDALIV2AddrTypeShort;
nMasterDevAddr             : BYTE := 0;
tCycleActualLevelMasterDev : TIME := t#0s;

bOn: Schaltet die angesprochenen Geräte ein (auf den Wert MAX LEVEL).

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

bToggle: Negiert den Zustand der angesprochenen Geräte.

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

bLight   : BOOL;
bBusy    : BOOL;
bError   : BOOL;
nErrorId : UDINT;

bLight: Zustand der Lampe oder Gruppe nach dem Aufrufen des Bausteins.

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