Buffer Store Control
The new Heat Network Guidance from CIBSE, along with CP1, have been clear about the correct way that buffer stores should be implemented in systems.
The methods laid out in guidance require boilers and heat sources to be sequenced from storage, rather than temperature error , and they must also have loading valves. These functions can prove a challenge to the best BMS installers, so the use of a standardised open-source controls library and hardware interface makes a great deal of sense, allowing the finer detail to improve (evolve) over time, rather than trying to reinvent the wheel on every installation based on an individual's understanding of both guidance and BMS software.
This controller function is suitable for domestic and commercial storage systems. It can be used stand-alone, in groups, or as an interface for BMS systems.
Functionality
- Heat sources are assigned an order, representing the preferred order in which they fire, with 1 being the lead.
- Uncontrolled heat sources, such as solar thermal, has an order of 0. Heat will be taken if available and safety controls allow.
- Heat sources with the same order will be run in duty/standby and rotated, pulling in the next in order as required.
- Heat sources are fired up according to store depletion, both on volume remaining and rate of depletion.
- Heat sources may be exercised after a period of inactivity, regardless of order.
- Modulation will be applied to heat sources where possible to match loads and minimise cycling.
- Low load buffering mode to minimise cycling.
- Timing functions can be applied.
- Includes functions for override of non-critical loads, such as central heating, when store close to empty.
- Includes functions for activation of heat dump circuits for solar thermal and biomass.
- Includes functions for boiler loading valve and pump control (with DP switch or sensor).
- Includes functions for network tempering valve control.
- BMS integration via Modbus RTU or IP.
- Includes functions for M-Bus/Modbus heat meter reading.
- Includes alarm functions for low/high temperature, low/high pressure, low storage, failure of heat sources.
- Makes possible the implementation of storage management and sequencing based on volatile fuel prices using predicted loads
Hydraulic Design
This application starts with a definition of the system to be controlled. This is done through a schematic design that in turn leads to control points, logic, and a parts list.
We arrive at the definition through a series of questions and automated calculations, using a standardised dictionary to record answers.
All open controls on this wiki follow the same open controls dictionary, so data collected can feed directly into software, and be used with different Q&A modules.
Questions can range from simple yes/no through to spreadsheets where schedules can be input, for example...
We are in the process of refining Q&A modules to suit different applications, however the Q&A Designer for heat networks covers buffer store and heat source selection in detail and is ready to use.
Designs can be saved and opened via a simple URL link that holds the data and is provided by the Q&A. However this can get unusably large on more complex designs. To overcome this designs can be exported as a JSON file, or can be uploaded to the IPFS file system to provide a short URL that links to a saved JSON file (of any size and complexity) online. e.g. https://heatweb.mypinata.cloud/ipfs/QmegcRKHhunR6ZR4Vvo65NEMHzau8c9CNrR1GMi7YfZT3N
The following schematic was generated from https://hw7.ddns.net/ui/hndesign?loadCID=QmegcRKHhunR6ZR4Vvo65NEMHzau8c9CNrR1GMi7YfZT3N
The following table is a summary of the Q&A for the bivalent system above.
In our standardised dictionary (for example), nBuildings is the key for the number of buildings. It is a network design variable so comes under network/design/nBuildings as an MQTT topic or network.design.nBuildings as a JSON object.
Schedule of loads [loadSchedule] | {table} | |
Number of buildings [nBuildings] | 1 | buildings |
Peak network flow temperature [tPeak] | 65 | °C |
DHW network return temperature [tPriRtnDHW] | 19 | °C |
DHW load profile [profileDHW] | EST | |
Central heating emitter [typeEmitter] | underfloor | |
Central heating connection [connectionCH] | indirect | |
External temperature at peak load [tXPeak] | -5 | °C |
Central heating network return temperature [tPriRtnCH] | 35 | °C |
Central heating diversity [divCH] | 70 | % |
Base temperature [baseTemp] | 16 | |
Central heating degree-days at base temperature [degDays] | 1850 | °days |
Boilers [goBoilers] | true | |
Air Source Heat Pumps [goASHP] | true | |
External Heat Network Supply [goHN] | true | |
Water Source Heat Pumps [goWSHP] | false | |
Cooling Source Heat Pumps [goReclaim] | false | |
Combined Heat & Power [goCHP] | false | |
Solar Thermal [goSolar] | false | |
Boiler fuel type [boilerFuel] | gas | |
Boiler Emissions [boilerEmissions] | 0.216 | kgCO2/kWh |
Available boiler outputs [listBSizes] | 30, 50, 75, 100, 250, 500, 750, 1000 | kW |
Boiler selection [selectBoilers] | 4 x 250 | n x kW |
Electrical Tariff [tariffHP] | flat | |
Electrical Supply Emissions [elecEmissions] | 0.233 | kgCO2/kWh |
ASHP refrigerant [fridgeASHP] | R744 | |
Available heat pump outputs [listASHPSizes] | 30 | kW |
ASHP selection [selectASHP] | 6 x 30 | n x kW |
Buffer volume [vBuffer] | 2000 | litres |
Schedule of pipes sizes [pipeSizes] | {table} | |
Flow pipe sizing maximum velocity [maxVelocity] | 1.5 | m/s |
Return pipe sizing minimum velocity [minVelocity] | 0.5 | m/s |
Save design [goSave] | false |
And from this the following calculations are arrived at:
otal Properties | 149 | properties |
Total People | 444 | people |
Total of central heating outputs | 603 | kW |
Average people per property [pPP] | 2.979 | people |
Average people per building (density) [density] | 444 | people |
Typical HIU rating for DHW [kwDHWEst] | 37.5 | kW |
People per standard DS439 property [peepDS439] | 2.3 | people |
Equivalent number of DS439 properties [eqPropDS439] | 193.043 | properties |
Peak DHW Load [kwDS439] | 509 | kW |
Volume DHW used per property per day [vPPEST] | 40 | litres |
Volume DHW used per person per day [vPHEST] | 28 | litres |
Average temperature Rise on DHW [tRiseEST] | 35 | °C |
Volume drawn per day for DHW (tap) [vDHWEST] | 18392 | litres |
Energy used per day for DHW [kwhDHWEST] | 751.006 | kWh |
Volume used per day for DHW (primary) [vPDHW] | 13993.913 | litres |
Buffer Storage for DHW (based on 9%) [vBuffer9] | 1259.452 | litres |
Peak diversified (steady state) central heating load [kwCH] | 422.1 | kW |
Energy used per day for CH [kwhCH] | 10130.4 | kWh |
Volume used on peak load day for CH (primary) [vPCH] | 289440 | litres |
Peak energy used per day [kwhP24] | 10881.405 | kWh |
Peak volume used per day (primary) [vP24] | 303433.913 | litres |
Peak load [kwPeak] | 931.1 | kW |
Average 24h peak load [kwP24] | 453.391 | kW |
Primary flow rate at peak DHW load [m3hDHWPeak] | 9.484 | m3/h |
Primary flow rate at peak central heating load [m3hCHPeak] | 12.06 | m3/h |
Primary flow rate at peak load [m3hPeak] | 21.544 | m3/h |
Primary return temperature at peak load [tPriRtnPeak] | 27.955 | °C |
Weighted primary return temperature on peak load day [tVWART24] | 34.262 | °C |
Buffer storage peak energy content [bufferkWh] | 86.438 | kWh |
Boiler quantity [boilerQty] | 4 | boilers |
Boiler unit power [boilerkW] | 250 | kW |
Boiler peak power (n) [boilerkWPeak] | 1000 | kW |
Boiler power (n-1) [boilerkWxN1] | 750 | kW |
ASHP quantity [ASHPQty] | 6 | ASHPs |
ASHP unit power [ASHPkW] | 30 | kW |
ASHP peak power (n) [ASHPkWPeak] | 180 | kW |
ASHP power (n-1) [ASHPkWxN1] | 150 | kW |
Peak power available from all sources [kWInPeak] | 1180 | kW |
Peak power available from (n-1) sources [kWxN1] | 930 | kW |
Excess power availiable (n) [sparekW] | 726.608 | kW |
Oversizing (n) [ovsersizing] | 160.261 | % |
Oversizing (n-1) [ovsersizingN1] | 105.12 | % |
Calculated degree days per year [dDaysCalc] | 1749.5 | °days |
Peak load day degree days [dDaysPeak] | 21 | °days |
Annual days of full load heating [eqDaysPeak] | 83.309 | days |
Annual energy for central heating [kwhCH365] | 212738 | kWh |
Annual energy for domestic hot water [kwhDHW365] | 274117 | kWh |
Annual energy utilised [kwhUsed365] | 486855 | kWh |
Annual distribution heat losses (est at 20%) [kwhDistLoss365] | 97371 | kWh |
Annual energy required [kwh365] | 584226 | kWh |
Pipe bore at peak load and velocity [borePeak] | 71.272 | mm |
Nominal main line pipe size (max velocity) [dnMain] | DN80 | |
Nominal main line pipe bore [boreMain] | 73 | mm |
Velocity at peak load using nominal size [velocityPeak] | 1.429 | m/s |
Maximum pipe bore at peak load and minimum velocity [borePeakMax] | 123.447 | mm |
Maximum main line pipe size (min velocity) [dnMainMax] | DN100 |