FB_DALIV2EmergencyLightingFT

FB_DALIV2EmergencyLightingFT 1:

Dieser Baustein dient zur Funktions-Prüfung (Function-Test) eines DALI-Notbeleuchtungs-Gerätes. Die Testergebnisse werden zum Ende des Tests über einen FIFO-Buffer (IN-OUT-Variable fbStringRingBuffer) geschrieben, welcher seinerseits durch den Baustein FB_DALIV2FileLogging() in eine Datei ausgelesen wird. Ereignisse, die den Test verhindern oder unterbrechen werden zusätzlich zur Ergebnis-Meldung an den Ausgängen bError und nErrorID angezeigt.

Folgende Ereignisse verhindern die Ausführung eines Funktionstest:

  • Das Gerät läuft im automatischen Funktionstestmodus, d. h. ein Testintervall ist im Gerät programmiert.
  • Das Gerät führt gerade einen Test aus bzw. ein Test steht automatisch bevor (Funktionstest oder Dauertest).
  • Das Gerät befindet sich zu Testbeginn nicht in der Notfall-Bereitschaft ("normal-mode").

Zu den Ereignissen, die einen begonnenen Funktionstest unterbrechen gehören diese:

  • Das Gerät hat nach dem Teststart den Funktionstestmodus nicht erreicht.
  • Der Test ist nicht richtig beendet worden, d. h. das Gerät befindet sich nach dem Teststart und einer gewissen Wartezeit irgendwann weder im Test-Modus noch (wieder zurück) im Notfall-Bereitschaftsmodus („normal-mode“).
  • Ein DALI-Kommando wurde fehlerhaft abgearbeitet.
  • Die Timeout-Zeit ist abgelaufen.

VAR_INPUT

bStart       : BOOL;
nAddr        : BYTE;
sController  : STRING(20);
sLineName    : STRING(10);
sDescription : STRING(20);
sLocation    : STRING(20);
stDateTime   : TIMESTRUCT;
tTimeout     : TIME := t#120m;

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

nAddr: Adresse des zu testenden Gerätes.

sController: Controller-Zugehörigkeit des DALI-Gerätes. Dient zur Beschreibung in der Log-Datei.

sLineName: Linien-Zugehörigkeit des DALI-Gerätes. Dient zur Beschreibung in der Log-Datei.

sDescription: Weitere ergänzende Beschreibung des Gerätes in der Log-Datei.

sLocation: Beschreibung des Einbauortes.

stDateTime: Eingang für aktuelles Datum und Zeit.

tTimeout: Zeit, in der der Test abgeschlossen sein muss.

VAR_OUTPUT

tElapsedTestTime : TIME;
nEmergencyMode   : BYTE;
nEmergencyStatus : BYTE;
bBusy            : BOOL;
bError           : BOOL;
nErrorId         : UDINT;

tElapsedTestTime: Testdauer. Bei steigender Flanke an bStart wird die Zeitausgabe auf 0 gesetzt und läuft dann solange hoch, wie der Baustein aktiv ist. Mit einer fallenden Flanke an bBusy behält der Ausgang seinen derzeitigen Wert, sodass auch nach der Bausteinabarbeitung die Testdauer noch zur Verfügung steht.

nEmergencyMode: Während des Tests wird an diesem Ausgang der derzeit intern abgefragte Emergency-Mode des DALI-Gerätes ausgegeben.

nEmergencyStatus: dto. für Emergency-Status.

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 des Tests ein Fehler, wie oben beschrieben, aufgetreten ist. Durch das erneute Ausführen eines Tests wird dieser Ausgang zurückgesetzt.

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

VAR_IN_OUT

stCommandBuffer    : ST_DALIV2CommandBuffer;
fbStringRingBuffer : FB_MemRingBuffer;

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

fbStringRingBuffer: Verweis auf den FIFO-Buffer, in denen die Log-Einträge abgelegt werden.

Während eine Datei geöffnet ist, ist es dem Log-Baustein nicht möglich, Daten in diese Datei zu schreiben.

Voraussetzungen

Entwicklungsumgebung

erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4020.14

Tc2_DALI ab v3.4.3.0