Burner2Stage
Burner2Stage (FB)
Burner2Stage (FB)FUNCTION_BLOCK Burner2Stage
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 zweitverzö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
xFb1
BOOL
Input
xFb2
BOOL
Input
xAlarmIn
BOOL
Input
eAOO1
eManBin
eManBin.Auto
Input
eAOO2
eManBin
eManBin.Auto
Input
rFdT
REAL
Output
xHB1
BOOL
Output
xAB1
BOOL
Output
xHB2
BOOL
Output
xAB2
BOOL
Output
tOnDelay
TIME
Output
tOn2Delay
TIME
Output
dtLastFb
DT
Output
udiOperatingHours
UDINT
Output
udiCountFb
UDINT
Output
dtLastFb2
DT
Output
udiOperatingHours2
UDINT
Output
udiCountFb2
UDINT
Output
xAlarm
BOOL
Output
xAuto
BOOL
Input Const
udiTimeTOFxFb
UDINT
7
Input Const
udiWait2
UDINT
3
Input Const
rSwitchOffPoint1
REAL
2.5
Input Const
rSwitchOffPoint2
REAL
-1
Input Const
rSwitchOnPoint1
REAL
-2.5
Input Const
rSwitchOnPoint2
REAL
-1.5
Input Const
udiTimeMinOff
UDINT
3
Input Const
eManModeB2
eMANBIN
eMANBIN.Auto
Input Const
eManModeB1
eMANBIN
eMANBIN.Auto
Zuletzt aktualisiert

