FB_DALIVirtualCommunication

FB_DALIVirtualCommunication 1:

Die einzelnen DALI-Befehle werden vor der Weiterverarbeitung in einem Befehlspuffer innerhalb der Tc3_DALI-Bibliothek zwischengespeichert. Der Baustein FB_DALIVirtualCommunication liest sequenziell die DALI-Befehle aus diesem Befehlspuffer aus und gibt die DALI-Befehle an die zugehörigen Instanzen von FB_DALIVirtualControlGear weiter.

Pro DALI-Linie, die simuliert werden soll, muss eine Instanz vom Baustein FB_DALIVirtualCommunication angelegt werden. Diese Instanz muss in einer separaten, schnelleren Task aufgerufen werden. Diese schnellere Kommunikationstask muss auch eine höhere Priorität haben, als die Task in der die Bausteine für die einzelnen DALI-Befehle aufgerufen werden.

Über die Ausgänge des Bausteins kann die Auslastung des Befehlspuffers ermittelt werden. Sollten Sie feststellen, dass der Befehlspuffer regelmäßig überläuft, so sollten Sie folgende Maßnahmen in Betracht ziehen:

FB_DALIVirtualCommunication 2: Eingänge

VAR_INPUT
  bResetMaximumDemandCounter     : BOOL;
  bResetOverflowCounter          : BOOL;
  nOptions                       : DWORD := 0;
END_VAR

Name

Typ

Beschreibung

bResetMaximumDemandCounter

BOOL

Eine positive Flanke setzt den gespeicherten Wert für die maximale Auslastung des Befehlspuffers, nBufferMaximumDemandMeter (0…100 %), zurück.

ResetOverflowCounter

BOOL

Eine positive Flanke setzt den gespeicherten Wert für die Anzahl der Überläufe des Befehlspuffers, nBufferOverflowCounter, zurück.

nOptions

DWORD

Reserviert für zukünftige Erweiterungen.

FB_DALIVirtualCommunication 3: Ausgänge

VAR_OUTPUT
  bError                       : BOOL;
  ipResultMessage              : I_TcMessage;
  bBusy                        : BOOL;
  nBufferDemandMeter           : BYTE;
  nBufferMaximumDemandMeter    : BYTE;
  nBufferOverflowCounter       : UINT;
END_VAR

Name

Typ

Beschreibung

bError

BOOL

Der Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung ein Fehler aufgetreten ist. Weitere Informationen zu dem Fehler können über die Variable ipResultMessage abgefragt werden. Der Ausgang wird wieder auf FALSE gesetzt, sobald bBusy auf TRUE geht.

ipResultMessage

I_TcMessage

Interface-Pointer (siehe Fehlerauswertung) mit dem detaillierte Informationen über die Abarbeitung des Bausteins abgefragt werden können (siehe Laufzeitmeldungen). Der Interface-Pointer ist gültig, nachdem bBusy von TRUE auf FALSE gewechselt hat.

bBusy

BOOL

Der Ausgang wird gesetzt, sobald die Ausführung der DALI-Befehle gestartet wurde und bleibt so lange aktiv, bis alle DALI-Befehle abgearbeitet wurden.

nBufferDemandMeter

BYTE

Auslastung des Befehlspuffers (0…100 %).

nBufferMaximumDemandMeter

BYTE

Bisher maximal erreichte Auslastung des Befehlspuffers (0…100 %). Über den Eingang bResetMaximumDemandCounter kann der Zähler wieder zurückgesetzt werden.

nBufferOverflowCounter

UINT

Bisherige Anzahl der Überläufe des Befehlspuffers. Über den Eingang bResetOverflowCounter kann der Zähler wieder zurückgesetzt werden.

Voraussetzungen

Entwicklungsumgebung

Erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4024.29

Tc3_DALI ab v3.11.0.0