FB_BACnet_RemoteLoop
Der folgende Funktionsbaustein wird für die Verbindung von einem entfernten BACnet-Objekt eines lokalen BACnet-Clients verwendet. Die Verknüpfung des Funktionsbausteins zu dem entsprechenden BACnet-Objekt erfolgt mit Hilfe von Prozessdaten. Der Datenaustausch mit dem entfernten BACnet-Server erfolgt via BACnet mit Hilfe von WOC (Write-On-Change) und COV (Change-On-Value) oder via Polling (nicht empfohlen).
Die Prozessdaten können manuell in dem BACnet-Objekt erstellt und von Hand verknüpft werden oder mittels PLC-Automapping automatisch erzeugt werden. Die für das PLC-Automapping nötigen Kommentare ( (* ~ (BACnet... | ??? | ??? ) *) ) sind bereits in der Deklaration des Funktionsbausteins enthalten.
Verwendung
Mit Hilfe des Funktionsbausteins "FB_BACnet_RemoteLoop" kann lesend auf ein entferntes BACnet-Objekt vom Typ Loop (LOOP) zugegriffen werden. Das entfernte BACnet-Objekt wurde dazu unter einem lokalen BACnet-Client hinzugefügt.
VAR_OUTPUT
Variablen sind nur in der erweiterten Version des Bausteins enthalten. Die sogenannten extended Versionen der Bausteine enden mit "_EX". Diese bieten wesentlich mehr Prozessdaten, was jedoch in Projekten mit sehr vielen Objekten zu Leistungseinbußen führen kann. |
bReady : BOOL;
fControlledValue : REAL;
fPresentValue : REAL;
bOverridden : BOOL;
bOutOfService : BOOL;
bFault : BOOL;
bInAlarm : BOOL;
bError : BOOL;
nErrorId : UINT;
bReady: Meldung der allgemeinen Bereitschaft. Ist dieser Ausgang gesetzt, so sind die übrigen Status-Ausgänge gültig (PresentValue, Overridden ...). Ist der Ausgang FALSE, dann meldet der zugehörige Funktionsbaustein "FB_BACnet_RemoteDevice" nicht "Operational", die Baustein-Instanz wurde im System Manager nicht richtig verknüpft oder der entfernte Server ist nicht erreichbar (Gateway nicht erreichbar, kein Ethernet-Link).
fControlledValue: Rückmeldung der aktuellen Prozessgröße (X, Istwert).
fPresentValue: Rückmeldung der aktuellen Regelausgabe (Y, Stellwert). Achtung: Present_Value und Controlled_Variable_Value können schnell zu Verwechslungen führen (siehe auch BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Loop und Properties Present_Value, Controlled_Variable_Value und Controlled_Variable_Reference)!
fPropBand: Rückmeldung der aktuellen Regelausgabe in Prozent (-100%...+100%) in Relation zur minimalen und maximalen Regelausgabe (Properties Minimum_Output und Maximum_Output).
bOverridden, bOutOfService, bFault, bInAlarm: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Loop und Property Status_Flags.
bError: Ein Fehler steht an.
nErrorId: Fehlernummer
0 = kein Fehler
1 = Funktionsbaustein des zugehörigen Clients (RemoteDevice) wird gar nicht oder zu unregelmäßig im SPS-Programm aufgerufen.
2 = fehlerhaftes Prozessdatenmapping erkannt (Mapping im System Manager prüfen; evtl. SPS-Projekt komplett übersetzen und erneut laden)
3 = der zugehörige BACnet-Client ist nicht bereit (bOperational = FALSE an Instanz des FB_BACnet_RemoteDevice)
Die Fehlernummern können als Baustein-Konstanten über die FB-Instanz abgefragt werden (FB_BACnet_Remote???.nERR_xxx).
VAR_IN_OUT
RemoteDevice : FB_BACnet_RemoteDevice;
RemoteDevice: Angabe der Baustein-Instanz des zugehörigen entfernten BACnet-Device Objekts (remote). Das entfernte BACnet-Device Objekt eines entfernten BACnet-Servers ist unter einem lokalen BACnet-Client hinzugefügt. Lokaler Client und entfernter Server sind via BACnet verbunden. Pro BACnet-Adapter sind beliebig viele Clients möglich. Siehe FB_BACnet_Adapter und FB_BACnet_RemoteDevice für weitere Informationen.
Konfiguration des Reglers
Die Konfiguration des Reglers erfolgt mit Hilfe der BACnet-Properties: Action, Proportional_Constant (P-Faktor), Integral_Constant (I-Faktor), Derivative_Constant (D-Faktor), Bias (Ausgabe-Offset), Maximum_Output (Maximale Regelausgabe) und Minimum_Output (Minimale Regelausgabe). Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Loop.