FB_BACnet_NSinkAcknEvent
Anwendung
Mit Hilfe des Bausteins kann ein Event aus der BACnet Notification Sink quittiert werden. Unter Beispiel wird eine mögliche Beschaltung gezeigt.
Am Eingang stAcknEvent wird das zu quittierende Event übergeben. Events der BACnet Notification Sink können mit Hilfe von FB_BACnet_NSinkReadEvent ausgelesen werden. Dabei spielt es keine Rolle, ob das Event zum Zeitpunkt der Quittierung noch in der Notification Sink vorhanden ist oder bereits entfernt bzw. überschrieben wurde.
Bei der Quittierung eines Events wird seitens BACnet anhand der Event-Parameter eine Quittierung ausgelöst. Die Quittierung ist jedoch nur dann erfolgreich, wenn der Event-Zeitstempel der entsprechenden Transition des zu quittierenden Objekts (siehe Bild-4) mit dem Zeitstempel aus den Event-Parameter (siehe Bild-3) übereinstimmt. Die Quittierung wird mit Fehler abgebrochen, sollten die Zeitstempel nicht exakt übereinstimmen (siehe Bild-5).
Über den Eingang sMessage kann eine Nachricht an das Quittier-Event angefügt werden. Der Baustein erwartet ein Windows-1252 codierten String am Eingang. Baustein intern wird daraus ein UTF-8 String codiert (siehe FB_BACnet_StringExtEncode). Tritt bei der Codierung der ein Fehler auf, so wird dies am Ausgang nErrorId signalisiert.
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
bAcknowledge : BOOL;
stAcknEvent : ST_BACnet_NSinkEvent;
sMessage : T_MaxString;
bAcknowledge: Flanke FALSE → TRUE löst das Senden der Quittierung aus.
stAcknEvent: Event-Parameter des zu quittierenden Events. Die Event-Parameter können mit Hilfe des Bausteins FB_BACnet_NSinkReadEvent aus einer BACnet Notification Sink gelesen werden. Das gelesene Event muss zum Zeitpunkt der Quittierung jedoch nicht mehr zwingend in der BACnet Notification Sink gelistet sein. So können Event-Parameter in der PLC gepuffert, angezeigt und zu einem späteren Zeitpunkt quittiert werden.
sMessage: Windows-1252 codierte Nachricht die mit der Quittierung versendet wird.
VAR_OUPUT
bDone : BOOL;
bBusy : BOOL;
bError : BOOL;
nErrorId : UINT;
bDone: Lesen der Daten erfolgreich beendet. bDone bleibt so lange gesetzt bis bAcknowledge zurückgesetzt wird. Wurde bAcknowledge zurück gesetzt bevor bDone aktiv ist, dann wird bDone für einen Zyklus gesetzt.
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
(siehe FB_BACnet_NSinkReadEvent) einer BACnet Notification Sink mit AMS Port 1001.
Der AMS Port ist abhängig von der TwinCAT System Manager Konfiguration des entsprechenden BACnet Device (siehe FB_BACnet_NotificationSink). |