FB_DALIV2SetSettings

FB_DALIV2SetSettings 1:

Der Funktionsbaustein FB_DALIV2SetSettings initialisiert die Variablen (MIN LEVEL, MAX LEVEL, FADE TIME, ...) aller Vorschaltgeräte einer DALI-Line mit den Werten, die in einer Struktur vom Typ ST_DALIV2DeviceSettings abgelegt sind.

Durch eine positive Flanke an dem Eingang bStart wird der Funktionsbaustein gestartet und der Ausgang bBusy geht auf TRUE. Zunächst wird geprüft, ob in der jeweiligen Struktur (siehe ST_DALIV2DeviceSettings) das Bit bPresent gesetzt ist. Ist dieses der Fall, so werden alle Variablen vom Vorschaltgerät, die nicht schreibgeschützt sind, mit den jeweiligen Werten der Struktur initialisiert. Der Index der Struktur spiegelt dabei die Adresse des Vorschaltgerätes wider, d.h. vom Gerät mit der Kurzadresse 0 liegen die Daten in arrDALIDeviceSettings[0] bis hin zu dem Vorschaltgerät mit der Kurzadresse 63 in arrDALIDeviceSettings[63]. Tritt während des Schreibvorganges ein Fehler bei einem Gerät auf, so wird das Element 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 Schreiben einer Variablen in einem Vorschaltgerät ein Fehler aufgetreten ist:

Bit

Fehler

2

Fehler beim Schreiben der Variable POWER ON LEVEL.

3

Fehler beim Schreiben der Variable SYSTEM FAILURE LEVEL.

4

Fehler beim Schreiben der Variable MIN LEVEL.

5

Fehler beim Schreiben der Variable MAX LEVEL.

6

Fehler beim Schreiben der Variable FADE RATE.

7

Fehler beim Schreiben der Variable FADE TIME.

9

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

10

Fehler beim Schreiben der Variablen SCENE 0 bis SCENE 15.

FB_DALIV2SetSettings 2:

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

FB_DALIV2SetSettings 3: Eingänge

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

Name

Typ

Beschreibung

bStart

BOOL

Über eine positive Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

bCancel

BOOL

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

eCommandPriority

E_DALIV2CommandPriority

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

nOptions

DWORD

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

Konstante

Beschreibung

DALIV2_OPTION_POWER_ON_LEVEL

Die Variable POWER ON LEVEL wird initialisiert.

DALIV2_OPTION_SYSTEM_FAILURE_LEVEL

Die Variable SYSTEM FAILURE LEVEL wird initialisiert.

DALIV2_OPTION_MIN_LEVEL

Die Variable MIN LEVEL wird initialisiert.

DALIV2_OPTION_MAX_LEVEL

Die Variable MAX LEVEL wird initialisiert.

DALIV2_OPTION_FADE_RATE

Die Variable FADE RATE wird initialisiert.

DALIV2_OPTION_FADE_TIME

Die Variable FADE TIME wird initialisiert.

DALIV2_OPTION_GROUPS

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

DALIV2_OPTION_SCENE_LEVELS

Die Variablen SCENE 0 bis SCENE 15 werden initialisiert.

DALIV2_OPTION_ALL

Alle Variablen werden initialisiert.

DALIV2_OPTION_PUSH_DALI_COMMANDS

Der Puffer, der die Rückmeldungen von den Vorschaltgeräten enthält, wird nicht ausgelesen. Dadurch wird das Schreiben schneller, Fehler jedoch nicht erkannt.

FB_DALIV2SetSettings 4: Ein-/Ausgänge

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

Name

Typ

Beschreibung

stCommandBuffer

ST_DALIV2CommandBuffer

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

arrDALIDeviceSettings

ARRAY OF ST_DALIV2DeviceSettings

Verweis auf ein Array mit 64 Elementen. In dieser Variablen werden die Einstellungen von jedem einzelnen DALI-Vorschaltgerät abgelegt.

FB_DALIV2SetSettings 5: Ausgänge

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

Name

Typ

Beschreibung

bBusy

BOOL

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

bError

BOOL

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

UDINT

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

BYTE

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

Voraussetzungen

Entwicklungsumgebung

Einzubindende SPS-Bibliothek

TwinCAT ab v3.1.4020.14

Tc2_DALI ab v3.4.3.0