FB_DALIV2GetSettingsType01

FB_DALIV2GetSettingsType01 1:

Der Funktionsbaustein FB_DALIV2GetSettingsType01 liest von allen Notbeleuchtungs-Vorschaltgeräten einer DALI-Line die Variablen (BATTERY CHARGE, DURATION TEST RESULT, LAMP EMERGENCY TIME ...) aus und speichert diese in einer Struktur vom Typ ST_DALIV2DeviceSettingsType01.

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 ein Vorschaltgerät überhaupt vorhanden ist. Ist dies der Fall, so wird in der jeweiligen Struktur (siehe ST_DALIV2DeviceSettingsType01) 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 arrDALIDeviceSettingsType01[0] bis hin zu dem Gerät mit der Kurzadresse 63 in arrDALIDeviceSettingsType01[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 BATTERY CHARGE

2

Fehler beim Auslesen der Variable DURATION TEST RESULT

3

Fehler beim Auslesen der Variable LAMP EMERGENCY TIME

4

Fehler beim Auslesen der Variable LAMP TOTAL OPERATION TIME

5

Fehler beim Auslesen der Variable EMERGENCY LEVEL

6

Fehler beim Auslesen der Variable EMERGENCY MIN LEVEL

7

Fehler beim Auslesen der Variable EMERGENCY MAX LEVEL

8

Fehler beim Auslesen der Variable RATED DURATION

9

Fehler beim Auslesen der Variable FUNCTION TEST DELAY TIME

10

Fehler beim Auslesen der Variable DURATION TEST DELAY TIME

11

Fehler beim Auslesen der Variable FUNCTION TEST INTERVAL

12

Fehler beim Auslesen der Variable DURATION TEST INTERVAL

13

Fehler beim Auslesen der Variable TEST EXECUTION TIMEOUT

14

Fehler beim Auslesen der Variable PROLONG TIME

15

Fehler beim Auslesen der Variable EMERGENCY MODE

16

Fehler beim Auslesen der Variable FEATURES

17

Fehler beim Auslesen der Variable FAILURE STATUS

18

Fehler beim Auslesen der Variable EMERGENCY STATUS

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_DALIV2GetSettingsType01 2: Eingänge

VAR_INPUT
  bStart           : BOOL;
  bCancel          : BOOL;
  eCommandPriority : E_DALIV2CommandPriority := eDALIV2CommandPriorityHigh;
  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 Auslesen 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 Auslesen der Variablen (siehe Tabelle). Die einzelnen Konstanten müssen miteinander ODER-verknüpft werden.

Konstante

Beschreibung

DALIV2_OPTION_BATTERY_CHARGE

Die Variable BATTERY CHARGE wird ausgelesen.

DALIV2_OPTION_DURATION_TEST_RESULT

Die Variable DURATION TEST RESULT wird ausgelesen.

DALIV2_OPTION_LAMP_EMERGENCY_TIME

Die Variable LAMP EMERGENCY TIME wird ausgelesen.

DALIV2_OPTION_LAMP_TOTAL_OPERATION_TIME

Die Variable LAMP TOTAL OPERATION TIME wird ausgelesen.

DALIV2_OPTION_EMERGENCY_LEVEL

Die Variable EMERGENCY LEVEL wird ausgelesen.

DALIV2_OPTION_EMERGENCY_MIN_LEVEL

Die Variable EMERGENCY MIN LEVEL wird ausgelesen.

DALIV2_OPTION_EMERGENCY_MAX_LEVEL

Die Variable EMERGENCY MAX LEVEL wird ausgelesen.

DALIV2_OPTION_RATED_DURATION

Die Variable RATED DURATION wird ausgelesen.

DALIV2_OPTION_NEXT_FUNCTION_TEST

Die Variable FUNCTION TEST DELAY TIME wird ausgelesen.

DALIV2_OPTION_NEXT_DURATION_TEST

Die Variable DURATION TEST DELAY TIME wird ausgelesen.

DALIV2_OPTION_FUNCTION_TEST_INTERVAL

Die Variable FUNCTION TEST INTERVAL wird ausgelesen.

DALIV2_OPTION_DURATION_TEST_INTERVAL

Die Variable DURATION TEST INTERVAL wird ausgelesen.

DALIV2_OPTION_TEST_EXECUTION_TIMEOUT

Die Variable TEST EXECUTION TIMEOUT wird ausgelesen.

DALIV2_OPTION_PROLONG_TIME

Die Variable PROLONG TIME wird ausgelesen.

DALIV2_OPTION_EMERGENCY_MODE

Die Variable EMERGENCY MODE wird ausgelesen.

DALIV2_OPTION_FEATURES

Die Variable FEATURES wird ausgelesen.

DALIV2_OPTION_FAILURE_STATUS

Die Variable FAILURE STATUS wird ausgelesen.

DALIV2_OPTION_EMERGENCY_STATUS

Die Variable EMERGENCY STATUS wird ausgelesen.

DALIV2_OPTION_ALL

Alle Variablen werden ausgelesen.

FB_DALIV2GetSettingsType01 3: Ein-/Ausgänge

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

Name

Typ

Beschreibung

stCommandBuffer

ST_DALIV2CommandBuffer

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

arrDALIDeviceSettingsType01

ARRAY OF ST_DALIV2DeviceSettingsType01

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

FB_DALIV2GetSettingsType01 4: 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