FB_BACnet_NSinkRemoveEvent
Anwendung
Mit Hilfe des Bausteins kann ein beliebiger Eintrag aus der BACnet Notification Sink gelöscht werden. Unter Beispiel wird eine mögliche Beschaltung gezeigt.
Am Eingang nIndex wird der zu löschende Eintrag selektiert. Die Nummerierung entspricht der Reihenfolge im Puffer der Notification Sink. Bei rotierendem Puffer beginnt die Nummierung eintreffender Events bei 0, im Falle des Pufferüberlaufs.
Die Bausteininstanz wird im SPS Programm angelegt und zyklisch aufgerufen. Der Ein-/Ausgang stAdsConn muss mit dem Ausgang stBACnetAds des entsprechenden NotificationSink-Bausteins (FB_BACnet_NotificationSink) verbunden werden.
VAR_INPUT
bRemove : BOOL;
nIndex : UDINT;
bRemove: FALSE → TRUE = Eventeintrag wird gelöscht.
nIndex: Index des zu löschenden Event-Eintrags (0..n).
VAR_OUPUT
bDone : BOOL;
bNoEntry : BOOL;
bBusy : BOOL;
bError : BOOL;
nErrorId : UINT;
bDone: Lesen der Daten erfolgreich beendet. bDone bleibt so lange gesetzt bis bRemove zurückgesetzt wird. Wurde bRemove zurückgesetzt bevor bDone aktiv ist, dann wird bDone für einen Zyklus gesetzt.
bNoEntry: Kein Eintrag zum Löschen vorhanden - Eventeintrag unter nIndex ist leer. bNoEntry bleibt so lange gesetzt bis ein erneutes Löschen beginnt. Der Ausgang dient dazu das Ende der Event-Liste zu erkennen.
bBusy: Der Baustein ist beschäftigt.
bError: Fehler während der Abarbeitung.
nErrorId: Fehlercode, siehe BACnet_Globals für eine Übersicht.
VAR_IN_OUT
stAdsConn : ST_BACnet_AdsConnection;
stAdsConn: Verknüpfung mit dem Ausgang stBACnetAds des entsprechenden NotificationSink-Bausteins.
Beispiel: Bausteinaufruf
Der AMS Port ist abhängig von der TwinCAT System Manager Konfiguration des entsprechenden BACnet Device (siehe FB_BACnet_NotificationSink). |