FB_DALIV2SetSettingsType01

FB_DALIV2SetSettingsType01 1:

Dieser Baustein initialisiert die Variablen (EMERGENCY LEVEL, FUNCTION TEST DELAY TIME, DURATION TEST DELAY TIME ...) aller Notbeleuchtungs-Vorschaltgeräten einer DALI-Line mit den Werten, die in einer Struktur vom Typ ST_DALIV2DeviceSettingsType01 abgelegt sind.

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 in der jeweiligen Struktur (siehe ST_DALIV2DeviceSettingsType01) 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 arrDALIDeviceSettingsType01[0] bis hin zu dem Vorschaltgerät mit der Kurzadresse 63 in arrDALIDeviceSettingsType01[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

5

Fehler beim Schreiben der Variable EMERGENCY LEVEL

9

Fehler beim Schreiben der Variable FUNCTION TEST DELAY TIME

10

Fehler beim Schreiben der Variable DURATION TEST DELAY TIME

11

Fehler beim Schreiben der Variable FUNCTION TEST INTERVAL

12

Fehler beim Schreiben der Variable DURATION TEST INTERVAL

13

Fehler beim Schreiben der Variable TEST EXECUTION TIMEOUT

14

Fehler beim Schreiben der Variable PROLONG TIME

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 := eDALIV2CommandPriorityHigh;
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_EMERGENCY_LEVEL

Die Variable EMERGENCY LEVEL wird initialisiert.

DALIV2_OPTION_NEXT_FUNCTION_TEST

Die Variable FUNCTION TEST DELAY TIME wird initialisiert.

DALIV2_OPTION_NEXT_DURATION_TEST

Die Variable DURATION TEST DELAY TIME wird initialisiert.

DALIV2_OPTION_FUNCTION_TEST_INTERVAL

Die Variable FUNCTION TEST INTERVAL wird initialisiert.

DALIV2_OPTION_DURATION_TEST_INTERVAL

Die Variable DURATION TEST INTERVAL wird initialisiert.

DALIV2_OPTION_TEST_EXECUTION_TIMEOUT

Die Variable TEST EXECUTION TIMEOUT wird initialisiert.

DALIV2_OPTION_PROLONG_TIME

Die Variable PROLONG TIME wird 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.

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 bei dem gerade versucht wird, die Variablen zu initialisieren.

VAR_IN_OUT

stCommandBuffer             : ST_DALIV2CommandBuffer;
arrDALIDeviceSettingsType01 : ARRAY [0..63] OF ST_DALIV2DeviceSettingsType01;

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

arrDALIDeviceSettingsType01: Verweis auf ein Array mit 64 Elementen (siehe ST_DALIV2DeviceSettingsType01). 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