FB_DALIV2ConstantLightControlEco

FB_DALIV2ConstantLightControlEco 1:

Der Baustein FB_DALIV2ConstantLightControlEco() dient zur Konstantlichtregelung mit DALI-Vorschaltgeräten.

Durch zyklisches Auf- und Abdimmen wird versucht, auf einen vorgegebenen Sollwert zu regeln. Die Dynamik der Regelung wird durch eine Totzeit (tDeadTime) bestimmt. Die Totzeit legt die Wartezeit zwischen den einzelnen Befehlen zur Veränderung der Stellgröße fest. Je kleiner die Totzeit, desto schneller wird nachgeregelt. Eine frei definierbare Hysterese (nHysteresis) verhindert ein ständiges Schwingen um den Sollwert. Liegt der Istwert im Bereich der Hysterese um den Sollwert, so wird die Helligkeit der Lampen nicht verändert. Per Option kann festgelegt werden, ob die Lampen automatisch ein- und ausgeschaltet werden sollen (siehe Tabelle unten).

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

bEnable                    : BOOL := TRUE;
bOn                        : BOOL;
bOff                       : BOOL;
bToggle                    : BOOL;
nSetpointValue             : UINT := 500;
nActualValue               : UINT;
nHysteresis                : UINT := 50;
tDeadTime                  : TIME := t#10s;
nAddr                      : BYTE := 0;
eAddrType                  : E_DALIV2AddrType := eDALIV2AddrTypeShort;
nMasterDevAddr             : BYTE := 0;
tCycleActualLevelMasterDev : TIME := t#0s;
nOptions                   : DWORD := 0;

bEnable: Schaltet den Baustein frei. Ist dieser Eingang auf FALSE, so sind die Eingänge bOn, bOff und bToogle gesperrt. Außerdem werden keine Stellgrößen ausgegeben.

bOn: Schaltet die angesprochenen Geräte auf MAX_LEVEL und aktiviert die Konstantlichtregelung.

bOff: Schaltet die angesprochenen Geräte aus und deaktiviert die Konstantlichtregelung.

bToggle: Je nach Zustand des Referenzgerätes wird die Beleuchtung ein- oder ausgeschaltet.

nSetpointValue: An diesem Eingang wird der Sollwert vorgegeben.

nActualValue: An diesem Eingang wird der Istwert angelegt.

nHysteresis: Regelhysterese um den Sollwert. Liegt der Istwert innerhalb dieses Bereiches, so werden die Stellgrößen der Lampen nicht verändert.

tDeadTime: Totzeit zwischen den einzelnen Befehlen, mit denen die Stellgröße der DALI-Lampen verändert wird.

nAddr: Adresse eines Teilnehmers oder einer Gruppe.

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

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

tCycleActualLevelMasterDev: Zykluszeit, mit der im Hintergrund der aktuelle Istwert der Referenzlampe ausgelesen wird (siehe ACTUAL DIM LEVEL). Damit das Regeln 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. Der ausgelesene Wert wird an dem Ausgang nActualLevelMasterDev ausgegeben.

nOptions: Optionen (siehe Tabelle). Die einzelnen Konstanten müssen miteinander ODER-verknüpft werden.

Konstante

Beschreibung

DALIV2_OPTION_SWITCH_ON_AND_OFF

Es werden zum Verändern der Stellgröße die DALI-Befehle ON_AND_STEP_UP und STEP_DOWN_AND_OFF verwendet. Hierdurch werden die Lampen, nach dem Erreichen vom MIN_LEVEL ausgeschaltet.. Liegt die Regelabweichung oberhalb der Hysterese, werden die Lampen wieder eingeschaltet. Ist diese Option nicht gesetzt, so werden die Befehle STEP_UP und STEP_DOWN eingesetzt. Die Lampen bleiben dadurch immer eingeschaltet.

DALIV2_OPTION_SWITCH_ON_WITH_MIN_LEVEL

Wird durch die Konstandlichtregelung das Licht wieder eingeschaltet, so wird durch diese Option immer der Befehl MIN_LEVEL verwendet. Ist die Option nicht gesetzt wird MAX_LEVEL aufgerufen. Diese Option steht ab v3.3.2.0 der Tc2_DALI SPS-Bibliothek zur Verfügung.

VAR_OUTPUT

nActualLevelMasterDev : BYTE;
nDeviation            : INT;
bControllerIsActive   : BOOL;
bBusy                 : BOOL;
bError                : BOOL;
nErrorId              : UDINT;

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

nDeviation: Aktuelle Regelabweichung (Sollwert - Istwert).

bControllerIsActive: Dieser Ausgang wird gesetzt, sobald die Regelung aktiviert wurde.

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