FB_DALI102GetSettings

Der Baustein liest von ausgewählten DALI-Vorschaltgeräten einer DALI-Linie mehrere Variablen (siehe Tabelle unten) aus und speichert diese in der Struktur ST_DALIControlGearSettings.
Über die Eingangsvariable nDevices können die zu lesenden 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 des Vorschaltgerätes ausgelesen und in die betreffenden Variablen der Struktur geschrieben. Wird ein Gerät als nicht vorhanden erkannt, so wird das Auslesen ü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 Auslesevorganges ein Lesefehler 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 das DALI-Vorschaltgerät zu suchen, ist ein Fehler aufgetreten. |
1 | Fehler beim Auslesen der Variable actualLevel. |
2 | Fehler beim Auslesen der Variable powerOnLevel. |
3 | Fehler beim Auslesen der Variable systemFailureLevel. |
4 | Fehler beim Auslesen der Variable minLevel. |
5 | Fehler beim Auslesen der Variable maxLevel. |
6 | Fehler beim Auslesen der Variable fadeRate. |
7 | Fehler beim Auslesen der Variable fadeTime. |
8 | Fehler beim Auslesen der Variablen extendedFadeTimeBase und extendedFadeTimeMultiplier. |
9 | Fehler beim Auslesen der Variable randomAddress. |
10 | Fehler beim Auslesen der Variable gearGroups. |
11 | Fehler beim Auslesen der Variable scene0-scene15. |
12 | Fehler beim Auslesen der Variable statusInformation. |
13 | Fehler beim Auslesen der Versionsnummer aus der MemoryBank. |
14 | Fehler beim Auslesen der unterstützen Gerätetypen. |
15 | Fehler beim Auslesen der Variable physicalMinLevel. |
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 auszulesenden 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 abgefragt. |
nOptions | DWORD | Optionen für das Auslesen 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 Auslesen der Variablen abgebrochen. |
eCommandPriority | Priorität (low, middle low, middle, middle high, high), mit der die DALI-Befehle versendet werden. |
Optionen für das Auslesen der Variablen:
Konstante | Beschreibung |
---|---|
Tc3_DALI.GVL.cOptionActualDimLevel | Auslesen des aktuellen Ausgangswerts. |
Tc3_DALI.GVL.cOptionPowerOnLevel | Auslesen des aktuellen Einschaltwerts. |
Tc3_DALI.GVL.cOptionSystemFailureLevel | Auslesen des aktuellen Einstellwerts, im Falle eines DALI-Bus Fehlers. |
Tc3_DALI.GVL.cOptionMinLevel | Auslesen des minimalen Ausgangswerts. |
Tc3_DALI.GVL.cOptionMaxLevel | Auslesen des maximalen Ausgangswerts. |
Tc3_DALI.GVL.cOptionFadeRateFadeTime | |
Tc3_DALI.GVL.cOptionExtendedFadeTime | Auslesen der erweiterten FadeTimeBase und des FadeTimeMultiplier. |
Tc3_DALI.GVL.cOptionRandomAddress | Auslesen der Zufallsadresse. |
Tc3_DALI.GVL.cOptionGroups | Auslesen der Gruppenzuordnungen. |
Tc3_DALI.GVL.cOptionSceneLevels | Auslesen der Szeneneinstellungen. |
Tc3_DALI.GVL.cOptionStatusInformation | Auslesen der Status Informationen. |
Tc3_DALI.GVL.cOptionVersionNumber | Auslesen Versionsnummer des DALI-Vorschaltgeräts. |
Tc3_DALI.GVL.cOptionDeviceType | Auslesen des Gerätetyps. |
Tc3_DALI.GVL.cOptionPhysicalMinLevel | Auslesen des PhysicalMinLevel. |
Tc3_DALI.GVL.cOptionAll | Auslesen 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 abgefragt 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 |