FB_BACnet_Loop_EX
Anwendung
Mit Hilfe des Funktionsbausteins FB_BACnet_Loop_EX kann lesend und schreibend auf ein BACnet-Objekt vom Typ Loop zugegriffen werden. Der Funktionsbaustein enthält einen Standard PID-Regler (FB_BACnet_PidControl) und deckt damit ein breites Spektrum an Regelaufgaben ab.
VAR_INPUT
bAutoTuning : BOOL;
tTuningTimeout : TIME:=T#15m;
eTuningMode : E_BACNETPIDTUNINGMODE:=BACnetPIDTuningMode_PI;
fAccLimit : REAL:=0.0;
bAutoTuning: Startet internes Autotuning.
tTuningTimeout: Maximale Laufzeit des Autotunings in [ms].
eTuningMode: Vorauswahl der zu bestimmenden Regelparameter (P, PI, PD, PID).
fAccLimit: Parameter zur Begrenzung der Stellgrößenbeschleunigung (Rampe) 0 = unbegrenzt oder [1/s] (positiv und negativ).
VAR_OUPUT
bReady : BOOL;
bTuningActive : BOOL;
bTuningWaitPV : BOOL;
bTuningWaitCV : BOOL;
bTuningDone : BOOL;
bTuningAborted : BOOL;
fSetPoint : REAL;
fControlledValue : REAL;
fPresentValue : REAL;
fPropBand : REAL;
bOverridden : BOOL;
bOutOfService : BOOL;
bFault : BOOL;
bInAlarm : BOOL;
bOpenLoop : BOOL;
bCommFailure : BOOL;
bOtherFault : BOOL;
eEventState : E_BACNETEVENTSTATE;
bAckedTrans_ToOffNormal : BOOL;
bAckedTrans_ToFault : BOOL;
bAckedTrans_ToNormal : BOOL;
tObjectID : T_BACnet_ObjectIdentifier:=16#FFFFFFFF;
bError : BOOL;
nErrorId : UINT;;
eMode : E_BACNETLOOPMODE;
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 TwinCAT System Manager nicht richtig verknüpft.
bTuningActive: Autotuning ist aktiv.
bTuningWaitPV: Autotuning erwartet das Erreichen des vorgegebenen Sollwertsprungs.
bTuningWaitCV: Autotuning erwartet das Erreichen der Istwertantwort.
bTuningAborted: Autotuning wurde abgebrochen (siehe nErrorId).
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, bCommFailure, bOtherFault: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Loop und Property Reliability.
eEventState: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Loop und Property Event_State.
bAckedTrans_ToOffNormal, bAckedTrans_ToFault, bAckedTrans_ToNormal: Flags der Property Acked_Transitions siehe auch BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Loop und Property Acked_Transitions.
tObjectID: Objekt ID des BACnet Objekts Objekt Type und Objekt Instanz.
bError: Ein Fehler steht an.
nErrorId: siehe globale Konstanten BACnet_Globals.
eMode: Ausgabe der Reglerbetriebsart. Unterschieden wird in 2 Modi: 1. Standardform und 2. Idealform (siehe E_BACNETLOOPMODE). Erkannt wird die Betriebsart automatisch anhand der eingestellten Parametereinheit für den Parameter I und/oder D als "Time_seconds" → Standardform. Sind diese jedoch als Faktoren "Other_no_units " konfiguriert, wird die Betriebsart "Idealform" erkannt. Bei der Idealform handelt es sich um eine reine Parallelschaltung der 3 Regelgrößen (P, I und D). Die Idealform ermöglicht eine praxisnahe Konfiguration des Reglers, da die Parameter ohne direkte Abhängigkeit optimiert werden können. So kann aus dem Streckenverhalten, direkt auf Regelparameter geschlossen werden.
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.
Bestimmung der Regelparameter im Modus Idealform, am Beispiel einer Temperaturregelung:
- Bestimmung des P-Faktors; Annahme: Bei einer Temperaturdifferenz von 2 Kelvin soll die Heizleistung 10% betragen → Kp = 5 = 10% / 2K;
- Bestimmung des I-Faktors; Annahme: Bei einer bleibenden Temperaturdifferenz von 1 Kelvin soll die Heizleistung pro Minute um 1% steigen bzw. abnehmen → Ki = 0.17 = 1% / (60s * 1K).
In der Regel wird jedoch die Standardform eingesetzt. Für die Bestimmung der Regelparameter in Standardform, wird üblicherweise im ersten Schritt die Sprungantwort der Strecke und für die Optimierung im zweiten Schritt das Regelverhalten selbst ausgewertet.