FB_BACnet_LogBufferProperty
Anwendung
Mit Hilfe des Bausteins kann die Property Log_Buffer eines beliebigen BACnet Objekts (typischerweise BACnet TrendLog Objekt) ausgelesen werden. Der Eingang tObjectID legt dabei das Objekt fest (Object_Identifier: Objekt Type und Objekt Instanz), auf das zugegriffen werden soll. Unter Beispiel wird eine mögliche Beschaltung gezeigt.
DDie zu lesenden Daten werden in der Ausgangsdatenstruktur stLogBuffer abgelegt (siehe auch ST_BACnet_LogBufferReal).
Als Datentype für Einträge der Property Log_Buffer wird seitens PLC Baustein lediglich Real unterstützt! Einträge mit anderen Datentypen werden ignoriert.
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.
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;
stStartTime : ST_BACnet_DateTime := (
stDate := (nYear := 16#FF,
nMonth := 16#FF,
nDay := 16#FF),
stTime := (nHour := 16#FF,
nMinute := 16#FF,
nSecond := 16#FF,
nHundredths := 16#FF));
stEndTime : ST_BACnet_DateTime := (
stDate := (nYear := 16#FF,
nMonth := 16#FF,
nDay := 16#FF),
stTime := (nHour := 16#FF,
nMinute := 16#FF,
nSecond := 16#FF,
nHundredths := 16#FF));
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 Verbingsänderung liegt vor, wenn die Verbingung nach einem Unterbruch wiederhergestellt oder die AMS NetID bzw. Port geändert wurde. Ein automatische Auslesen geschieht nicht zyklisch und auch nicht bei Änderung der Property selbst!
bGet: FALSE → TRUE = Property wird unabhängig vom Eingang bAutoGet einmalig ausgelesen.
stStartTime, :stEndTime Nur Einträge aus dem Log_Buffer mit Zeitstempel innerhalb von Start- und Endzeitpunkt werden ausgegeben. Standardmäßig ist der Filter deaktivert (Platzhalter 255 → undefiniert).
VAR_OUPUT
bDone : BOOL;
bBusy : BOOL;
bError : BOOL;
nErrorId : UINT;
stLogBuffer : ST_BACnet_LogBufferReal;
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.
stLogBuffer: Ausgangsdatenstrukur für die Einträge der Property Log_Buffer mit Datentyp Real. Im Folgenden werden zwei Einträge in der PLC und im TwinCAT System Manager gegenübergestellt (siehe Beispiel).
VAR_IN_OUT
stAdsConn : ST_BACnet_AdsConnection;
stAdsConn: Verknüpfung mit dem Ausgang stAdsConn des entsprechenden Device-Bausteins.