Burner3P
Burner3P (FB)
Burner3P (FB)FUNCTION_BLOCK Burner3P
Kurzbeschreibung
Steuerung eines Wärmeerzeugers ( Temperaturregelung über binäre Steuerbefehle Mehr / Weniger ) Typische Anwendung: Wärmeerzeugung
Darstellung

Funktionsbeschreibung
Allgemeines
Dieser Funktionsbaustein dient zur Steuerung / Regelung eines Wärmeerzeugers in Abhängigkeit von der Anforderung des Wärmeerzeugers xEn, der Vorlaufsolltemperatur rSetPtTemp und der Vorlauftemperatur rFdT. Die Freigabe / Sperrung des Wärmeerzeugers erfolgt über den Ausgang xHB ( FALSE = Sperrung, TRUE = Freigabe ). Die Vorlauftemperaturregelung ( analog auch Kesseltemperaturregelung ) erfolgt mittels zweier Leistungsregler ( P-Regler, langsam und schnell ) durch die Ausgänge xMoreHB und xLessHB. Die Freigabe der Regelung erfolgt zeitverzögert ( Sollwert / Parameter udiWaitControl ) nach der Betriebsrückmeldung ( xFb = TRUE ) des Wärmeerzeugers. Es kommen im Wesentlichen folgende Funktionsbausteine zur Anwendung:
ControlP
Out3P
OperatingHours
ManBin
Freigabe / Sperrung des Wärmeerzeugers
Die Freigabe des Wärmeerzeugers ( xAB = TRUE, xHB = TRUE ( eManModeB = eManBin.Auto )) erfolgt, falls die Vorlauftemperatur rFdT die Summe aus Vorlaufsolltemperatur rSetPtTemp und Sollwert / Parameter rSwitchOnPoint unterschreitet, gleichzeitig die generelle Freigabe xEn aktiv ( = TRUE ) und die Mindeststillstandszeit nicht aktiv ist. Die Sperrung des Wärmeerzeugers ( xAB = FALSE, xHB = FALSE ( eManModeB = eManBin.Auto )) erfolgt, falls die Vorlauftemperatur rFdT die Summe aus Vorlaufsolltemperatur rSetPtTemp und Sollwert / Parameter rSwitchOffPoint überschreitet und gleichzeitig die generelle Freigabe xEn aktiv ( = TRUE ) ist. Zwischen zwei aufeinander folgenden Betriebszyklen wird stets eine Mindeststillstandszeit ( Zeitdauer = udiTimeMinOff, Anzeige - Restzeit: tOnDelay ) eingefügt. Die Mindeststillstandszeit beginnt jeweils mit der fallenden Flanke ( TRUE > FALSE ) am Eingang xFb.
Temperaturregelung des Wärmeerzeugers
Die Freigabe der Temperaturregelung erfolgt zeitverzögert ( Zeitdauer = udiWaitControl, Anzeige - Restzeit: tOnControlDelay ) nach der aktiven Betriebsmeldung ( xFb = TRUE ) des Wärmeerzeugers. Die Sperrung der Temperaturregelung erfolgt unmittelbar nach der inaktiven Betriebsmeldung ( xFb = FALSE ) des Wärmeerzeugers ( Ausschaltwert: rYDisabled ). Die beiden internen Leistungsregler ( P-Regler, langsam und schnell, Ausgangsbereich jeweils -100.0 - 100.0 % ) werden gleichzeitig freigegeben / gesperrt. ( Sollwert = Vorlaufsolltemperatur rSetPtTemp, Istwert = Vorlauftemperatur rFdT ). Die Stellsignale beider Leistungsregler werden in Minimalwertauswahl ( Weiterleitung des Signals mit dem geringeren Wert ) dem Ausgangsregler im Bereich -100.0 - 100.0 % zugeführt. Der Ausgangsregler erzeugt abschliessend Ausgangssignale für einen 3-Punkt-Antrieb ( Pulsweitenmodulation, Integrationsintervall = tIntegration ) mit den Ausgängen xMoreHB bzw. xLessHB. Die konstante Impulsdauer für die beiden Ausgänge ist jeweils frei einstellbar ( tImpulsOpen bzw. tImpuls Close ), die variablen Impulspausen werden durch den Ausgangsregler festgelegt. Die beiden Leistungsregler können individuell und abhängig voneinander konfiguriert werden ( P-Regler schnell: Verstärkungsfaktor rKpBig, P-Regler langsam: Verstärkungsfaktor rKpTiny ).
Handübersteuerung der digitalen Ausgänge
Alle digitalen Steuerungsausgänge nach Handübersteuerung ( xHB, xMoreHB*, xLessHB ) können entweder im Automatikmodus ( eMANBIN.Auto ) oder in einer der beiden Handbetriebsarten ( eMANBIN.ManOn, eMANBIN.ManOff ) betrieben werden.
xAB
eMANBIN
xHB
Hinweise
FALSE
eMANBIN.Auto
FALSE
Handübersteuermodul in Automatik
TRUE
eMANBIN.Auto
TRUE
Handübersteuermodul in Automatik
X
eMANBIN.ManOn
TRUE
Handübersteuermodul in Handbetrieb Ein
X
eMANBIN.ManOff
FALSE
Handübersteuermodul in Handbetrieb Aus
Legende: X = beliebig
Sammelstörung xAlarm
Die Sammelstörung xAlarm ist aktiv ( = TRUE ), falls die Störmeldung des Wärmeerzeugers xAlarmIn aktiv ( = TRUE ) ist. In allen übrigen Situationen ist die Sammelstörung xAlarm nicht aktiv ( = FALSE ).
Sammelmeldung Automatikbetrieb xAuto
Die Sammelmeldung Automatikbetrieb xAuto wird aktiviert ( = TRUE ), falls folgende Bedingungen gleichzeitig erfüllt sind:\
Eingang eAOO = HVACTYPES.eManBin.Auto
Eingang eAOOMore = HVACTYPES.eManBin.Auto
Eingang eAOOLess = HVACTYPES.eManBin.Auto
Sollwert / Parameter eManModeB = eMANBIN.Auto
Sollwert / Parameter eManModeBMore = eMANBIN.Auto
Sollwert / Parameter eManModeBLess = eMANBIN.Auto
Betriebsstundenzähler - Wärmeerzeuger
Der Betriebsstundenzähler ( udiOperatingHours, udiCountFb ) für den Wärmeerzeuger ist aktiv, wenn die Betriebsmeldung aktiv ist ( xFb = TRUE ).
Schreibzugriff auf die Zählerstände
Über den Pfad ‘Instanzname._OperatingHours.udiOperatingHours’ bzw. ‘Instanzname._OperatingHours.udiCountFb’ ist ein Schreibzugriff auf die beide Zählerstände möglich.\
Voraussetzung für den Einsatz des Funktionsbausteins Burner3P
Zur korrekten Funktion ist der Einsatz des Funktionsbausteins TimeRead2 erforderlich.
Aktuelle berechnete Leistung des Wärmeerzeugers rPos
Die aktuelle berechnete Leistung des Wärmeerzeugers wird am Ausgang rPos im Bereich 0.0 - 100.0 % dargestellt. Hierzu ist die korrekte Angabe der Laufzeit des Antriebs zwischen minimaler und maximaler Leistung ( tDuration ) erforderlich. Es findet keine Neupositionierung an einer Referenzposition statt.
Rückführung der Leistung des Wärmeerzeugers rU
Die aktuelle tatsächliche Leistung des Wärmeerzeugers kann am Eingang rU angeschlossen werden. Dieser Eingang wird aktuell nicht für Steuerungs- und Regelungszwecke verwandt.
Nicht aktiver Zustand ( xEn = FALSE )
xHB
xAB
xMoreHB
xMoreAB
xLessHB
xLessAB
rPos
tOnDelay
tOnControlDelay
dtLastFb
udiOperatingHours
udiCountFb
xAlarm
xAuto
Hinweise
FALSE ( eManModeB = eManBin.Auto )
FALSE
FALSE ( eManModeBMore = eManBin.Auto )
FALSE
FALSE ( eManModeBLess = eManBin.Auto )
FALSE
0.0 %
alter Wert
alter Wert
alter Wert
alter Wert
alter Wert
Zustand von xAlarmIn
alter Wert
xEn = FALSE
Legende: X = beliebig
CODESYS
InOut:
Input
xEn
BOOL
Input
rSetPtTemp
REAL
Input
xFb
BOOL
Input
rU
REAL
0
Input
xAlarmIn
BOOL
Input
eAOO
eManBin
eManBin.Auto
Input
eAOOMore
eManBin
eManBin.Auto
Input
eAOOLess
eManBin
eManBin.Auto
Input
rFdT
REAL
Output
xHB
BOOL
Output
xAB
BOOL
Output
xMoreHB
BOOL
Output
xMoreAB
BOOL
Output
xLessHB
BOOL
Output
xLessAB
BOOL
Output
rPos
REAL
Output
tOnDelay
TIME
Output
tOnControlDelay
TIME
Output
dtLastFb
DT
Output
udiOperatingHours
UDINT
Output
udiCountFb
UDINT
Output
xAlarm
BOOL
Output
xAuto
BOOL
Input Const
udiTimeTOFxFb
UDINT
7
Input Const
tDuration
TIME
TIME#1m0s0ms
Input Const
tIntegration
TIME
TIME#100ms
Input Const
tImpulsClose
TIME
TIME#1s0ms
Input Const
tImpulsOpen
TIME
TIME#1s0ms
Input Const
rKpTiny
REAL
0.6
Input Const
rKpBig
REAL
4
Input Const
rOffset
REAL
0
Input Const
rYDisabled
REAL
0
Input Const
udiWaitControl
UDINT
3
Input Const
rSwitchOffPoint
REAL
2.5
Input Const
rSwitchOnPoint
REAL
-2.5
Input Const
udiTimeMinOff
UDINT
3
Input Const
eManModeBLess
eMANBIN
eMANBIN.Auto
Input Const
eManModeBMore
eMANBIN
eMANBIN.Auto
Input Const
eManModeB
eMANBIN
eMANBIN.Auto
Zuletzt aktualisiert

