FB_DALIV2EmergencyLightingDT
Der Funktionsbaustein FB_DALIV2EmergencyLightingDT dient zur Dauer-Prüfung (Duration-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 Dauertests:
- Das Gerät läuft im automatischen Dauertestmodus, 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).
- Die Notfall-Batterie ist nicht vollständig geladen.
- Das Gerät befindet sich zu Testbeginn nicht in der Notfall-Bereitschaft („normal-mode“).
Zu den Ereignissen, die einen begonnenen Dauertest unterbrechen gehören diese:
- Das Gerät hat nach dem Teststart den Dauertestmodus 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 Testmodus noch (wieder zurück) im Notfall-Bereitschaftsmodus („normal-mode“).
- Ein DALI-Kommando wurde fehlerhaft abgearbeitet.
- Die Timeout-Zeit ist abgelaufen.
Eingänge
VAR_INPUT
bStart : BOOL;
bStop : BOOL;
nAddr : BYTE;
sController : STRING(20);
sLineName : STRING(10);
sDescription : STRING(20);
sLocation : STRING(20);
stDateTime : TIMESTRUCT;
tTimeout : TIME := t#120m;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bStart | BOOL | Über eine positive Flanke an diesem Eingang wird der Funktionsbaustein aktiviert. |
bStop | BOOL | Ist ein Dauertest erfolgreich gestartet worden, so wird intern der Emergency-Mode und der Emergency-Status zyklisch abgefragt, um zu beurteilen, wann der Test beendet ist und ob Fehler während des Tests auftreten. Eine positive Flanke am bStop-Eingang bricht den Dauertest in genau dieser Phase ab und gibt eine entsprechende Meldung in der Log-Datei. Dies ist dann sinnvoll, wenn lediglich beurteilt werden soll, ob die Notbeleuchtung eine bestimmte Zeit lang (bis zum Zeitpunkt des Stoppens) läuft. |
nAddr | BYTE | Adresse des zu testenden Gerätes |
sController | STRING | Controller-Zugehörigkeit des DALI-Gerätes. Dient zur Beschreibung in der Log-Datei. |
sLineName | STRING | Linien-Zugehörigkeit des DALI-Gerätes. Dient zur Beschreibung in der Log-Datei. |
sDescription | STRING | Weitere ergänzende Beschreibung des Gerätes in der Log-Datei |
sLocation | STRING | Beschreibung des Einbauortes |
stDateTime | TIMESTRUCT | Eingang für aktuelles Datum und Zeit |
tTimeout | TIME | Zeit, in der der Test abgeschlossen sein muss. |
Ein-/Ausgänge
VAR_IN_OUT
stCommandBuffer : ST_DALIV2CommandBuffer;
fbStringRingBuffer : FB_MemRingBuffer;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
stCommandBuffer | ST_DALIV2CommandBuffer | Verweis auf die interne Struktur zur Kommunikation mit FB_KL6811Communication (KL6811) oder FB_KL6821Communication (KL6821). |
fbStringRingBuffer | FB_MemRingBuffer | Verweis auf den FIFO-Buffer, in denen die Log-Einträge abgelegt werden. |
![]() | Während eine Datei geöffnet ist, ist es dem Log-Funktionsbaustein nicht möglich, Daten in diese Datei zu schreiben. |
Ausgänge
VAR_INPUT
tElapsedTestTime : TIME;
nEmergencyMode : BYTE;
nEmergencyStatus : BYTE;
bBusy : BOOL;
bError : BOOL;
nErrorId : UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
tElapsedTestTime | TIME | Testdauer. Bei steigender Flanke an bStart wird die Zeitausgabe auf 0 gesetzt und läuft dann so lange hoch, wie der Funktionsbaustein aktiv ist. Mit einer fallenden Flanke an bBusy behält der Ausgang seinen derzeitigen Wert, sodass die Testdauer auch nach Abarbeitung des Funktionsbausteins noch zur Verfügung steht. |
nEmergencyMode | BYTE | Während des Tests wird an diesem Ausgang der derzeit intern abgefragte Emergency-Mode des DALI-Gerätes ausgegeben. |
nEmergencyStatus | BYTE | dto. für Emergency-Status |
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 des Tests ein Fehler, wie oben beschrieben, aufgetreten ist. Durch das erneute Ausführen eines Tests wird dieser Ausgang 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). |
Voraussetzungen
Entwicklungsumgebung | Einzubindende SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4020.14 | Tc2_DALI ab v3.4.3.0 |