FB_BACnet_Device

FB_BACnet_Device 1:

Anwendung

Funktionsbaustein für die Anbindung des PLC Programmes an ein lokales BACnet Device Objekt (Server). Die Verknüpfung des Funktionsbausteins erfolgt mit Hilfe von Prozessdaten und ADS (AMS Port evaluieren, Objekt Liste lesen, ermitteln der Stack Revision und Backup).

FB_BACnet_Device 2:

Grundsätzlich ist der Funktionsbaustein abwärtskompatibel (Revision 6). Die verwendete BACnet Revision kann am Ausgang nRevision abgelesen werden.
Bei Verwendung von Revision 6 gibt es jedoch Einschränkungen bei einigen ADS Diensten des BACnet Stacks; z.B. Der AMS Port des BACnet Device (Server und Client) kann erst ab Revision 12 automatisch ermittelt werden. Der im TwinCAT System Manager ersichtliche AMS Port (Ads Port) muss daher, bei Verwendung von Revision 6, am Eingang nAmsPort übergeben werden (siehe Bild-1)!

FB_BACnet_Device 3:
Bild-1: AMS Port des BACnet Device im TwinCAT System Manager

VAR_INPUT

FB_BACnet_Device 4:

Eingänge sind optional und müssen bei Verwendung von Revision 12 oder höher nicht belegt werden.

bReset          : BOOL;
bSupportBackup  : BOOL;
bWritePersis    : BOOL;
bDisableWOC     : BOOL;
bReload         : BOOL;
nAmsPort        : T_AmsPort:=1000;  (*siehe Info*)

bReset: Zurücksetzen des Fehlerzustands bei Signalwechsel FALSETRUE.

bSupportBackup: Bei Setzen des Eingangs auf TRUE, wird das Sichern der persistenten Daten der PLC Laufzeit über BACnet unterstützt. Ist dieser Modus aktiviert, müssen die persistenten Dateien der SPS (standardmäßig unter: "C:\TwinCAT\Boot\") als BACnet-File Objekte angelegt und mit dem Wert "TwinCAT Configuration File" der Property File_Type versehen werden (damit sorgt der BACnet Stack für die Sicherung und Übertragung der Dateien an das backupende Remotesystem).
Bei Verwendung des BACnet-seitigen Backups der persistenten PLC Daten, muss keine weitere Instanz des Bausteins FB_WritePersistentData in der PLC Laufzeit verwendet werden (FB_WritePersistentData wird von FB_BACnet_Device ausgeführt) - Der Eingang bWritePersis löst das Schreiben der persistenten Daten unabhängig vom BACnet Backup aus.

bWritePersis: Signalswechsel FALSETRUE löst das Schreiben der persistenten PLC Daten unabhängig von BACnet Backup aus. Baustein-intern wird der Aufruf von FB_WritePersistentData ausgelöst.

bDisableWOC: Zustand TRUE am Eingang deaktiviert das Schreiben von Prozessdaten an die BACnet Objekte des entsprechenden BACnet Device. Damit werden sämtliche Property-Schreibzugriffe gesperrt.

bReload: Die ADS Verbindung wird erneuert. Nachfolgenden Bausteine, die die ADS-Verbindung nutzen, werden ebenfalls getriggert.

nAmsPort: Nur bei Verwendung von Revision 6, sonst nicht verwenden: AMS Port des lokalen BACnet Server. Im Standardfall ist dieser 1000 (vorausgesetzt der BACnet-Server ist das erste Element unterhalt des BACnet-Adapters im TwinCAT System Manager). Die Portnummer kann im System Manager abgelesen werden (siehe Bild-1).

VAR_OUPUT

nRevision           : DINT:=-1;
stAdsConn           : ST_BACnet_AdsConnection;
eSystemStatus       : E_BACNETDEVICESTATUS;
bBackupActive       : BOOL;
bWritePersisActive  : BOOL;
bOperational        : BOOL;
bWOCDisabled        : BOOL;
bFirstCycle         : BOOL;
dtLocalTime         : ST_BACnet_DateTime;
bError              : BOOL;
nErrorId            : UINT;

nRevision: Ausgabe der verwendeten BACnet Revisionsnummer.

stAdsConn: Struktur mit den ADS Verbindungsdaten (ab Revision 12 wird der enthaltene AMS Port automatisch ermittelt).

eSystemStatus: Status des BACnet Server Objekts (siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet Device Objekt und Property System_Status).

bBackupActive: Rückmeldung dass ein Backup via BACnet ausgeführt wird, wenn der Ausgang auf TRUE gesettzt ist.

bWritePersisActive: Das Schreiben der persistenten PLC Daten wird ausgeführt. Das Schreiben der persistenten PLC Daten kann durch BACnet Backup oder durch Setzen des Eingangs bWritePersis ausgelöst werden.

bOperational: Device-Adapter befindet sich nicht mehr im Status Init. Fällt der Ausgang auf FALSE werden sämtliche verbundene BACnet Objekt-Funktionsbausteine im PLC Programm gesperrt.

bWOCDisabled: Rückmeldung zum Eingang bDisableWOC.

bFirstCycle: Ausgang wird beim erstmaligen Aufruf der Funktionsbausteininstanz auf TRUE gesetzt (PLC Start). Anschließend bleibt der Ausgang auf FALSE.

dtLocalTime: Aktuelle BACnet Zeit (siehe Property Local_Date und Local_Time des BACnet Device Objekts). Für die Synchronisierung der Uhrzeit zwischen Betriebssystem, BACnet Stack und BACnet Netzwerk steht der Funktionsbaustein FB_BACnet_TimeSync zur Verfügung.

bError: Ein Fehler steht an.

nErrorId: siehe globale Konstanten (BACnet_Globals).