FB_BACnet_GetDiagInfo
Funktionsbaustein für den Zugriff auf die BACnet Diagnose über ADS. Der ADS Zugriff erfolgt, im Gegensatz zu Read-/Write-Property, auf den BACnet Adapter. Der BACnet Adapter wird durch die globalen Variablen der PLC Library instanziiert und ist mit den BACnet Adapter Prozessdaten im TwinCAT System Manager verknüpft. Diagnose Daten eines entfernten BACnet Server (remote) können über dessen remote AMS NetID abgefragt werden.
Anwendung
Die Bausteininstanz wird im SPS Programm angelegt und zyklisch aufgerufen. Der Eingang sNetId muss mit der entsprechenden AMS NetID des BACnet Adapters belegt werden. Die AMS NetID kann über die globale BACnet Adapter Instanz abgefragt werden.
Die AMS NetID entspricht nicht der lokalen AMS NetID und muss immer angegeben werden - keine Verwendung von Leerstrings möglich! |
Die aktuelle AMS NetID wird vom zugehörigen FB_BACnet_Adapter ausgegeben:
Zudem kann die AMS NetId im TwinCAT System Manager angezeigt werden (siehe Bild-2). Der AMS Port des BACnet Adapters ist 0xFFFF (65535).
VAR_INPUT
sNetId : T_AmsNetId;
bExecute : BOOL;
tTimeout : TIME:=BACnet_ADSTimeOut;
sNetId: AMS NetId des BACnet Adapter.
bExecute: Steigende Flanke am Eingang startet den Lesevorgang.
tTimeout: Optionaler Eingang, Überwachungszeit für den ADS Zugriff (Default: siehe BACnet_ADSTimeOut).
VAR_OUPUT
bBusy : BOOL;
bError : BOOL;
nErrID : UDINT;
stInfo : ST_BACnet_Diagnosis;
bBusy: Der Baustein ist beschäftigt.
bError: Fehler während der Abarbeitung.
nErrID: ADS Fehlercode.
stInfo: Struktur mit Diagnose-Informationen zu BACnet.
Beispiel
Die Instanz fbBACnet_Adapter ist eine globale Variable der PLC Library vom Typ FB_BACnet_Adapter und sollte nicht mehrfach instanziiert werden. |