Burner3P
Burner3P (FB)
FUNCTION_BLOCK Burner3P
Short description
Control of a heat generator (temperature control via binary control commands More / Less) Typical application: heat generation
Representation

Functional description
General
This function block is used to control / regulate a heat generator depending on the demand of the heat generator xEn, the supply setpoint temperature rSetPtTemp and the supply temperature rFdT. The enabling / blocking of the heat generator is carried out via output xHB (FALSE = blocking, TRUE = enabling). The supply temperature control (analogously also boiler temperature control) is carried out by means of two power controllers (P controller, slow and fast) via outputs xMoreHB and xLessHB. Control enable is delayed (setpoint / parameter udiWaitControl) after the operating feedback (xFb = TRUE) of the heat generator. The following function blocks are mainly used:
ControlP
Out3P
OperatingHours
ManBin
Enabling / blocking of the heat generator
The enabling of the heat generator (xAB = TRUE, xHB = TRUE (eManModeB = eManBin.Auto)) occurs if the supply temperature rFdT the sum of supply setpoint temperature rSetPtTemp and setpoint / parameter rSwitchOnPoint falls below, while the general enable xEn is active (= TRUE) and the minimum off time is not active. The blocking of the heat generator (xAB = FALSE, xHB = FALSE (eManModeB = eManBin.Auto)) occurs if the supply temperature rFdT the sum of supply setpoint temperature rSetPtTemp and setpoint / parameter rSwitchOffPoint exceeds and at the same time the general enable xEn is active (= TRUE). Between two consecutive operating cycles, a minimum off time is always inserted (duration = udiTimeMinOff, display - remaining time: tOnDelay) inserted. The minimum off time begins with the falling edge (TRUE > FALSE) at input xFb.
Temperature control of the heat generator
Control enable is delayed (duration = udiWaitControl, display - remaining time: tOnControlDelay) after the active operating message (xFb = TRUE) of the heat generator. The blocking of temperature control occurs immediately after the inactive operating message (xFb = FALSE) of the heat generator (switch-off value: rYDisabled). The two internal power controllers (P controller, slow and fast, output range each -100.0 - 100.0 %) are enabled / blocked simultaneously. (Setpoint = supply setpoint temperature rSetPtTemp, actual value = supply temperature rFdT). The control signals of both power controllers are fed to the output controller in minimum value selection (forwarding the signal with the lower value) in the range -100.0 - 100.0 %. The output controller finally generates output signals for a 3-point actuator (pulse-width modulation, integration interval = tIntegration) with outputs xMoreHB or xLessHB. The constant pulse duration for the two outputs can each be freely set (tImpulsOpen or tImpuls Close), the variable pulse pauses are determined by the output controller. The two power controllers can be configured individually and independently of each other (fast P controller: gain factor rKpBig, slow P controller: gain factor rKpTiny).
Manual override of the digital outputs
All digital control outputs after manual override (xHB, xMoreHB*, xLessHB) can be operated either in automatic mode (eMANBIN.Auto) or in one of the two manual operating modes (eMANBIN.ManOn, eMANBIN.ManOff).
xAB
eMANBIN
xHB
Notes
FALSE
eMANBIN.Auto
FALSE
manual override module in automatic
TRUE
eMANBIN.Auto
TRUE
manual override module in automatic
X
eMANBIN.ManOn
TRUE
manual override module in manual mode On
X
eMANBIN.ManOff
FALSE
manual override module in manual mode Off
Legend: X = any
Collective fault xAlarm
The collective fault xAlarm is active (= TRUE) if the fault message of the heat generator xAlarmIn is active (= TRUE). In all other situations, the collective fault is xAlarm not active (= FALSE).
Collective message automatic mode xAuto
The collective message automatic mode xAuto is activated (= TRUE) if the following conditions are simultaneously met:
Input eAOO = HVACTYPES.eManBin.Auto
Input eAOOMore = HVACTYPES.eManBin.Auto
Input eAOOLess = HVACTYPES.eManBin.Auto
Setpoint / parameter eManModeB = eMANBIN.Auto
Setpoint / parameter eManModeBMore = eMANBIN.Auto
Setpoint / parameter eManModeBLess = eMANBIN.Auto
Operating hours counter - heat generator
The operating hours counter (udiOperatingHours, udiCountFb) for the heat generator is active when the operating message is active (xFb = TRUE).
Write access to the counter values
Via the path ‘InstanceName._OperatingHours.udiOperatingHours’ or ‘InstanceName._OperatingHours.udiCountFb’, write access to both counter values is possible.
Requirement for using the Burner3P function block
For correct operation, the TimeRead2 function block must be used.
Current calculated power of the heat generator rPos
The current calculated power of the heat generator is displayed at output rPos in the range 0.0 - 100.0 %. For this, the correct specification of the actuator runtime between minimum and maximum power (tDuration) is required. No repositioning takes place at a reference position.
Feedback of the heat generator power rU
The current actual power of the heat generator can be connected at input rU . This input is currently not used for control and regulation purposes.
Inactive state (xEn = FALSE)
xHB
xAB
xMoreHB
xMoreAB
xLessHB
xLessAB
rPos
tOnDelay
tOnControlDelay
dtLastFb
udiOperatingHours
udiCountFb
xAlarm
xAuto
Notes
FALSE (eManModeB = eManBin.Auto)
FALSE
FALSE (eManModeBMore = eManBin.Auto)
FALSE
FALSE (eManModeBLess = eManBin.Auto)
FALSE
0.0 %
old value
old value
old value
old value
old value
State of xAlarmIn
old value
xEn = FALSE
Legend: X = any
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
Last updated

