FB_DALI102SetSettings

Der Baustein beschreibt mehrere Variablen (siehe Tabelle unten) ausgewählter DALI-Vorschaltgeräte einer DALI-Linie mit den Werten, die in der Struktur ST_DALIControlGearSettings abgelegt sind.
Über die Eingangsvariable nDevices können die zu beschreibenden DALI-Vorschaltgeräte angegeben werden. Jedes Bit dieser Variable entspricht einer Kurzadresse.
Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Zunächst wird geprüft, ob ein DALI-Vorschaltgerät überhaupt vorhanden ist. Ist dies der Fall, so wird in der jeweiligen Struktur (siehe ST_DALIControlGearSettings) das Bit bPresent gesetzt und anschließend nacheinander die Einstellungen in das Vorschaltgerät geschrieben. Wird ein Gerät als nicht vorhanden erkannt, so wird das Beschreiben übersprungen und mit dem nächsten Gerät begonnen. Der Index der Struktur spiegelt dabei die Adresse des Gerätes wider, d.h. vom Gerät mit der Kurzadresse 0 liegen die Daten in arrDALIDeviceSettings[0] bis hin zu dem Gerät mit der Kurzadresse 63 in arrDALIDeviceSettings[63]. Tritt während des Schreibvorgangs ein Fehler bei einem Gerät auf, so wird das entsprechende Bit in nErrors der jeweiligen Struktur gesetzt, ohne dass jedoch der Funktionsbaustein an sich in Störung geht. In der folgenden Tabelle wird aufgelistet, welches Bit in der Variablen nErrors gesetzt wird, wenn beim Auslesen einer Variablen aus einem Vorschaltgerät ein Fehler aufgetreten ist:
Bit | Fehler |
---|---|
0 | Beim Versuch des DALI-Vorschaltgerät zu suchen, ist ein Fehler aufgetreten. |
2 | Fehler beim Schreiben der Variable powerOnLevel. |
3 | Fehler beim Schreiben der Variable systemFailureLevel. |
4 | Fehler beim Schreiben der Variable minLevel. |
5 | Fehler beim Schreiben der Variable maxLevel. |
6 | Fehler beim Schreiben der Variable fadeRate. |
7 | Fehler beim Schreiben der Variable fadeTime. |
8 | Fehler beim Schreiben der Variablen extendedFadeTimeBase und extendedFadeTimeMultiplier. |
10 | Fehler beim Schreiben der Variable gearGroups. |
11 | Fehler beim Schreiben der Variable scene0-scene15. |
Eingänge
VAR_INPUT
bStart : BOOL;
nDevices : LWORD;
nOptions : DWORD;
bCancel : BOOL;
eCommandPriority : E_DALICommandPriority := E_DALICommandPriority.MiddleLow;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bStart | BOOL | Über eine positive Flanke an diesem Eingang wird die Ausführung der DALI-Befehle gestartet. |
nDevices | LWORD | Variable zum Wählen der zu initialisierenden DALI-Vorschaltgeräte. Jedes Bit der Variable repräsentiert ein DALI-Vorschaltgerät (0…63). Bei einer Einstellung von 16#FFFF_FFFF_FFFF_FFFF werden alle Kurzadressen beschrieben. |
nOptions | DWORD | Optionen für das Beschreiben der Variablen (siehe Tabelle unten). Die einzelnen Konstanten müssen miteinander ODER-verknüpft werden. |
bCancel | BOOL | Über eine positive Flanke an diesem Eingang wird der Baustein deaktiviert und somit das Initialisieren der Variablen abgebrochen. |
eCommandPriority | Priorität (low, middle low, middle, middle high, high), mit der die DALI-Befehle versendet werden. |
Optionen für das Beschreiben der Variablen:
Konstante | Beschreibung |
---|---|
Tc3_DALI.GVL.cOptionPowerOnLevel | Initialisieren des aktuellen Einschaltwerts. |
Tc3_DALI.GVL.cOptionSystemFailureLevel | Initialisieren des aktuellen Einstellwerts, im Falle eines DALI-Bus Fehlers. |
Tc3_DALI.GVL.cOptionMinLevel | Initialisieren des maximalen Ausgangswerts. |
Tc3_DALI.GVL.cOptionMaxLevel | Initialisieren des minimalen Ausgangswerts. |
Tc3_DALI.GVL.cOptionFadeRate | Initialisieren der FadeRate. |
Tc3_DALI.GVL.cOptionFadeTime | Initialisieren der FadeTime |
Tc3_DALI.GVL.cOptionExtendedFadeTime | Initialisieren der erweiterten FadeTimeBase und des FadeTimeMultiplier. |
Tc3_DALI.GVL.cOptionGroups | Initialisieren der Gruppenzuordnungen. |
Tc3_DALI.GVL.cOptionSceneLevels | Initialisieren der Szeneneinstellungen. |
Tc3_DALI.GVL.cOptionAll | Initialisieren aller Variablen. |
![]() | eCommandPriority hat bei der KL6811 keine Verwendung. Die Prioritäten für die DALI-Befehle werden von der KL6821 ab dem Firmwarestand BD unterstützt. |
Ein-/Ausgänge
VAR_IN_OUT
arrDALIDeviceSettings : ARRAY [0..63] of ST_DALIControlGearSettings;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
arrDALIDeviceSettings | ARRAY OF ST_DALIControlGearSettings | Array, welches die gelesenen Parameter der einzelnen DALI-Vorschaltgeräte enthält. |
Ausgänge
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bBusy : BOOL;
nCurrentShortAddress : 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. |
nCurrentShortAddress | BYTE | Gibt an, welche Kurzadresse aktuell beschrieben wird. |
Eigenschaften
Name | Typ | Zugriff | Initialwert | Beschreibung |
---|---|---|---|---|
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.4 | Tc3_DALI ab v3.2.0.0 |