FB_DALI102GetSettings

FB_DALI102GetSettings 1:

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.

FB_DALI102GetSettings 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 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

E_DALICommandPriority

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

Auslesen der FadeRate und der FadeTime.

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.

FB_DALI102GetSettings 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_DALI102GetSettings 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_DALI102GetSettings 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 abgefragt wird.

FB_DALI102GetSettings 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