FB_DALI102SetSettings

FB_DALI102SetSettings 1:

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.

FB_DALI102SetSettings 2: 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

E_DALICommandPriority

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.

FB_DALI102SetSettings 3:

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.

FB_DALI102SetSettings 4: 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.

FB_DALI102SetSettings 5: 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.

FB_DALI102SetSettings 6: 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