Lib.Mervis.v1_4.TwoStageBoiler
Block used for controlling the performance of a boiler with a two-stage burner and a circulation pump.
program test var twoStageBoiler: lib.mervis.v1_4.TwoStageBoiler; end_var twoStageBoiler(); end_program
Inputs | Name | Data Type | Retain | Required Connection | Meaning |
OperatingMode | Lib.Mervis.v1_0.OperatingModeType | Yes | No | Boiler operating mode | |
PumpOperatingMode | Lib.Mervis.v1_0.OperatingModeType | Yes | No | Circulation pump operating mode | |
OutputTemperature | real | No | Yes | Output temperature | |
BoilerDemand | Lib.Mervis.v1_1.StageControlType | No | Yes | Combined boiler demand from the cascade controller | |
RunningStage1 | bool | No | No | Feedback signal of boiler operation - stage 1 | |
FailureStage1 | bool | No | No | Feedback signal of boiler failure - stage 1 | |
RunningStage2 | bool | No | No | Feedback signal of boiler operation - stage 2 | |
FailureStage2 | bool | No | No | Feedback signal of boiler failure - stage 2 | |
PumpRunning | bool | No | No | Feedback signal of circulation pump operation | |
PumpFailure | bool | No | No | Feedback signal of circulation pump failure | |
ResetRuntime | bool | No | No | Reset runtime hours | |
MinimalOutput | real | No | No | External input for defining the minimum output temperature (if zero, it is not used) | |
LimitForAttach | real | No | No | Limit value of the criterion for activating the second stage | |
LimitForDettach | real | No | No | Limit value of the criterion for deactivating the second stage | |
MaxOutputTemperature | real | No | No | Maximum output temperature, exceeding it is considered a fault | |
FailureDelay | time | No | No | Interval waiting for active boiler operation feedback | |
FailureCountLimit | uint | No | No | Number of consecutive boiler errors before it is permanently marked as non-functional | |
FailureTimeout | time | No | No | Time after an unsuccessful boiler start before retrying | |
MinimalRunTime | time | No | No | Minimum burner runtime (based on this, the switching hysteresis is adjusted) | |
UseLocalOutputTemperature | bool | No | No | Determines whether the control uses the common output temperature or its own (= true) | |
RunTimeSource | Lib.Mervis.v1_0.RunTimeSourceType | No | No | Determines how the boiler runtime hours are counted | |
PumpRunDownTime | time | No | No | Run-down time of the circulation pump after the boiler is removed from the cascade | |
PumpFailureDelay | time | No | No | Interval waiting for active circulation pump operation feedback |
Outputs | Name | Data Type | Meaning |
State | Lib.Mervis.v1_1.StageInfoType | Combined boiler state to the cascade controller | |
DemandStage1 | bool | Command for stage 1 | |
DemandStage2 | bool | Command for stage 2 | |
PumpDemand | bool | Command for the circulation pump | |
RunTimeInHours | udint | Boiler runtime in whole hours | |
FailureOutput | bool | Boiler fault | |
PumpFailureOutput | bool | Circulation pump fault | |
AlarmsStatus | Lib.Mervis.v1_0.AlarmsStatus | Combined interface for alarm indication | |
RunTime | time | Boiler runtime |
Blocks | Name | Data Type | Meaning | ||||||||||||||||||||
FailureFb1 | Lib.Mervis.v1_0.FailureDetector | Block for evaluating the first stage boiler fault | |||||||||||||||||||||
FailureFb2 | Lib.Mervis.v1_0.FailureDetector | Block for evaluating the second stage boiler fault | |||||||||||||||||||||
Alarms | Lib.Mervis.v1_0.AlarmsExtender4 | Alarm function block | Alarm Input | Priority | Meaning | Alarm1 | 32/33 | First stage boiler fault | Alarm2 | 32/33 | Second stage boiler fault | Alarm3 | 32 | Pump fault | Alarm4 | 33 | Boiler overheating |
The block is used for controlling a two-stage boiler. Both stages are controlled separately in the following way:
Its control uses a thermostat, whose input is either the common or own output and the setpoint from the cascade controller. The hysteresis of this thermostat is dynamically set to meet the minimum boiler runtime condition and at the same time maintain the regulated temperature within the range from the setpoint to the setpoint plus hysteresis (the actual value is at least as high as the setpoint). The following two cases may occur:
Its control uses the integral criterion, whose inputs are the same as for the first stage. The second stage is switched by the AttachCmd and DettachCmd requests - it is activated upon attachment, and deactivated upon detachment.
The circulation pump is started together with the command for the first or second stage, only when the boiler is the first in line is the pump continuously operated (if in automatic mode).
The block also evaluates the following fault conditions: