FB_BACnet_Adapter
Funktionsbaustein für die Anbindung des PLC Programms an einen lokalen BACnet-Adapter (Netzwerkkarte). Die Verknüpfung des Funktionsbausteins erfolgt mit Hilfe von Prozessdaten.
Die Prozessdaten können manuell oder mittels PLC-Automapping automatisch verknüpft werden. Die für das PLC-Automapping nötigen Kommentare ( (* ~ (BACnet... | ??? | ??? ) *) ) sind bereits in der Deklaration des Funktionsbausteins enthalten.
Achtung:
Dieser Baustein darf nicht im PLC Programm instanziiert werden! Eine Instanz des Bausteins ist bereits in den globalen Daten der PLC Library enthalten (fbBACnet_Adapter) und wird dort automatisch vom PLC Automapping erfasst. Die Instanziierung im PLC Programm ist nur bei Verwendung mehrer BACnet-Adapter in einem PLC Programm nötig!
Anwendung
Mit Hilfe des Funktionsbausteins FB_BACnet_Adapter wird der Zustand des lokalen BACnet Adapters gelesen (Prozessdatum Device Status) und im PLC Programm ausgegeben. Zudem wird mit Hilfe des Prozessdatums AmsNetId die AMS-NetID des BACnet-Adapters gelesen und an sAmsNetId ausgegeben.
Wie bereits oben beschrieben, wird eine Instanz des Bausteins FB_BACnet_Adapter bereits durch die PLC Library als globale Instanz bereitgestellt und darf daher nicht explizit angelegt werden. Die globale Instanz durch das PLC-Automapping erkannt und automatisch mit dem entsprechenden BACnet-Adapter im System Manager verknüpft.
Die Bausteininstanz wird von den BACnet Funktionsbausteinen FB_BACnet_Device und FB_BACnet_RemoteDevice benötigt. Im Folgenden ist die Hierarchie zwischen FB_BACnet_Adapter, FB_BACnet_Device und einem BACnet Objekt vom Typ AnalogValue dargestellt:
|
Tipp:
Die Instanz des Bausteins FB_BACnet_Adapter muss nicht im PLC Programm aufgerufen werden. Der Aufruf des Adapter wird bei Bedarf automatisch von den Bausteinen FB_BACnet_Device bzw. FB_BACnet_RemoteDevice vorgenommen.
VAR_OUPUT
eAdapterStatus : E_BACNETADAPTERSTATUS;
bEthLinkOk : BOOL;
bGatewayOk : BOOL;
sAmsNetId : T_AmsNetId;
bFirstCycle : BOOL;
bError : BOOL;
nErrorId : UINT;
eAdapterStatus: Aktueller Status des BACnet-Adapters; siehe: E_BACNETADAPTERSTATUS.
bEthLinkOk: Die lokale Ethernet-Verbindung ist aktiv (Kabel gesteckt, Adapter verbunden), wenn der Ausgang auf TRUE gesetzt ist.
bGatewayOk: Das konfigurierte Gateway ist erreichbar, wenn der Ausgang auf TRUE gesetzt ist.
sAmsNetId: Ausgabe der AMS-NetID des lokalen BACnet-Adapters (kann für den asynchronen Zugriff via ADS auf BACnet-Objekte verwendet werden).
bFirstCycle: Wird mit dem ersten Aufruf der Bausteininstanz nach SPS-Reset bzw. -Neustart für einen Zyklus gesetzt.
bError: Ein Fehler steht an.
nErrorId: Fehlercode, siehe BACnet_Globals für eine Übersicht.
Bei fehlender Netzwerkverbindung (bEthLinkOk = FALSE) bzw. nicht erreichbarem Gateway (bGatewayOk = FALSE), werden sämtliche Remote-Objekte (BACnet Objekte unter einem Clients) gesperrt. Objekte des lokale BACnet Servers sind davon nicht betroffen. |