Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.SetPoints

Sequences for setting the setpoints for chilled water control

Information

This package contains chilled water plant reset control sequences. The implementation is based on section 5.20.5.2. in ASHRAE Guideline 36-2021.

Package Content

Name Description
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.SetPoints.ChilledWaterPlantReset ChilledWaterPlantReset Sequences to generate chilled water plant reset
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.SetPoints.ChilledWaterSupply ChilledWaterSupply Sequences to generate setpoints of chilled water supply temperature and the differential pressure
Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.SetPoints.Validation Validation Collection of validation models

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.SetPoints.ChilledWaterPlantReset Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.SetPoints.ChilledWaterPlantReset

Sequences to generate chilled water plant reset

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.SetPoints.ChilledWaterPlantReset

Information

Block that output chilled water plant reset yChiWatPlaRes according to ASHRAE Guideline 36-2021, section 5.20.5.2.

Following implementation is for plants with primary-only and primary-secondary systems serving differential pressure controlled pumps.

Variable Value Definition
DeviceAny chilled water pump Associated device
SP0iniSetInitial setpoint
SPminminSetMinimum setpoint
SPmaxmaxSetMaximum setpoint
TddelTimDelay timer
TsamplePeriodTime step
InumIgnReqNumber of ignored requests
RTChiWatSupResReqNumber of requests
SPtrimtriAmoTrim amount
SPresresAmoRespond amount
SPres_maxmaxResMaximum response per time interval

For primary-secondary plants serving more than one set of differential pressure controlled pumps, a unique instance of the reset shall be used for each set of differential pressure controlled secondary pumps.

Parameters

TypeNameDefaultDescription
IntegernPum2Total number of chilled water pumps
RealholTim900Time to fix plant reset value [s]
Trim and respond parameters
RealiniSet1Initial setpoint
RealminSet0Minimum setpoint
RealmaxSet1Maximum setpoint
RealdelTim900Delay time after which trim and respond is activated [s]
RealsamplePeriod300Sample period time [s]
IntegernumIgnReq2Number of ignored requests
RealtriAmo-0.02Trim amount
RealresAmo0.03Respond amount (must be opposite in to triAmo)
RealmaxRes0.07Maximum response per time interval (same sign as resAmo)

Connectors

TypeNameDescription
input IntegerInputTChiWatSupResReqChilled water supply temperature setpoint reset request
input BooleanInputchaProPlant staging status that indicates if the plant is in the staging process
input BooleanInputuChiWatPum[nPum]Chilled water pump status
output RealOutputyChiWatPlaResChilled water plant reset [1]

Modelica definition

block ChilledWaterPlantReset "Sequences to generate chilled water plant reset" parameter Integer nPum = 2 "Total number of chilled water pumps"; parameter Real holTim(unit="s")=900 "Time to fix plant reset value"; parameter Real iniSet=1 "Initial setpoint"; parameter Real minSet = 0 "Minimum setpoint"; parameter Real maxSet = 1 "Maximum setpoint"; parameter Real delTim(unit="s")=900 "Delay time after which trim and respond is activated"; parameter Real samplePeriod(unit="s")=300 "Sample period time"; parameter Integer numIgnReq = 2 "Number of ignored requests"; parameter Real triAmo = -0.02 "Trim amount"; parameter Real resAmo = 0.03 "Respond amount (must be opposite in to triAmo)"; parameter Real maxRes = 0.07 "Maximum response per time interval (same sign as resAmo)"; Buildings.Controls.OBC.CDL.Interfaces.IntegerInput TChiWatSupResReq "Chilled water supply temperature setpoint reset request"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput chaPro "Plant staging status that indicates if the plant is in the staging process"; Buildings.Controls.OBC.CDL.Interfaces.BooleanInput uChiWatPum[nPum] "Chilled water pump status"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput yChiWatPlaRes( final min=minSet, final max=maxSet, final unit="1") "Chilled water plant reset"; Buildings.Controls.OBC.ASHRAE.G36.Generic.TrimAndRespond triRes( final have_hol=true, final iniSet=iniSet, final minSet=minSet, final maxSet=maxSet, final delTim=delTim, final samplePeriod=samplePeriod, final numIgnReq=numIgnReq, final triAmo=triAmo, final resAmo=resAmo, final maxRes=maxRes, final dtHol=holTim) "Calculate chilled water plant reset"; protected Buildings.Controls.OBC.CDL.Logical.Not not1[nPum] "Logical not"; Buildings.Controls.OBC.CDL.Logical.MultiAnd mulAnd( final nin=nPum) "Logical and"; Buildings.Controls.OBC.CDL.Logical.Not not2 "Check if these is any CHW pump is proven on"; Buildings.Controls.OBC.CDL.Reals.Switch swi1 "Set reset value to zero when device is disabled"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant con1( final k=0) "Zero request when device is OFF"; equation connect(not1.y, mulAnd.u); connect(mulAnd.y, not2.u); connect(uChiWatPum, not1.u); connect(TChiWatSupResReq, triRes.numOfReq); connect(not2.y, triRes.uDevSta); connect(not2.y, swi1.u2); connect(con1.y, swi1.u3); connect(swi1.y, yChiWatPlaRes); connect(chaPro, triRes.uHol); connect(triRes.y, swi1.u1); end ChilledWaterPlantReset;

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.SetPoints.ChilledWaterSupply Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.SetPoints.ChilledWaterSupply

Sequences to generate setpoints of chilled water supply temperature and the differential pressure

Buildings.Controls.OBC.ASHRAE.G36.Plants.Chillers.SetPoints.ChilledWaterSupply

Information

Block that outputs setpoints for the chilled water supply of primary-only and primary-secondary systems serving differential pressure controlled pumps. The outputs include supply temperature setpoint TChiWatSupSet and the differential pressure setpoint dpChiWatSet, according to ASHRAE Guideline 36-2021, section 5.20.5.2.

Chilled water supply temperature setpoint TChiWatSupSet and the differential pressure setpoint dpChiWatSet shall be reset based on the current value of chilled water plant reset uChiWatPlaRes.

Image of chilled water supply setpoints

Parameters

TypeNameDefaultDescription
IntegernRemDpSen1Total number of remote pressure differential sensor
RealdpChiWatMin[nRemDpSen]fill(34473.8, nRemDpSen)Minimum chilled water differential pressure setpoint [Pa]
RealdpChiWatMax[nRemDpSen] Maximum chilled water differential pressure setpoint [Pa]
RealTChiWatSupMin Minimum chilled water supply temperature. This is the lowest minimum chilled water supply temperature of chillers in the plant [K]
RealTPlaChiWatSupMax288.706Maximum plant chilled water supply temperature, default 60 degF [K]
RealminSet0Minimum plant reset value
RealmaxSet1Maximum plant reset value
RealhalSet0.5Half plant reset value

Connectors

TypeNameDescription
input RealInputuChiWatPlaResChilled water plant reset [1]
output RealOutputdpChiWatSet[nRemDpSen]Chilled water differential pressure setpoint [Pa]
output RealOutputTChiWatSupSetChilled water supply temperature [K]

Modelica definition

block ChilledWaterSupply "Sequences to generate setpoints of chilled water supply temperature and the differential pressure" parameter Integer nRemDpSen=1 "Total number of remote pressure differential sensor"; parameter Real dpChiWatMin[nRemDpSen]( final min=fill(0,nRemDpSen), final unit=fill("Pa",nRemDpSen), final quantity=fill("PressureDifference",nRemDpSen), displayUnit=fill("Pa",nRemDpSen)) = fill(34473.8, nRemDpSen) "Minimum chilled water differential pressure setpoint"; parameter Real dpChiWatMax[nRemDpSen]( final min=dpChiWatMin, final unit=fill("Pa",nRemDpSen), final quantity=fill("PressureDifference",nRemDpSen), displayUnit=fill("Pa",nRemDpSen)) "Maximum chilled water differential pressure setpoint"; parameter Real TChiWatSupMin( final quantity="ThermodynamicTemperature", final unit="K", displayUnit="degC") "Minimum chilled water supply temperature. This is the lowest minimum chilled water supply temperature of chillers in the plant"; parameter Real TPlaChiWatSupMax( final quantity="ThermodynamicTemperature", final unit="K", displayUnit="degC") = 288.706 "Maximum plant chilled water supply temperature, default 60 degF"; parameter Real minSet = 0 "Minimum plant reset value"; parameter Real maxSet = 1 "Maximum plant reset value"; parameter Real halSet = 0.5 "Half plant reset value"; Buildings.Controls.OBC.CDL.Interfaces.RealInput uChiWatPlaRes( final min=minSet, final max=maxSet, final unit="1") "Chilled water plant reset"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput dpChiWatSet[nRemDpSen]( final unit=fill("Pa", nRemDpSen), final quantity=fill("PressureDifference", nRemDpSen)) "Chilled water differential pressure setpoint"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput TChiWatSupSet( final unit="K", displayUnit="degC", final quantity="ThermodynamicTemperature") "Chilled water supply temperature"; protected Buildings.Controls.OBC.CDL.Reals.Line chiWatPumPre[nRemDpSen] "Chilled water pump differential pressure setpoint"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant zerRes[nRemDpSen]( final k=fill(minSet, nRemDpSen)) "Minimum plant reset"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant halRes[nRemDpSen]( final k=fill(halSet, nRemDpSen)) "Half one plant reset"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant oneRes( final k=maxSet) "Maximum plant reset"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant minChiWatPumPre[nRemDpSen]( final k=dpChiWatMin) "Minimum chilled water differential pressure setpoint"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant maxChiWatPumPre[nRemDpSen]( final k=dpChiWatMax) "Maximum chilled water differential pressure setpoint"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant maxChiWatTem( final k=TPlaChiWatSupMax) "Maximum chilled water supply temperature"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant minChiWatTem( final k=TChiWatSupMin) "Minimum chilled water supply temperature"; Buildings.Controls.OBC.CDL.Reals.Line chiWatTem "Chilled water temperature setpoint"; Buildings.Controls.OBC.CDL.Routing.RealScalarReplicator reaRep( final nout=nRemDpSen) "Distribute reset value to each remote sensor"; equation connect(zerRes.y, chiWatPumPre.x1); connect(minChiWatPumPre.y, chiWatPumPre.f1); connect(halRes.y, chiWatPumPre.x2); connect(maxChiWatPumPre.y, chiWatPumPre.f2); connect(maxChiWatTem.y, chiWatTem.f1); connect(oneRes.y, chiWatTem.x2); connect(minChiWatTem.y, chiWatTem.f2); connect(chiWatPumPre.y, dpChiWatSet); connect(chiWatTem.y, TChiWatSupSet); connect(uChiWatPlaRes, chiWatTem.u); connect(uChiWatPlaRes, reaRep.u); connect(halRes[1].y, chiWatTem.x1); connect(reaRep.y, chiWatPumPre.u); end ChilledWaterSupply;