FB_DALIV2StairwellDimmer

FB_DALIV2StairwellDimmer 1:

Der Funktionsbaustein FB_DALIV2StairwellDimmer dient zur Steuerung von Treppenhausbeleuchtungen.

Durch eine steigende Flanke am Eingang bSwitch wird das Licht auf den Wert nPresenceValue geschaltet. Durch eine fallende Flanke an bSwitch wird ein Timer mit der Laufzeit von tPresenceDuration gestartet. Nach Ablauf dieses Timers werden die angesteuerten Lampen innerhalb der Zeit tFadeTime auf den Wert nProlongValue gedimmt. Dieser Wert wird über den Zeitraum tProlongDuration beibehalten. Danach wird das Licht ausgeschaltet. Eine positive Flanke am Eingang bOff schaltet das Licht sofort aus, eine erneute steigende Flanke am Eingang bSwitch schaltet das Licht jederzeit - auch während der Dimm- und Wartezeiten - wieder ein.
Bei jedem Einschalten des Lichtes findet eine Überprüfung statt, ob die Werte nPresenceValue und nProlongValue innerhalb der zulässigen Grenzen (MIN LEVEL ... MAX LEVEL) des Master-Gerätes liegen. Der Wert "0" ist ebenfalls erlaubt. Darüber hinaus ist es möglich, daß nPresenceValue kleiner als nProlongValue ist oder beide Werte identisch sind.

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. Dadurch, dass die einzelnen Geräte Teilnehmer von verschiedenen Gruppen sein können, kann die Situation entstehen, dass vor einer Gruppen- bzw. Sammelansteuerung die einzelnen Lampen verschiedene Helligkeitszustände innehaben. Um dennoch eine Aussage darüber treffen zu können, ob die Lampen nun ein- oder ausgeschaltet werden sollen, werden 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.

FB_DALIV2StairwellDimmer 2:

FB_DALIV2StairwellDimmer 3: Eingänge

VAR_INPUT
  bEnable                    : BOOL := TRUE;
  bSwitch                    : BOOL;
  bOff                       : BOOL;
  nPresenceValue             : BYTE;
  nProlongValue              : BYTE;
  tPresenceDuration          : TIME := t#30s;
  tFadeOffDuration           : TIME := t#10s;
  tProlongDuration           : TIME := t#20s;
  nOptions                   : DWORD := 0;
  nAddr                      : BYTE := 0;
  eAddrType                  : E_DALIV2AddrType := eDALIV2AddrType  Short;
  nMasterDevAddr             : BYTE;
  tCycleActualLevelMasterDev : TIME := t#0s;
END_VAR

Name

Typ

Beschreibung

bEnable

BOOL

Solange dieser Eingang auf TRUE steht, sind die Eingänge bOn und bOff aktiv. Ein negativer Zustand deaktiviert die Eingänge und setzt den Baustein nach Abarbeitung der letzten notwendigen DALI-Befehle zurück. Es werden dann keine DALI-Befehle außer die zyklische Abfrage der Helligkeit des Mastergerätes mehr ausgegeben.

bSwitch

BOOL

Bei steigender Flanke: Die angesteuerten Lampen werden direkt auf nPresenceValue geschaltet. Bei fallender Flanke: Starten der Präsenzzeit (siehe Grafik).

bOff

BOOL

Schaltet die angesteuerten Lampen unmittelbar aus.

nPresenceValue

BYTE

Wert, auf den die angesteuerten Lampen während der Präsenzzeit geschaltet werden sollen. (Gültiger Wertebereich:0oder MIN LEVEL ... MAX LEVEL -voreingestellter Wert: 254).

nProlongValue

BYTE

Wert, auf den die angesteuerten Lampen während der Verweilzeit geschaltet werden sollen. (Gültiger Wertebereich:0oder MIN LEVEL ... MAX LEVEL -voreingestellter Wert: 200).

tPesenceDuration

TIME

Dauer der Präsenzzeit, bei der die angesteuerten Lampen nach einer fallenden Flanke an bSwitch auf nPresenceValue geschaltet werden. (Voreingestellter Wert: 30 Sekunden).

tFadeOffDuration

TIME

Zeitdauer, in der der Helligkeitswert von nPresenceValue auf nProlongValue gesteuert wird. (Voreingestellter Wert: 10 Sekunden).

tProlongDuration

TIME

Dauer der Verweilzeit. (Voreingestellter Wert: 20 Sekunden)

nOptions

DWORD

Reserviert für zukünftige Entwicklungen.

nAddr

BYTE

Adresse des Einzelgerätes bei Einzelansteuerung oder der Gruppe bei Gruppenansteuerung

eAddrType

E_DALIV2AddrType

Kurzadresse, Gruppenadresse oder Sammelruf (Broadcast)

nMasterDevAddr

BYTE

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

tCycleActualLevelMasterDev

TIME

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.

FB_DALIV2StairwellDimmer 4: Ein-/Ausgänge

VAR_IN_OUT
  stCommandBuffer : ST_DALIV2CommandBuffer;
END_VAR

Name

Typ

Beschreibung

stCommandBuffer

ST_DALIV2CommandBuffer

Verweis auf die interne Struktur zur Kommunikation mit FB_KL6811Communication (KL6811) oder FB_KL6821Communication (KL6821).

FB_DALIV2StairwellDimmer 5: Ausgänge

VAR_OUTPUT
  nActualLevelMasterDev : BYTE;
  bBusy                 : BOOL;
  bCycleActive          : BOOL;
  bError                : BOOL;
  nErrorId              : UDINT;
END_VAR

Name

Typ

Beschreibung

nActualLevelMasterDev

BYTE

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

bBusy

BOOL

Dieser Ausgang ist immer dann gesetzt, wenn eine Lichtänderung aktiv ist, also Ein, Aus und Rampenfahrt. Dabei spielen Start- und Zielwert keine Rolle. Auch bei einer Rampenfahrt von bspw. 100 nach 100 in 10s würde dieser Ausgang gesetzt sein.

bCycleActive

BOOL

Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv bis der Zyklus abgearbeitet bzw. die Lampen ausgeschaltet wurden.

bError

BOOL

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

UDINT

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).

Voraussetzungen

Entwicklungsumgebung

Einzubindende SPS-Bibliothek

TwinCAT ab v3.1.4020.14

Tc2_DALI ab v3.4.3.0