FB_DALIV2GetSettings

FB_DALIV2GetSettings 1:

Dieser Baustein liest von allen Vorschaltgeräten einer DALI-Line die Variablen (MIN LEVEL, MAX LEVEL, FADE TIME, ...) aus, und speichert diese in einer Struktur vom Typ ST_DALIV2DeviceSettings.

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 Vorschaltgerät überhaupt vorhanden ist. Ist dies der Fall, so wird in der jeweiligen Struktur (siehe ST_DALIV2DeviceSettings) 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

Bei dem Versuch das Vorschaltgerät zu suchen, ist ein Fehler aufgetreten.

1

Fehler beim Auslesen der Variable ACTUAL DIM LEVEL.

2

Fehler beim Auslesen der Variable POWER ON LEVEL.

3

Fehler beim Auslesen der Variable SYSTEM FAILURE LEVEL.

4

Fehler beim Auslesen der Variable MIN LEVEL.

5

Fehler beim Auslesen der Variable MAX LEVEL.

6

Fehler beim Auslesen der Variable FADE RATE.

7

Fehler beim Auslesen der Variable FADE TIME.

8

Fehler beim Auslesen der Variable RANDOM ADDRESS.

9

Fehler beim Auslesen der Variablen GROUP 0-7 und GROUP 8-15.

10

Fehler beim Auslesen der Variablen SCENE 0 bis SCENE 15.

11

Fehler beim Auslesen der Variable STATUS INFORMATION.

12

Fehler beim Auslesen der Variable VERSION NUMBER.

13

Fehler beim Auslesen der Variable DEVICE TYPE.

14

Fehler beim Auslesen der Variable PHYSICAL MIN LEVEL.

Nach Abarbeitung des Bausteines wechselt der Ausgang bBusy von TRUE nach FALSE. Abhängig davon, wie viele Vorschaltgeräte angeschlossen sind, kann die Abarbeitung dieses Bausteines mehrere Sekunden dauern.

VAR_INPUT

bStart           : BOOL;
bCancel          : BOOL;
eCommandPriority : E_DALIV2CommandPriority := eDALIV2CommandPriorityMiddle;
nOptions         : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert.

bCancel: Über eine positive Flanke an diesem Eingang wird der Baustein deaktiviert und somit das Auslesen der Variablen abgebrochen.

eCommandPriority: Priorität (hoch, mittel oder niedrig), mit der der Befehl von der Library abgearbeitet wird (siehe E_DALIV2CommandPriority).

nOptions: Optionen für das Auslesen der Variablen (siehe Tabelle). Die einzelnen Konstanten müssen miteinander ODER-verknüpft werden.

Konstante

Beschreibung

DALIV2_OPTION_ACTUAL_DIM_LEVEL

Die Variable ACTUAL DIM LEVEL wird ausgelesen.

DALIV2_OPTION_POWER_ON_LEVEL

Die Variable POWER ON LEVEL wird ausgelesen.

DALIV2_OPTION_SYSTEM_FAILURE_LEVEL

Die Variable SYSTEM FAILURE LEVEL wird ausgelesen.

DALIV2_OPTION_MIN_LEVEL

Die Variable MIN LEVEL wird ausgelesen.

DALIV2_OPTION_MAX_LEVEL

Die Variable MAX LEVEL wird ausgelesen.

DALIV2_OPTION_FADE_RATE_FADE_TIME

Die Variablen FADE RATE und FADE TIME werden ausgelesen.

DALIV2_OPTION_RANDOM_ADDRESS

Die Variable RANDOM ADDRESS wird ausgelesen.

DALIV2_OPTION_GROUPS

Die Variablen GROUP 0-7 und GROUP 8-15 werden ausgelesen.

DALIV2_OPTION_SCENE_LEVELS

Die Variablen SCENE 0 bis SCENE 15 werden ausgelesen.

DALIV2_OPTION_STATUS_INFORMATION

Die Variable STATUS INFORMATION wird ausgelesen.

DALIV2_OPTION_VERSION_NUMBER

Die Variable VERSION NUMBER wird ausgelesen.

DALIV2_OPTION_DEVICE_TYPE

Die Variable DEVICE TYPE wird ausgelesen.

DALIV2_OPTION_PHYSICAL_MIN_LEVEL

Die Variable PHYSICAL MIN LEVEL wird ausgelesen.

DALIV2_OPTION_DONT_CLEAR_DEVICE_SETTINGS

Vor dem Lesen wird die Variable arrDALIDeviceSettings nicht gelöscht.

DALIV2_OPTION_ALL

Alle Variablen werden ausgelesen.

VAR_OUTPUT

bBusy             : BOOL;
bError            : BOOL;
nErrorId          : UDINT;
nCurrentShortAddr : BYTE;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in nErrorId enthalten. Wird durch das Ausführen eines Befehls an den Eingängen auf FALSE zurückgesetzt.

nErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt. (Siehe Fehlercodes)

nCurrentShortAddr: Kurzadresse vom aktuellen Vorschaltgerät von dem gerade versucht wird die Variablen auszulesen.

VAR_IN_OUT

stCommandBuffer       : ST_DALIV2CommandBuffer;
arrDALIDeviceSettings : ARRAY [0..63] OF ST_DALIV2DeviceSettings;

stCommandBuffer: Verweis auf die interne Struktur zur Kommunikation mit den Bausteinen FB_KL6811Communication() (KL6811) oder FB_KL6821Communication() (KL6821).

arrDALIDeviceSettings: Verweis auf ein Array mit 64 Elementen (siehe ST_DALIV2DeviceSettings). In dieser Variablen werden die Einstellungen von jedem einzelnen DALI-Vorschaltgerät abgelegt.

Voraussetzungen

Entwicklungsumgebung

erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4020.14

Tc2_DALI ab v3.4.3.0