FB_BACnet_Loop

Der folgende Funktionsbaustein wird für die Verbindung von einem BACnet-Objekt des lokalen BACnet-Servers verwendet. Die Verknüpfung des Funktionsbausteins zu dem entsprechenden BACnet-Objekt erfolgt mit Hilfe von Prozessdaten.

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.

FB_BACnet_Loop 1:

Verwendung

Mit Hilfe des Funktionsbausteins "FB_BACnet_Loop" wird die Objekt-Funktionalität für den BACnet-Stack zur Verfügung gestellt. Das BACnet-Objekt wurde dazu unter einem lokalen BACnet-Server angelegt. Das BACnet-Objekt auf Seite BACnet-Stack (System Manager) dient als Interface zur BACnet-Welt. Die Regelung und damit Funktionalität des BACnet-Objekts wird durch die SPS-Instanz des Bausteins "FB_BACnet_Loop" bereit gestellt.

Diese Herangehensweise hat den Vorteil, dass damit bereits bestehende, kundenspezifische Regler aus einem SPS-Projekt leicht mit der BACnet-Welt verknüpft werden können. Lediglich die Prozessdaten des BACnet-LOOP-Objekts müssen bereitgestellt und verarbeitet werden.

Der Funktionsbaustein "FB_BACnet_Loop" aus der TcBACnet-Lib enthält einen Standard PID-Regler (FB_BACnet_PidControl) und deckt damit ein breites Spektrum an Regelaufgaben ab.

FB_BACnet_Loop 2:
Bild 1: Beispiel eines BACnet-LOOP-Objekts unterhalb eines lokalen BACnet-Servers.

VAR_INPUT

bEnable      : BOOL;

bEnable: Gibt die Regelung frei. FALSE am Eingang setzt den Zustand des BACnet-Objekts auf Out_Of_Service (siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Loop und Property Out_Of_Service).

VAR_OUTPUT

bReady           : BOOL;
fSetPoint        : REAL;
fControlledValue : REAL;
fPresentValue    : REAL;
fPropBand        : REAL;
bOverridden      : BOOL;
bOutOfService    : BOOL;
bFault           : BOOL;
bInAlarm         : BOOL;
bOpenLoop        : BOOL;
bOtherFault      : 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_Device" nicht "Operational" oder die Baustein-Instanz wurde im System Manager nicht richtig verknüpft.

fSetPoint: Rückmeldung der Regelvorgabe (W, Sollwert).

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.

bOpenLoop, bOtherFault: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Loop und Property Reliability.

bError: Ein Fehler steht an.

nErrorId: Fehlernummer
0 = kein Fehler
2 = fehlerhaftes Prozessdatenmapping erkannt (Mapping im System Manager prüfen; evtl. SPS-Projekt komplett übersetzen und erneut laden)
3 = der zugehörige BACnet-Server ist nicht bereit (bOperational = FALSE an Instanz des FB_BACnet_Device)
Die Fehlernummern können als Baustein-Konstanten über die FB-Instanz abgefragt werden (FB_BACnet_???.nERR_xxx).

VAR_IN_OUT

Device       : FB_BACnet_Device;

Device: Angabe der Instanz des lokalen, zugehörigen BACnet-Server Bausteins. Pro BACnet-Adapter ist ein BACnet-Server möglich. Siehe FB_BACnet_Adapter und FB_BACnet_Device 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.