One-stage Boiler (v1.1)
Full Name
Lib.Mervis.v1_1.OneStageBoiler
Description
Block used for controlling the performance of a boiler with a single-stage burner and a circulation pump.
Required Project References
- Lib.Mervis
Usage Limitations
**Obsolete** - replaced by the block OneStageBoiler v1.2
Usage in ST
program test var oneStageBoiler: lib.mervis.v1_1.OneStageBoiler; end_var oneStageBoiler(); end_program
Description of Inputs and Outputs
Inputs | Name | Data Type | Retain | Required Connection | Meaning |
OperatingMode | OperatingMode | Yes | No | Boiler operating mode | |
PumpOperatingMode | OperatingMode | Yes | No | Circulation pump operating mode | |
OutputTemperature | real | No | Yes | Output temperature | |
BoilerDemand | StageControlType | No | Yes | Combined boiler demand from the cascade controller | |
Running | bool | No | No | Feedback signal of boiler operation | |
Failure | bool | No | No | Feedback signal of boiler failure | |
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 | |
FailureReset | bool | No | No | Reset fault | |
Xp | real | No | No | PI controller - proportional band | |
Ti | real | No | No | PI controller - integral time | |
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 | |
ModulationPeriod | time | No | No | Modulation period for power control using PWM | |
MinimalRunTime | time | No | No | Minimum burner runtime | |
NominalPowerInKw | real | No | No | Nominal power - currently not used | |
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 | StageInfoType | Combined boiler state to the cascade controller | |
Demand | bool | Command for burner operation | |
PumpDemand | bool | Command for circulation pump | |
RunTimeInHours | udint | Boiler runtime in whole hours | |
FailureOutput | bool | Boiler fault | |
PumpFailureOutput | bool | Circulation pump fault | |
RunTime | time | Boiler runtime |
Detailed Function Description
The block is used for controlling a single-stage boiler. The control is performed using pulse-width modulation (PWM), where the required power from the cascade is converted into the corresponding runtime within the modulation period.
The circulation pump is started together with the burner command, only when the boiler is first in line is the pump continuously operated (if in automatic mode).
The block also evaluates the following fault conditions:
- Burner non-operation - based on the difference between the command and the feedback signal or directly using the fault input. If this fault occurs, the error counter is incremented, and if it exceeds the FailureCountLimit, the boiler is permanently marked as faulty and removed from cascade control. The counter is reset by a successful start.
- Circulation pump non-operation - evaluated in the same way as the burner non-operation, its fault also results in removal from cascade control.