FB_DALIV2EmergencyLightingFT

FB_DALIV2EmergencyLightingFT 1:

Dieser Baustein dient zur Funktions-Prüfung (Function-Test) eines DALI-Notbeleuchtungs-Gerätes. Die Testergebnisse werden zum Test-Ende ü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:

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

FB_DALIV2EmergencyLightingFT 2:

Dieser Baustein ist nur in der PC-Version der DALIV2-Bibliothek verfügbar.

FB_DALIV2EmergencyLightingFT 3:

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

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_DALIV2Communication() (KL6811) oder FB_KL6821Communication() (KL6821).

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

Ein Beispielprogramm zeigt die richtige Belegung der Eingänge sowie die Verknüpfung zum Logger-Baustein FB_DALIV2FileLogging(). Dabei werden 3 Vorschaltgeräte und dessen Lampen jeweils immer am Dienstag getestet.

Die Log-Datei würde dann für die 3 adressierten Geräte beispielsweise folgendes anzeigen:

FB_DALIV2EmergencyLightingFT 4:

Am 25. August sind noch keine der Vorschaltgeräte eingebaut, was zu DALI-Kommando-Fehlern bei allen Geräten führt.
Am 1. September ist immerhin schon die erste Lampe angeschlossen, jedoch ist der automatische Test im Vorschaltgerät noch aktiviert, was zu einem Testabbruch führt.
Am 8. September schließlich sind alle Geräte betriebsbereit und haben ihren ersten Funktionstest erfolgreich abgeschlossen.
Es ist zu beachten, dass beim Öffnen der Datei ggf. die Spaltenbreite zur Sichtbarkeit der Daten erweitert werden muss.