FB_BACnet_RecipientListProperty

FB_BACnet_RecipientListProperty 1:

 

Anwendung

Mit Hilfe des Bausteins kann die Property Recipient_List eines beliebigen BACnet Objekts (typischerweise BACnet Notification Class Objekt) ausgelesen werden. Der Eingang tObjectID legt dabei das Objekt fest (Object_Identifier: Objekt Typ und Objekt Instanz), auf das zugegriffen werden soll. Unter Beispiel wird eine mögliche Beschaltung gezeigt.

Die zu lesenden bzw. zu schreibenden Daten werden in derselben Ein-/Ausgangsdatenstruktur abgelegt (siehe auch ST_BACnet_RecipientListDevice).

Die Bausteininstanz wird im SPS Programm angelegt und zyklisch aufgerufen. Der Ein-/Ausgang stAdsConn muss mit dem Ausgang stAdsConn des entsprechenden Device-Bausteins (FB_BACnet_Device bzw. FB_BACnet_RemoteDevice) verbunden werden.

FB_BACnet_RecipientListProperty 2:

Für die Pufferung der ADS Daten wird der ADS Puffer aus den globalen Variablen verwendet (siehe ST_BACnet_GlobalAdsBuffer).

VAR_INPUT

tObjectID     : T_BACnet_ObjectIdentifier:=16#FFFFFFFF;
bAutoGet      : BOOL:=TRUE;
bGet          : BOOL;
bSet          : BOOL;

 

tObjectID: Legt das Objekt fest (Object_Identifier: Objekt Type und Objekt Instanz) auf das zugegriffen werden soll.

bAutoGet: TRUE = Lese die Property automatisch aus, wenn die ADS Verbindung oder der Object_Identifier sich geändert haben. Eine ADS Verbindungsänderung liegt vor, wenn die Verbindung nach einem Unterbruch wiederhergestellt oder die AMS NetID bzw. Port geändert wurde. Ein automatisches Auslesen geschieht nicht zyklisch und auch nicht bei Änderung der Property selbst!

bGet: FALSETRUE = Property wird unabhängig vom Eingang bAutoGet einmalig ausgelesen.

bSet: FALSE --> TRUE = Property wird geschrieben.

 

VAR_OUPUT

bDone         : BOOL;
bBusy         : BOOL;
bError        : BOOL;
nErrorId      : UINT;

 

bDone: Lesen bzw. Schreiben der Daten erfolgreich beendet. bDone bleibt so lange gesetzt bis bGet, bSet und bAutoGet zurückgesetzt sind oder ein erneuter Lese- bzw. Schreibvorgang beginnt. Wurde bGet, bSet und bAutoGet zurückgesetzt 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;
stRecipients  : ST_BACnet_RecipientListDevice;

 

stAdsConn: Verknüpfung mit dem Ausgang stAdsConn des entsprechenden Device-Bausteins.

stRecipients: Ein-/Ausgangsdatenstruktur für die Einträge der Property Recipient_List. Im Folgenden wird ein Eintrag in der PLC und im TwinCAT System Manager gegenübergestellt (siehe Beispiel).

Beispiel 1: Gegenüberstellung PLC und System Manager

FB_BACnet_RecipientListProperty 3:
Bild-1: Beispiel eines Property Eintrag in der PLC
FB_BACnet_RecipientListProperty 4:
Bild-2: Beispiel eines Property Eintrag im TwinCAT System Manager

Beispiel 2: Bausteinaufruf

FB_BACnet_RecipientListProperty 5:
Bild-3: Beispiel für die Verwendung. Lesen und Schreiben der Property Recipient_List eines BACnet Notification Class Objekts.