FB_DALI102Dimmer1Switch

Der Baustein FB_DALI102Dimmer1Switch stellt die wichtigsten Funktionen für die Realisierung eines Tast-Dimmers zur Verfügung.
Bedienung
Der Eingang bSwitch ist für die Verknüpfung mit einem Taster vorgesehen. Durch kurzes Betätigen werden die DALI-Vorschaltgeräte ein- bzw. ausgeschaltet. Ein langes Drücken lässt den Ausgangswert der DALI-Vorschaltgeräte zyklisch zwischen den minimalen und den maximalen Wert dimmen (siehe weiter unten).
Durch positive Flanken an den Eingängen bRecallMinLevel, bRecallMaxLevel, bOn, bOff, bToogle, bGoToScene und bSetLevel kann der Ausgangswert der DALI-Vorschaltgeräte geändert werden (siehe weiter unten).
Der Baustein bietet die Möglichkeit, ein einzelnes DALI-Vorschaltgerät per Kurzadresse, mehrere DALI-Vorschaltgeräte per Gruppenadresse oder alle DALI-Vorschaltgeräte einer DALI-Linie per Sammelruf anzusprechen.
Die Variablen minLevel, maxLevel, fadeRate, fadeTime, extendedFadeTimeBase und extendedFadeTimeMultiplier sind Parameter, die in jedem DALI-Vorschaltgeräte separat abgespeichert werden. Durch die Eigenschaften und durch den Eingang bInitialize können diese Variablen in den DALI-Vorschaltgeräten verändert werden.
Werden DALI-Befehle für das Setzen der Ausgangswerte gesendet (bBusy = TRUE), so werden weitere positive Flanken an den Eingängen ignoriert. Sobald bBusy wieder zurückgesetzt wurde, können neue Befehle ausgeführt werden.
Bedienung über den Eingang bSwitch
Durch ein kurzes Signal am Eingang bSwitch werden die DALI-Vorschaltgeräte, je nach Zustand des Referenz DALI-Vorschaltgerätes, ein- oder ausgeschaltet. Liegt das Signal länger an, so wird in den Dimmermodus umgeschaltet und die Ausgangswerte der DALI-Vorschaltgeräte fahren zyklisch zwischen minLevel und maxLevel bis bSwitch wieder FALSE ist. Erreicht der Ausgangswert des Referenz DALI-Vorschaltgerätes den Grenzwert minLevel oder maxLevel, so ändert der Baustein seine Dimmrichtung.
Wird bSwitch wieder auf FALSE gesetzt, so bleiben die aktuellen Ausgangswerte der DALI-Vorschaltgeräte unverändert. Durch einen erneuten Impuls auf den Eingang bSwitch, werden die Ausgangswerte auf 0 gesetzt. Wird im Dimmermodus der Eingang bSwitch kurzzeitig weggenommen, so ändert der Baustein seine Dimmrichtung.
Die Geschwindigkeit, in der die Ausgangswerte der DALI-Vorschaltgeräte sich im Dimmermodus ändern, wird durch die Variable fadeRate in den einzelnen DALI-Vorschaltgeräten festgelegt. Die Geschwindigkeit, in der die DALI-Vorschaltgeräte wieder eingeschaltet werden, wird durch die Variablen fadeTime, extendedFadeTimeBase und extendedFadeTimeMultiplier vorgegeben.
Bedienung über die Eingänge bOn, bOff, bGoToScene und bSetLevel
Durch positive Flanken an den Eingängen bOn, bOff, bGoToScene und bSetLevel kann der Ausgangswert der DALI-Vorschaltgeräte unmittelbar geändert werden.
Bei bOn, bGoToScene und bSetLevel wird die Geschwindigkeit, in der der angegebene Wert erreicht werden soll, durch die Variablen fadeTime, extendedFadeTimeBase und extendedFadeTimeMultiplier vorgegeben. Durch bOff werden die DALI-Vorschaltgeräte unmittelbar ausgeschaltet.
Memory-Mode
Beim Einschalten muss unterschieden werden, ob der Memory-Mode (siehe nOptions) aktiv ist oder nicht. Ist der Memory-Mode aktiv, so wird beim Einschalten der zuletzt eingestellte Wert als Ausgangswert für die DALI-Vorschaltgeräte übernommen. Ist der Memory-Mode nicht aktiv, so wird bei den DALI-Vorschaltgeräten der Ausgangswert aus den Parameter nLevelMemoryMode verwendet. Hierbei ist es gleichgültig, ob die DALI-Vorschaltgeräte über den Eingang bOn, bToggle oder bSwitch geschaltet werden.
DALI-Kurzadresse Referenzgerät (nReferenceDeviceAddress)
Werden mehrere DALI-Vorschaltgeräte angesprochen, so wird über nReferenceDeviceAddress der aktuelle Ausgangswert des Referenz DALI-Vorschaltgerätes ausgelesen. Je nach Zustand des Referenz DALI-Vorschaltgerätes werden die DALI-Vorschaltgeräte auf den gewünschten Wert gesetzt.
Der Parameter nReferenceDeviceAddress wird ebenfalls verwendet, wenn im Hintergrund der Ausgangswert des Referenz DALI-Vorschaltgerätes zyklisch ausgelesen wird (tCycleActualLevel > 0 sec).
Soll mit dem Baustein ein einzelnes DALI-Vorschaltgerät angesteuert werden (eAddressType = E_DALIAddressType.Short) so wird kein Referenz DALI-Vorschaltgerät benötigt. Der Ausgangswert des einzelnen DALI-Vorschaltgerätes wird über nAddress ermittelt. Der Parameter nReferenceDeviceAddress ist in diesem Fall ohne Bedeutung.
Wird nReferenceDeviceAddress verwendet, so muss dieser immer die Kurzadresse eines DALI-Vorschaltgerätes enthalten, welches auch in der angesprochenen DALI-Gruppe enthalten ist. Bei Sammelruf muss sich an der DALI-Linie ein DALI-Vorschaltgerät mit entsprechender Kurzadresse befinden.
Eingänge
VAR_INPUT
bInitialize : BOOL := FALSE;
nAddress : BYTE;
eAddressType : E_DALIAddressType := E_DALIAddressType.Short;
bSwitch : BOOL;
bRecallMaxLevel : BOOL;
bRecallMinLevel : BOOL;
bOn : BOOL;
bOff : BOOL;
bToggle : BOOL;
bGoToScene : BOOL;
nScene : BYTE;
bSetLevel : BOOL;
nLevel : BYTE := 254;
nLevelMemoryMode : BYTE := 254;
nReferenceDeviceAddress : BYTE;
tCycleActualLevel : TIME := T#30S;
nOptions : DWORD := 0;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bInitialize | BOOL | Über eine positive Flanke an diesem Eingang werden die Werte aller Eigenschaften in die DALI-Vorschaltgeräte geschrieben. Das Schreiben der Eigenschaften in die DALI-Vorschaltgeräte ist nur dann möglich, wenn keine anderen Funktionen von dem Baustein ausgeführt werden (bBusy = FALSE). |
nAddress | BYTE | Adresse eines DALI-Vorschaltgerätes oder einer DALI-Gruppe. |
eAddressType | Definiert, ob der Eingang nAddress eine Kurzadresse (0…63) oder eine Gruppenadresse (0…15) enthält. Der Eingang nAddress hat keine Bedeutung, wenn ein Sammelruf (Broadcast) oder ein Sammelruf an nicht adressierte Geräte (BroadcastUnaddr) ausgewählt wurde. | |
bSwitch | BOOL | Durch ein kurzes Signal an diesen Eingängen werden die DALI-Vorschaltgeräte ein- oder ausgeschaltet. Liegt das Signal länger an, so wird in den Dimmermodus gewechselt und die Ausgangswerte der DALI-Vorschaltgeräte fahren auf minLevel bzw. maxLevel. |
bRecallMaxLevel | BOOL | Über eine positive Flanke an diesem Eingang werden die DALI-Vorschaltgeräte auf maxLevel gesetzt |
bRecallMinLevel | BOOL | Über eine positive Flanke an diesem Eingang werden die DALI-Vorschaltgeräte auf minLevel gesetzt. |
bOn | BOOL | Ist der Memory-Mode aktiv (siehe nOptions), so werden über eine positive Flanke an diesem Eingang die DALI-Vorschaltgeräte auf ihren Ausgangswert vor dem letzten Ausschalten gesetzt. Ist der Memory-Mode nicht aktiv, so werden die DALI-Vorschaltgeräte auf nLevelMemoryMode gesetzt. |
bOff | BOOL | Über eine positive Flanke an diesem Eingang werden die DALI-Vorschaltgeräte ausgeschaltet. Der vorherige Ausgangswert wird intern gespeichert, um diesen für das Einschalten zu verwenden, falls der Memory-Mode aktiv (siehe nOptions) ist. |
bToggle | BOOL | Durch jede positive Flanke an diesem Eingang wechseln die DALI-Vorschaltgeräte zwischen Aus und ihrem Ausgangswert vor dem letzten Ausschalten (Memory-Mode aktiv) oder nLevelMemoryMode (Memory-Mode nicht aktiv). |
bGoToScene | BOOL | Durch eine positive Flanke an diesem Eingang wird der Ausgangswert der DALI-Vorschaltgeräte auf den Wert gesetzt, der in der Szene nScene gespeichert wurde. |
nScene | BYTE | Szene (0…15) die in den DALI-Vorschaltgeräten durch bGoToScene aufgerufen werden soll. Jedes DALI-Vorschaltgerät besitzt für jede Szene seinen eigenen Ausgangswert. |
bSetLevel | BOOL | Durch eine positive Flanke an diesem Eingang wird der Ausgangswert der DALI-Vorschaltgeräte auf den Wert gesetzt, der durch nLevel vorgegeben wird. |
nLevel | BYTE | Ausgangswert (0, minLevel...maxLevel, 255) der in den DALI-Vorschaltgeräten durch bSetLevel aufgerufen werden soll. Durch den Wert 255 (MASK) bleibt der Ausgangswert unverändert. |
nLevelMemoryMode | BYTE | Ausgangswert (minLevel...maxLevel) für das Einschalten der DALI-Vorschaltgeräte, wenn die Memory-Mode nicht aktiv ist. |
nReferenceDeviceAddress | BYTE | Kurzadresse (0…63) des Referenz DALI-Vorschaltgerätes bei Gruppen- und Sammelruf. Bei eAddressType = E_DALIAddressType.Short wird dieser Parameter nicht ausgewertet. In diesem Fall wird über nAddress das Referenz DALI-Vorschaltgerät ausgelesen. |
tCycleActualLevel | TIME | Zykluszeit, mit der im Hintergrund der aktuelle Ausgangswert des Referenz DALI-Vorschaltgerätes ausgelesen wird. Stellen Sie die Zykluszeit so ein, dass möglichst wenige DALI-Befehle versendet werden. Wird die Zeit auf 0 sec gesetzt, so wird das Auslesen nicht ausgeführt. |
nOptions | DWORD | Optionen, die das Verhalten des Bausteins beeinflussen. Die einzelnen Konstanten müssen miteinander ODER-verknüpft werden. |
Konstante | Beschreibung |
---|---|
Tc3_DALI.GVL.cMemoryMode | Aktiviert den Memory-Mode. |
Ausgänge
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bBusy : BOOL;
bInitializing : BOOL;
nActualLevel : BYTE;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bError | BOOL | Der Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung ein Fehler aufgetreten ist. Weitere Informationen zu dem Fehler können über die Variable ipResultMessage abgefragt werden. Der Ausgang wird wieder auf FALSE gesetzt, sobald bBusy auf TRUE geht. |
ipResultMessage | I_TcMessage | Interface-Pointer (siehe Fehlerauswertung) mit dem detaillierte Informationen über die Abarbeitung des Bausteins abgefragt werden können (siehe Laufzeitmeldungen). Der Interface-Pointer ist gültig, nachdem bBusy von TRUE auf FALSE gewechselt hat. |
bBusy | BOOL | Der Ausgang wird gesetzt, sobald die Ausführung der DALI-Befehle gestartet wurde und bleibt so lange aktiv, bis alle DALI-Befehle abgearbeitet wurden. |
bInitializing | BOOL | Der Ausgang wird gesetzt, sobald die Initialisierung der DALI-Vorschaltgeräte gestartet wurde und bleibt so lange aktiv, bis alle DALI-Befehle abgearbeitet wurden. |
nActualLevel | BYTE | Aktueller Ausgangswert (0, minLevel...maxLevel, 255) des Referenz DALI-Vorschaltgerätes welches über nReferenceDeviceAddress angesprochen wird. Bei eAddressType = E_DALIAddressType.Short wird das Referenz DALI-Vorschaltgerät über nAddress ausgelesen. Ein Wert von 255 (MASK) kennzeichnet das beim Auslesen des Ausgangswertes aus dem Referenz DALI-Vorschaltgerät ein Fehler aufgetreten ist. Die Ursache kann z.B. ein technischer Defekt sein oder das DALI-Vorschaltgerät befindet sich in der Aufstartphase. In diesem Fall wird bError nicht auf TRUE gesetzt. |
Eigenschaften
Alle Parameter, die per bInitialize in das DALI-Steuergerät geschrieben werden, sind als Eigenschaften vorhanden.
Name | Typ | Zugriff | Initialwert | Beschreibung |
---|---|---|---|---|
nMaxLevel | BYTE | Get, Set | 254 | Siehe Variable maxLevel. |
nMinLevel | BYTE | Get, Set | 126 | Siehe Variable minLevel. |
eFadeRate | E_DALIFadeRate | Get, Set | N045StepsPerSec | Siehe Variable fadeRate. |
eFadeTime | E_DALIFadeTime | Get, Set | Disabled | Siehe Variable fadeTime. |
eExtendedFadeTimeBase | E_DALIExtendedFadeTimeBase | Get, Set | Base01 | Siehe Variable extendedFadeTimeBase. |
eExtendedFadeTimeMultiplier | E_DALIExtendedFadeTimeMultiplier | Get, Set | Disabled | Siehe Variable extendedFadeTimeMultiplier. |
ipDALICommunication | I_DALICommunication | Get, Set | 0 | Interface-Pointer auf den Kommunikationsbaustein (siehe Übergabe der Referenz auf den Kommunikationsbaustein). |
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.15 | Tc3_DALI ab v3.6.2.0 |