Engineering Reference — EnergyPlus 9.0

<< Prev | Table of Contents | Next >>

Setpoint Managers[LINK]

Overview[LINK]

Setpoint Managers are one of the high-level control constructs in EnergyPlus. A Setpoint Manager is able to access data from any of the HVAC system nodes and use this data to calculate a setpoint (usually a temperature setpoint) for one or more other HVAC system nodes. Setpoints are then used by Controllers as a goal for their control actions.

Setpoint managers are executed at the start of each HVAC time step, and they reside outside the HVAC system iteration loops. Thus, the Setpoint Managers are executed once per HVAC time step, and they use previous time step information (except for zone load) to calculate their setpoints.

All temperatures in the following descriptions are in degrees C, loads are in Watts, mass flow rates are in kg/s.

Scheduled[LINK]

The input object SetpointManager:Scheduled provides the simplest setpoint manager that allows the user to specify a seasonal (or other) scheduled reset, for example, of the supply air temperature setpoint.

Tset=Tsched

where Tset is the supply air temperature setpoint and Tsched is the current value ()C) from the user input temperature schedule. In this case, Tset will be applied to the node or nodes specified in the input object SetpointManager:Scheduled. There are a number of other types of setpoints that can be set, by choosing different control variables in the object, including:

  1. Maximum temperature of fluid at node ()C)

  2. Minimum temperature of fluid at node ()C)

  3. Humidity ratio of fluid at node (kg water/ kg dry air)

  4. Maximum humidity ratio of fluid at node (kg water/ kg dry air)

  5. Minimum humidity ratio of fluid at node (kg water/ kg dry air)

  6. Mass flow rate of fluid at node (kg/s)

  7. Maximum mass flow rate of fluid at node (kg/s)

  8. Minimum mass flow rate of fluid at node (kg/s)

Outdoor Air Reset[LINK]

The input object SetpointManager:OutdoorAirReset provides a setpoint manager that places a setpoint temperature on a system node according to the outdoor air temperature using a reset strategy. The user defines a reset rule for this strategy by specifying two setpoint temperatures at two outside drybulb temperatures. Generally the lower setpoint temperature is matched with the higher outdoor air drybulb temperature and the higher setpoint temperature is matched with the lower outdoor air drybulb temperature. The user can specify two reset rules and schedule their usage. A schedule value of 1 indicates use of the 1st rule; 2 indicates use of the 2nd. This setpoint manager can be used to place a setpoint temperature on air loop and plant loop system nodes.

IF SchedVal = 2:

Tout,low=T2,out,low

Tout,high=T2,out,high

Tset,atOAlow=T2,set,atOAlow

Tset,atOAhigh=T2,set,atOAhigh

Otherwise:

Tout,low=T1,out,low

Tout,high=T1,out,high

Tset,atOAlow=T1,set,atOAlow

Tset,atOAhigh=T1,set,atOAhigh

The parameter Tset is determined as per the following pseudo code:

If Tout,low<Tout,high then

If ToutTout,low then

Tset=Tset,atOAlow

If ToutTout,high then

Tset=Tset,atOAhigh

Otherwise

Tset=Tset,atOAlow((ToutTout,low)/(Tout,highTout,low))(Tset,atOAlowTset,atOAhigh)

End If

Otherwise

Tset=0.5(Tset,atOAlow+Tset,atOAhigh)

End IF

Tsetwill be applied to the node or nodes specified in the SetpointManager:OutdoorAirReset object input.

Single Zone Reheat Heating and Cooling[LINK]

The input object SetpointManager:SingleZone:Reheat provides a setpoint manager that is used to implement a variable supply air setpoint temperature in which the setpoint is varied each timestep to meet the heating or cooling load in a control zone. The manager operates in the following manner.

Tset=Tz+˙Qz/(Cp,air˙mz)

where Tz is the control zone temperature, ˙Qz is the zone load (greater than zero for heating, less than zero for cooling), ˙mz is the zone supply air mass flow rate, and Cp,air is the specific heat of air. If ˙mz is very small (.001 kg/s) Tset is set equal to Tset,min if the control zone has a cooling load and to Tset,max if the control zone has a heating load. Tset,min is the user specified minimum setpoint and Tset,max is the user specified maximum setpoint. Tset will be applied to the node or nodes specified in the SetpointManager:SingleZone:Reheat object input.

Single Zone Heating Only[LINK]

The input object SetpointManager:SingleZone:Heating provides a model that detects the control zone load to meet the current heating setpoint (Report Variable “Zone Predicted Sensible Load to Heating Setpoint Heat Transfer Rate [W]“, zone inlet node flow rate, and zone node temperature, and calculates a setpoint temperature for the supply air that will satisfy the zone heating load for the control zone. “Zone Predicted Sensible Load to Heating Setpoint Heat Transfer Rate [W]” > 0 indicates a heating load. The following rules are applied:

  • If there is no zone heating load, then the setpoint is set at the specified minimum supply air temperature.

  • If there is a zone heating load and the zone supply mass flow rate is less than 0.001 kg/s, then the setpoint is set at the specified maximum supply air temperature.

  • If there is a zone heating load and the zone supply mass flow rate is greater than 0.001 kg/s, then the setpoint is set calculated as follows:

SetPoint=ZoneTemp+ZoneLoadtoHeatSP/(CpAirZoneMassFlow)

where:

SetPoint is the setpoint temperature applied to the specified setpoint node(s)

ZoneTemp is the current zone temperature

ZoneLoadtoHeatSP is the zone heating load (Report Variable " Zone Predicted Sensible Load to Heating Setpoint Heat Transfer Rate [W]“)

CpAir is the specific heat of zone supply air

ZoneMassFlow is the zone supply air mass flow rate.

Single Zone Cooling Only[LINK]

The input object SetpointManager:SingleZone:Cooling provides a model that detects the control zone load to meet the current cooling setpoint (Report Variable “Zone Predicted Sensible Load to Cooling Setpoint Heat Transfer Rate [W]“, zone inlet node flow rate, and zone node temperature, and calculates a setpoint temperature for the supply air that will satisfy the zone cooling load for the control zone. “Zone Predicted Sensible Load to Cooling Setpoint Heat Transfer Rate [W]” < 0 indicates a cooling load. The following rules are applied:

  • If there is no zone cooling load, then the setpoint is set at the specified maximum supply air temperature.

  • If there is a zone cooling load and the zone supply mass flow rate is less than 0.001 kg/s, then the setpoint is set at the specified minimum supply air temperature.

  • If there is a zone cooling load and the zone supply mass flow rate is greater than 0.001 kg/s, then the setpoint is set calculated as follows:

SetPoint=ZoneTemp+ZoneLoadtoCoolSP/(CpAirZoneMassFlow)

where:

SetPoint is the setpoint temperature applied to the specified setpoint node(s)

ZoneTemp is the current zone temeprature

ZoneLoadtoCoolSP is the zone cooling load (Report Variable “Zone Predicted Sensible Load to Cooling Setpoint Heat Transfer Rate [W]“)

CpAir is the specific heat of zone supply air

ZoneMassFlow is the zone supply air mass flow rate.

Single Zone Minimum Humidity[LINK]

The input object SetpointManager:SingleZone:Humidity:Minimum provides a model where the zone moisture load from ZoneTempPredictorCorrector (via DataZoneEnergyDemands) is used to calculate the minimum/maximum supply air humidity ratio needed to meet minimum/maximum zone relative humidity requirement. For the Max setpoint manager is currently used in Controller:WaterCoil, when the control variable “TemperatureAndHumidityRatio”. A negative MoistureLoad means a dehumidification load for the coil controller. This could be used for any system.

Single Zone Maximum Humidity[LINK]

The input object SetpointManager:SingleZone:Humidity:Maximum provides a setpoint manager that allows the control of high air humidity levels in a single zone. This setpoint manager, used in conjunction with object ZoneControl:Humidistat, detects the air humidity level in a single control zone and uses air/moisture mass balances to calculate the supply air humidity ratio needed to maintain the zone relative humidity at or below a given setpoint. The calculated supply air humidity ratio is then entered as a setpoint on a designated supply air stream node. A dehumidification component placed upstream of this node can then use the humidity ratio setpoint to control its moisture removal rate (e.g. desiccant dehumidifiers). In the case of a chilled water coil which is used for both temperature and high humidity control, this setpoint manager works in conjunction with a Controller:WaterCoil object to determine the minimum supply air temperature required to meet both the temperature (sensible) and humidity (latent) load in the control zone. (Ref: Controller:WaterCoil).

Model Description[LINK]

The user must input the required information according to the IO Reference Manual (ref: SetpointManager:SingleZone:Humidity:Maximum). Specific inputs include an object name, control variable (HumidityRatio), name of the schedule defining the maximum relative humidity for the control zone, setpoint node name or list, and the zone air node name associated with the control zone (ref: ZoneHVAC:EquipmentConnections). The schedule name must refer to a valid schedule type (range 0-1) and contain values of fractional relative humidity.

This setpoint manager first converts the desired relative humidity setpoint for the control zone to humidity ratio based on the control zone dry-bulb temperature, the scheduled maximum relative humidity setpoint and outdoor barometric pressure.

ωsp=PsyWFnTdbRhPb(Tdb,RHsp,P)

where:

ωsp is the humidity ratio setpoint (kg H2O/kg air)

PsyWFnTdbRHPb is an EnergyPlus psychrometric function, returns humidity ratio as a function of dry-bulb temperature, relative humidity, and barometric pressure

Tdb is the dry-bulb temperature in the control zone (C)

RHsp is the maximum relative humidity setpoint

P is the outdoor barometric pressure (Pa).

The model then calculates the supply air humidity ratio required to reduce the control zone relative humidity to the desired level. Using the humidity ratio setpoint (ωsp ) calculated above,

ωsa=ωsp+˙Ql˙m

where:

ωsa is the maximum supply air humidity ratio setpoint (kg H2O/kg air)

˙Ql is the control zone latent load calculated by Zone Control:Humidistat (kg H2O/s)

˙m is the control zone mass flow rate (kg/s).

All setpoint managers are executed at the beginning of the simulation time step. Therefore, the calculated setpoint is based on the resulting control zone air temperature and air mass flow rate for the previous simulation time step.

The maximum supply air humidity ratio setpoint is placed on the node(s) specified in the input for this object (using node property Humidity Ratio Maximum).

Mixed Air[LINK]

The input object SetpointManager:MixedAir provides a setpoint manager that takes an already established setpoint (usually the supply air outlet node setpoint temperature), subtracts the supply fan heat gain, and applies the result as the setpoint temperature at the mixed air node (or any other node the user specifies).

Tset=Tset,ref(Tfan,outletTfan,inlet)

When inputs of optional fields, Cooling Coil Inlet Node Name, Cooling coil Outlet Node Name, and Minimum Temperature at Cooling Coil Outlet Node, are provided, the setpoint temperature at the mixed air node is given below based on supply fan placement and reference node location:

Blow through placement:

Tset=max(Tset,ref,Tmin)(Tcoil,outletTcoil,inlet)(Tfan,outletTfan,inlet)

Draw through placement:

When the reference node is the cooling coil outlet node:

Tset=max(Tset,ref,Tmin)(Tcoil,outletTcoil,inlet)

When the reference node is the unitary system outlet node:

Tset=max(Tset,ref(Tfan,outletTfan,inlet),Tmin)(Tcoil,outletTcoil,inlet)

Outdoor Air Pretreat[LINK]

The input object SetpointManager:OutdoorAirPretreat provides a setpoint manager that is meant to be used in conjunction with an OutdoorAir:Mixer. The outdoor air pretreat setpoint manager is used to establish a temperature or humidity ratio setpoint in the outdoor air stream flowing into the outdoor air stream node of an outdoor air mixer. This setpoint manager determines the required setpoint in the outdoor air stream to produce the reference setpoint in the mixed air stream after mixing with return air. For example, if the temperature setpoint at the mixed air node is 15C, the return air temperature is 20C, and the outdoor air flow fraction is 0.5, the outdoor air pretreat setpoint would be set to 10C. This setpoint manager references four user-specified nodes to obtain the following values:

  • Reference setpoint node – desired mixed flow condition = RefNodeSetPoint

  • Mixed air stream node – mixed air flow rate = MixedOutNodeMassFlowRate

  • Outdoor air stream node – outdoor air flow rate = OAInNodeMassFlowRate

  • Return air stream node – return air condition = ReturnInValue

The following calculations are used to determine the new setpoint value (SetPoint):

OAFraction=OAInNodeMassFlowRate/MixedOutNodeMassFlowRate

SetPoint=ReturnInValue+(RefNodeSetPointReturnInValue)/OAFraction

Depending on the specified control variable type, the setpoints and conditions may be humidity ratio (max or min) or temperature. Note that zero is not allowed as the computed setpoint humidity ratio, because zero is used as a special value to indicate that no humidification or dehumidification is needed. If the reference humidity ratio setpoint value is zero, the zero value will be passed directly to the setpoint Node(s).

Warmest Zone Supply Air Reset[LINK]

The input object SetpointManager:Warmest provides a setpoint manager that attempts to establish a supply air setpoint that will meet the cooling load of the zone needing the coldest air at the maximum zone supply air flowrate. The algorithm loops over all the zones that the system can cool and calculates

Tset,z=Tz+˙Qz/(Cp,air˙mz,max)

Note that for cooling ˙Qz<0. The lowest Tset,z is chosen as Tset. Tset is constrained to be less than or equal to the maximum setpoint temperature (user input) and greater than or equal to the minimum setpoint temperature (user input). If the sum of the zone cooling loads is very small, the setpoint temperature is set to the maximum. Tset will be applied to the node or nodes specified in the SetpointManager:Warmest object input.

Coldest Zone Supply Air Reset[LINK]

The input object SetpointManager:Coldest provides a setpoint manager that attempts to establish a supply air setpoint that will meet the heating load of the zone needing the warmest air at the maximum zone supply air flowrate. The algorithm loops over all the zones that the system can heat and calculates

Tset,z=Tz+˙Qz/(Cp,air˙mz,max)

Note that for heating ˙Qz>0. The highest Tset,z is chosen as Tset. Tset is constrained to be less than or equal to the maximum setpoint temperature (user input) and greater than or equal to the minimum setpoint temperature (user input). If the sum of the zone heating loads is very small, the setpoint temperature is set to the minimum. Tset will be applied to the node or nodes specified in the SetpointManager:Coldest object input.

Return Air Bypass Flow[LINK]

The input object SetpointManager:ReturnAirBypassFlow provides a setpoint manager that sets the air flow rate in a bypass duct such that when the bypassed and non-bypassed air are mixed the resutant air stream will be at the user-specified setpoint temperature.

The user specifies the desired setpoint temperature Tset through a input temperature schedule.

This temperature is modified to account for any potential fan heat gain:

Tset,mod=Tset(Tloop,outTmixer,out)

Here Tloop,out is the temperature at the air loop outlet node and Tmixer,out is the temperature at the outlet node of the bypass – nonbypass air mixer. Depending on the system configuration these may be the same node. Then

˙mbypass=(˙mtotTset,mod˙mnonbypassTnonbypass)/Tbypass

where ˙mtot is the total supply air flowrate in kg/s sent to the zones, ˙mnonbypass is the nonbypassed air flowrate (the conditioned air), Tnonbypass is the corresponding temperature just before mixing with the bypassed air, and Tbypass is the temperature of the bypassed (unconditioned) air. The resulting ˙mbypass is the mass flow rate setpoint for the bypass air branch.

Warmest Temp Flow[LINK]

The input object SetpointManager:WarmestTemperatureFlow provides a setpoint manager that attempts to establish a supply air setpoint that will meet the cooling load of the zone needing the coldest air at the maximum zone supply air flowrate. The supply air temperature setpoint is established by SetpointManager:WarmestTemperatureFlow using one of two strategies: ‘Temp First’ sets the supply air temperature to the highest temperature that will meet the cooling load of the coolest zone at minimum cfm. ‘Flow First’ sets the supply air temperature to the highest temperature that will meet the cooling load of the warmest zone at maximum cfm. ‘Temp First’ gives higher priority to reducing fan energy whereas ‘Flow First’ gives higher priority to reducing chiller energy.

The algorithm loops over all the zones that the system can cool and calculates according to strategy:

Temp First:

Tset,z=Tz+˙QzCp,air˙mz,min

Flow First:

Tset,z=Tz+˙QzCp,air˙mz,max

where ˙mz,min is the minimum air flow rate to the zone produced by reducing the capacity of the supply fan or by reducing the opening of the damper in the terminal box, if present, and ˙mz,max is the design air flow rate to the zone.

Note that for cooling ˙Qz<0. The lowest Tset,z is chosen as Tset. Tset is constrained to be less than or equal to the maximum setpoint temperature (user input) and greater than or equal to the minimum setpoint temperature (user input). If the unconstrained value of Tset is less than the minimum setpoint temperature and there are no VAV terminal boxes, the fan capacity is increased so as to meet the zone cooling loads with the constrained value of Tset:

˙mfan=z˙mz,min=z˙Qz/[Cp,air(TsetTz)]

This is more likely to occur in the ‘Temp First’ case. If the sum of the zone cooling loads is very small, the setpoint temperature is set to the maximum. Tset will be applied to the node or nodes specified in the SetpointManager:WarmestTemperatureFlow object input.

Multizone Heating Average[LINK]

The input object SetpointManager:MultiZone:Heating:Average provides a setpoint manager that attempts to establish a supply air heating setpoint that will meet the heating load of multiple zones served by an HVAC air loop. The algorithm aggregates the predicted heating loads for all controlled zones served by an air loop (i.e., zones that have a thermostat object), and calculates the multizone average supply air heating setpoint temperature as follows:

IF ( ˙QZj > 0 ) THEN

¯¯¯¯¯¯¯¯¯TSP=¯¯¯¯¯¯TZ+⎜ ⎜ ⎜ ⎜ ⎜NumControlZonesj=1˙QZiNumControlZonesj=1˙mZiCpj⎟ ⎟ ⎟ ⎟ ⎟

END IF

¯¯¯¯¯¯TZ=(TotZonesj=1˙mZjCpjTZj)/(TotZonesj=1˙mZjCpjTZj)(TotZonesj=1˙mZjCpj)(TotZonesj=1˙mZjCpj)

where:

¯¯¯¯¯¯¯¯¯TSP is the average supply air setpoint temperature (C)

NumControlZones is the number of controlled zones (i.e., zones that contain thermostat objects) served by the air loop

˙QZj is the sensible heating load required to reach the zone air temperature setpoint for the jth controlled zone at current time step (W)

˙mZj is the air mass flow rate being supplied by the air loop to the jth controlled zone, lagged by one HVAC simulation time step (kg/s)

Cpj is the specific heat of supply air for the jth controlled zone (J/kg-K)

TZj is the air node temperature for the jth controlled zone (C)

¯¯¯¯¯¯TZ is the average zone air node temperature weighted by the heat capacity rate of the supply air streams for the controlled zones served by the air loop (C)

TotZones is the total number of zones served by the air loop.

Note that for heating ˙QZj>0. The average supply air setpoint temperature ¯TSP is constrained to be less than or equal to the maximum setpoint temperature (user input) and greater than or equal to the minimum setpoint temperature (user input). If the sum of the zone sensible heating loads is extremely small (i.e., no heating load), the setpoint temperature is set to the minimum. ¯TSP will be applied to the setpoint node or nodes specified in the SetpointManager:MultiZone:Heating:Average object.

Multizone Cooling Average[LINK]

The input object SetpointManager:MultiZone:Cooling:Average provides a setpoint manager that attempts to establish a supply air cooling setpoint that will meet the cooling load of multiple zones served by an HVAC air loop. The algorithm aggregates the predicted cooling loads for all controlled zones served by an air loop (i.e., zones that have a thermostat object), and calculates the multizone average supply air cooling setpoint temperature as follows:

IF ( ˙QZj < 0 ) THEN

¯¯¯¯¯¯¯¯¯TSP=¯¯¯¯¯¯TZ+⎜ ⎜ ⎜ ⎜ ⎜NumControlZonesj=1˙QZiNumControlZonesj=1˙mZiCpj⎟ ⎟ ⎟ ⎟ ⎟

END IF

¯¯¯¯¯¯TZ=(TotZonesj=1˙mZjCpjTZj)/(TotZonesj=1˙mZjCpjTZj)(TotZonesj=1˙mZjCpj)(TotZonesj=1˙mZjCpj)

Note that for cooling ˙QZj<0. The average supply air setpoint temperature ¯¯¯¯¯¯¯¯¯TSP is constrained to be less than or equal to the maximum setpoint temperature (user input) and greater than or equal to the minimum setpoint temperature (user input). If the sum of the zone sensible cooling loads is extremely small (i.e., no cooling load), the setpoint temperature is set to the maximum. ¯¯¯¯¯¯¯¯¯TSP will be applied to the setpoint node or nodes specified in the SetpointManager:MultiZone:Cooling:Average object.

Multizone Minimum Humidity Average[LINK]

The input object SetpointManager:MultiZone:MinimumHumidity:Average provides a setpoint manager that attempts to establish a supply air minimum humidity ratio setpoint that will meet the humidification load of multiple zones served by an HVAC air loop. This setpoint manager, used in conjunction with object ZoneControl:Humidistat, detects the air humidity level for all controlled zones served by an air loop (i.e., zones that have a humidistat object with a humidifying setpoint schedule), and uses moisture mass balances to calculate the average supply air minimum humidity ratio setpoint as follows:

IF ( ˙QlZj > 0 ) THEN

¯¯¯¯¯¯¯¯¯ωSP=¯¯¯¯¯¯ωZ+NumControlZonesj=1˙Ql,ZjNumControlZonesj=1˙mZj

END IF

¯¯¯¯¯¯ωZ=TotZonesj=1˙mZjωZjTotZonesj=1˙mZj

where:

¯¯¯¯¯¯¯¯¯ωSP is the average supply air minimum humidity ratio setpoint (kg H2O/kg air)

NumControlZones is the number of controlled zones (i.e., zones that contain humidistat objects with humidifying setpoint schedule) served by the air loop

˙QlZj is the latent (humidification) load required to reach the zone air humidifying setpoint for the jth controlled zone at current time step (kg H2O/s)

˙mZj is the air mass flow rate being supplied by the air loop to the jth controlled zone, lagged by one HVAC simulation time step (kg/s)

ωZj is the air node humidity ratio for the jth controlled zone (kg H2O/kg air)

¯¯¯¯¯¯ωZ is the average zone air node humidity ratio weighted by supply air mass flow rate for the controlled zones served by the air loop (kg H2O/kg air)

TotZones is the total number of zones served by the air loop.

Note that a positive latent load means humidification is required. The average supply air minimum humidity ratio setpoint ¯¯¯¯¯¯¯¯¯ωSP is constrained to be less than or equal to the maximum setpoint humidity ratio (user input) and greater than or equal to the minimum setpoint humidity ratio (user input). If the sum of the zone latent humidification loads is extremely small (i.e., no humidification load), the humidity ratio setpoint is set to the minimum. ¯¯¯¯¯¯¯¯¯ωSP will be applied to the setpoint node or nodes specified in the SetpointManager:MultiZone:MinimumHumidity:Average object. A humidification component (e.g., an electric humidifier) placed upstream of this node can then use the humidity ratio setpoint to control its moisture addition rate.

All setpoint managers are executed at the beginning of the simulation time step. Therefore, the calculated setpoint is based on the resulting zone air node humidity ratios and supply air mass flow rates for the previous simulation time step.

Multizone Maximum Humidity Average[LINK]

The input object SetpointManager:MultiZone:MaximumHumidity:Average provides a setpoint manager that attempts to establish a supply air maximum humidity ratio setpoint that will meet the dehumidification load of multiple zones served by an HVAC air loop. This setpoint manager, used in conjunction with object ZoneControl:Humidistat, detects the air humidity level for all controlled zones served by an air loop (i.e., zones that have a humidistat object with a dehumidifying setpoint schedule), and uses moisture mass balances to calculate the average supply air maximum humidity ratio as follows:

IF ( ˙QlZj < 0 ) THEN

¯¯¯¯¯¯¯¯¯ωSP=¯ωZ+NumControlZonesj=1˙Ql,ZjNumControlZonesj=1˙mZj

END IF

¯¯¯¯¯¯ωZ=TotZonesj=1˙mZjωZjTotZonesj=1˙mZj

Note that a negative latent load means dehumidification is required. The average supply air maximum humidity ratio setpoint ¯¯¯¯¯¯¯¯¯ωSP is constrained to be less than or equal to the maximum setpoint humidity ratio (user input) and greater than or equal to the minimum setpoint humidity ratio (user input). If the sum of the zone latent dehumidification loads is extremely small (i.e., no dehumidification load), the humidity ratio setpoint is set to the maximum. ¯¯¯¯¯¯¯¯¯ωSP will be applied to the setpoint node or nodes specified in the SetpointManager:MultiZone:MaximumHumidity:Average object. A dehumidification component (e.g., an desiccant dehumidifier) placed upstream of this node can then use the humidity ratio setpoint to control its moisture removal rate. In the case of a chilled water coil which is used for both temperature and high humidity control, this setpoint manager works in conjunction with a Controller:WaterCoil object to determines the minimum supply air temperature required to meet both the temperature (sensible) and humidity (latent) load in the control zone (ref: Controller:WaterCoil).

MultiZone Minimum Humidity Supply Air Reset[LINK]

The input object SetpointManager:MultiZone:Humidity:Minimum provides a setpoint manager that attempts to establish a supply air minimum humidity ratio setpoint that will meet the humidification load of zone with the critical humidification requirement at each time step served by an HVAC air loop at the zone actual supply air mass flow rate. This setpoint manager, used in conjunction with object ZoneControl:Humidistat, detects the air humidity level for all controlled zones served by an air loop (i.e., zones that have a humidistat object with a humidifying setpoint schedule), and uses moisture mass balances to calculate the supply air minimum humidity ratio setpoint. The algorithm loops over all the zones that the system can humidify and calculates the setpoint based on a zone with the highest humidity ratio setpoint requirement as follows:

IF (˙QlZj > 0) THEN

ωSP Zj=ωZj+˙QlZj/˙mZj

END IF

ωSP Zj=MAX(ωSP Zj,ωSP Min)

ωSP=MIN(ωSP Zj,ωSP Max)

where:

ωSP is the supply air humidity ratio setpoint (kg/kg)

˙QlZj is the latent load required to reach the zone air setpoint for the jth controlled zone at current time step (kg H2O/s)

˙mZj is the actual mass flow rate supplied by the air loop to the jth controlled zone, (kg/s)

ωZj is the air node humidity ratio for the jth controlled zone (kg/kg)

ωSP Zj is the supply air humidity ratio setpoint for the jth controlled zones (kg/kg)

ωSP Min is the user-specified supply air minimum humidity ratio setpoint (kg/kg)

ωSP Max is the user-specified supply air maximum humidity ratio setpoint (kg/kg).

Note that a positive latent load means humidification is required. The supply air minimum humidity ratio setpoint ωSP is constrained to be less than or equal to the maximum setpoint humidity ratio (user input) and greater than or equal to the minimum setpoint humidity ratio (user input). If the humidification load for all zones in the air loop is extremely small (i.e., no humidification load), the humidity ratio setpoint is set to the user input minimum value. ωSP will be applied to the setpoint node or nodes specified in the SetpointManager:MultiZone:Humidity:Minimum object. A humidification component (e.g., an electric humidifier) placed upstream of this node can then use the humidity ratio setpoint to control its moisture addition rate.

MultiZone Maximum Humidity Supply Air Reset[LINK]

The input object SetpointManager:MultiZone:Humidity:Maximum provides a setpoint manager that attempts to establish a supply air maximum humidity ratio setpoint that will meet the dehumidification load of the zone with the critical dehumidification requirement at each time step served by an HVAC air loop at the zone actual supply air mass flow rate. This setpoint manager, used in conjunction with object ZoneControl:Humidistat, detects the air humidity level for all controlled zones served by an air loop (i.e., zones that have a humidistat object with a dehumidifying setpoint schedule), and uses moisture mass balances to calculate the supply air maximum humidity ratio setpoint. The algorithm loops over all the zones that the system can dehumidify and calculates the setpoint based on a zone with the lowest humidity ratio setpoint requirement as follows:

IF (˙QlZj < 0) THEN

ωSP Zj=ωZj+˙QlZj/˙mZj

END IF

ωSP Zj=MAX(ωSP Zj,ωSP Min)

ωSP=MIN(ωSP Zj,ωSP Max)

Note that a negative latent load means dehumidification is required. The supply air maximum humidity ratio setpoint ωSP is constrained to be less than or equal to the maximum setpoint humidity ratio (user input) and greater than or equal to the minimum setpoint humidity ratio (user input). If the dehumidification load for all zones in the air loop is extremely small (i.e., no dehumidification load), the humidity ratio setpoint is set to the user input maximum value. ωSP will be applied to the setpoint node or nodes specified in the SetpointManager:MultiZone:Humidity:Maximum object. A dehumidification component (e.g., an desiccant dehumidifier) placed upstream of this node can then use the humidity ratio setpoint to control its moisture removal rate. In the case of a chilled water coil which is used for both temperature and high humidity control, this setpoint manager works in conjunction with a Controller:WaterCoil object to determines the minimum supply air temperature required to meet both the temperature (sensible) and dehumidification (latent) load in the control zone (ref: Controller:WaterCoil).

Follow Outdoor Air Temperature[LINK]

The input object SetpointManager:FollowOutdoorAirTemperature provides a setpoint manager that is used to place a temperature setpoint on a system node that is derived from the current outdoor air environmental conditions. The outdoor air conditions are obtained from the weather information during the simulation.

IF (ReferenceTemperatureType = OutdoorWetBulb)

Setpoint = OutdoorWetBulbTemp + OffSet

ELSEIF (ReferenceTemperatureType = OutdoorDryBulb)

Setpoint = OutdoorDryBulbTemp + OffSet

ENDIF

Setpoint = MAX(Setpoint, MinSetPoint)

Setpoint = MIN(Setpoint, MaxSetPoint)

MinSetPoint, MaxSetPoint and Offset are specified by the user as the input in object SetpointManager:FollowOutdoorAirTemperature.

Follow System Node Temperature[LINK]

The input object SetpointManager:FollowSystemNodeTemperature provides a temperature setpoint on a system node that is derived from the current temperatures at a separate system node. The current value of the temperature at a reference node are obtained and used to generate setpoint on a second system node. If the reference node is also designated to be an outdoor air (intake) node, then this setpoint manager can be used to follow outdoor air conditions that are adjusted for altitude.

IF (ReferenceTemperatureType = NodeWetBulb)

Setpoint = NodeWetbulbTemp + OffSet

ELSEIF (ReferenceTemperatureType = NodeDryBulb)

Setpoint = NodeDrybulbTemp + OffSet

ENDIF

Setpoint = MAX(Setpoint, MinSetPoint)

Setpoint = MIN(Setpoint, MaxSetPoint)

MinSetPoint, MaxSetPoint and Offset are specified by the user as the input in object SetpointManager:FollowSystemNodeTemperature.

Follow Ground Temperature[LINK]

The input object SetpointManager:FollowGroundTemperature provides a temperature setpoint on a system node that is derived from a current ground temperature. The ground temperatures are specified in different Site:GroundTemperature:* objects and used during the simulation. This setpoint manager is primarily intended for condenser or plant loops using some type of ground heat exchanger.

IF (ReferenceGroundTemperatureObjectType = BuildingSurface)

Setpoint = GroundTemp + OffSet

ELSEIF (ReferenceGroundTemperatureObjectType = Shallow)

Setpoint = GroundTemp_Surface + OffSet

ELSEIF (ReferenceGroundTemperatureObjectType = Deep)

Setpoint = GroundTemp_Deep + OffSet

ELSEIF (ReferenceTGroundTemperatureObjectType = FCfactorMethod)

Setpoint = GroundTemp_FC + OffSet

ENDIF

Setpoint = MAX(Setpoint, MinSetPoint)

Setpoint = MIN(Setpoint, MaxSetPoint)

* *

where:

GroundTemp is the current ground temperature (Ref: Site:GroundTemperature:BuildingSurface) (C)

GroundTemp_Surface is the current surface ground temperature (Ref: Site:GroundTemperature:Shallow) (C)

GroundTemp_Deep = Current deep ground temperature (Ref: Site:GroundTemperature:Deep) (C)

GroundTemp_FC = Current ground temperature defined F or C factor method (Ref: Site:GroundTemperature:FCfactorMethod) (C)

MinSetPoint, MaxSetPoint and Offset are specified by the user as the input in object SetpointManager:FollowGroundTemperature.

Condenser Entering Water Temperature Reset[LINK]

The object resets the condenser entering water temperature to the optimal cooling tower water set point temperature that will result in minimum net energy consumption for the chiller and cooling tower plant. This chiller-tower optimization scheme uses one curve to determine the optimum condenser entering water temperature for a given time step and two other curves to place limit conditions on the “optimized” set point value. The optimized condenser entering water temperature may not be valid every timestep then will be limited algorithmically by two boundary curves. The first of these boundary curves is given by:

MinDsnWB=C1+C2OaWb+C3WPLR+C4TwrDsnWB+C5NF

where:

C1-C5 are the curve coefficients

OaWb is the outside air wetbulb for current timestep (C)

TwrDsnWB is the tower design inlet Air Wet-Bulb Temperature (C)

WPLR is the weighted PLR which is equal to ChillerCoolingLoadThisTimestep / NominalChillerCapacity

NF is the normalized condenser water flow per unit of tower capacity (m3/W-s) which is equal to Design Tower Flow Rate / Design Tower Capacity (typically at 5.382E-8 m3/s, i.e., 3 gpm/ton)

MinDsnWB is compared against the design tower wetbulb. This curve is usually a function of Weighted PLR and NF. So if NF is constant at 5.382E-8 m3/s (3 gpm/ton), the curve can be depicted as follows:

Minimum Tower Design Wet Bulb Boundary Condition [fig:minimum-tower-design-wet-bulb-boundary]

The second boundary curve is given by:

MinActualWb=C1+C2MinDsnWB+C3WPLR+C4TwrDsnWB+C5NF

where:

C1-C5 are the curve coefficients

MinDsnWB is from first boundary equation (C)

TwrDsnWB is the tower design inlet Air Wet-Bulb Temperature (C)

WPLR is the weighted PLR which is equal to ChillerCoolingLoadThisTimestep / NominalChillerCapacity

NF is the normalized condenser water flow per unit of tower capacity (m3/W-s) which is equal to Design Tower Flow Rate / Design Tower Capacity (typically at 5.382E-8 m3/s, i.e., 3 gpm/ton)

MinActualWb is compared against this time step’s outside air wet bulb. This curve is usually a function of MinDesignWB, WeightedRatio and TwrDesignWB. So if TwrDesignWB is constant at 25.6C (78F), and NF = 5.382E-8 m3/s (3 gpm/ton), the curve can be depicted as follows:

Minimum Wet Bulb Boundary Condition [fig:minimum-wet-bulb-boundary-condition]

The Optimized Condenser Entering Water Temperature is calculated with this equation:

OptCondEntTemp=C1+C2OaWb+C3WPLR+C4TwrDsnWB+C5NF

where:

C1-C5 are curve coefficients

OaWB is at this timestep’s outside air wetbulb (C)

TwrDsnWB is the tower design inlet Air Wet-Bulb Temperature (C)

WPLR is the weighted PLR which is equal to ChillerCoolingLoadThisTimestep / NominalChillerCapacity

NF is the normalized condenser water flow per unit of tower capacity (m3/W-s) which is equal to Design Tower Flow Rate / Design Tower Capacity (typically 5.382E-8 m3/s, i.e., 3 gpm/ton)

A graph of the curve can be seen in Figure [fig:optimum-ewt-vs-plr-oawb].

Optimum EWT vs PLR & OaWb [fig:optimum-ewt-vs-plr-oawb]

The optimized condenser entering water temperature is calculated but is not necessarily used each timestep. If OptCondEntTemp does not fall within the bounds established by MinDsnWB and MinActualWb, then the value from the Default Condenser Entering Water Temperature Schedule is used for the Condenser Entering Water Set Point instead.

Special Note for Multiple Towers[LINK]

This control scheme is available for multiple towers by following two steps:

  • Use average tower conditions in the curves for the independent variables related to the towers

  • Make sure the setpoint is applied to either the condenser supply outlet node or use a node list to apply it to each tower outlet node

Ideal Condenser Entering Water Temperature Reset[LINK]

The object determines a “near-optimal” condenser water entering set point at each time step that will result in minimum net energy consumption for the chiller and cooling tower plant. The “ideal” chiller-tower optimization scheme uses a search algorithm to find the ideal optimal setpoint at a given timestep. This requires resimulating HVAC systems at each timestep until finding an “optimal” condenser water entering setpoint (OptSetpoint) which gives the minimum total chiller, cooling tower, chilled water pump and condenser water pump power consumption (TEC). The OptSetpoint falls between realistic minimum and maximum boundaries, which are set by the user. The minimum boundary is determined based on the minimum lift (user input) and evaporator leaving water temperature. The maximum boundary is specified by the user. It is assumed that a single minimum point exists between these boundaries. The following steps are used to find “optimal” setpoint:

  1. Set an initial setpoint value for the iteration to a user-defined maximum condenser entering water temperature (Toptset1) and calculate TEC.

  2. Decrease the setpoint value by 1C (Toptset2 = Toptset1–1C) and calculate TEC.

  3. Compare the TEC in Step 1 (TEC1) and TEC in Step 2 (TEC2), i.e., (dTEC1 = TEC1–TEC2).

  4. If dTEC1 is negative, stop the iteration and set the “optimal” setpoint to Toptset1.

  5. If dTEC1 is positive, Decrease the setpoint value by 1C and calculate TEC. Compare the TECs and repeat this step (i.e., dTECN = TECN–TECN+1) until either ToptsetN+1 reaches to the minimum boundary value or dTECN becomes negative.

  6. If ToptsetN reaches to the minimum boundary value and still dTECN is positive, set the “optimal” setpoint to ToptsetN+1.

  7. If TECN becomes negative, decrease ToptsetN1 by 0.2C and calculate TEC. Compare the TECs and repeat this step (i.e., dTECM = TECM–TECM+1) until dTECM becomes negative. Then set the “optimal” setpoint to ToptsetM+1.

Plant Return Water Control Setpoint Reset[LINK]

The input objects:

allow for controlling the temperature of the water (or a different fluid defined for the plant) that is returning back to the plant supply equipment. In a typical chilled water loop configuration, this is essentially controlling the temperature of the water entering the chiller. In a typical hot water loop configuration, this is essentially controlling the temperature of the water entering the boiler.

The target return temperature can be specified by:

  • providing a constant value to use throughout the simulation, or

  • scheduling the value to vary through the simulation (which then allows custom EMS overriding of the scheduled value), or

  • using a separate setpoint manager to set the setpoint on the return node itself, which is then retrieved by this reset manager.

Operation[LINK]

The setpoint manager senses conditions on two named nodes, which should correspond to a central plant’s supply side inlet and outlet nodes, the return and supply nodes, respectively. The temperature and flow rate information is used in a series of calculations in order to determine a setpoint to specify on the supply outlet node which will in turn provide the target desired return temperature on the supply inlet node. The calculations are summarized for a chilled water loop here:

  1. Use the current supply and demand temperatures to calculate an average temperature for property calculation: Cp=f(Tavg)=f(Tret+Tsup2)

  2. Calculate the current loop demand using: ˙Q=˙mCp(TretTsup)

  3. Assuming that this load will be the same moving forward, we can calculate what supply temperature we should target in order to meet the desired return temperature.

  4. So retrieve the current target return temperature, Tret,target , either from a schedule or constant value.

  5. Then calculate the supply temperature setpoint using: Tsup,sp=Tret,target˙Q˙mCp

  6. Constrain the value to user-specified limiting min/max values

For a chilled water loop, the user-specified minimum is the default setpoint used in cases of no-load or negative-load. In a hot-water loop the user-specified maximum is used for these situations. Also, in a hot-water loop the sign of the demand will be reversed.

Key control note[LINK]

The setpoint will be reset at the beginning of a system time step, and remain that way through that time step. The setpoint is calculated based on the latest known value of loop demand and loop flow rate. If the demand and flow rate remain the same for the currently calculated time step, the loop will maintain control well. However, if either changes, there will be a lag effect while the loop attempts to maintain control. Consider the following plot shown in Figure [fig:key-control-plot].

Setpoint Manager Reset for Return Control Plot 1 [fig:key-control-plot]

Throughout the day, the heat addition (green line) to the loop increases. Each time it increases, there is a small period of time where the loop attempts to regain control of the return temperature. The setpoint is only reset at the beginning of the system time step, so as the plant converges within a single time step, the load will vary and the return temperature may not be exactly on target.

This is not necessarily a big problem. However, some users may be especially interested in very tight control of the return temperature. This can be done very easily by simply reducing the simulation time step. For example, in the following plot (see Figure [fig:key-control-plot2], the time step was reduced from 10 minutes to 1 minute.

Setpoint Manager Reset for Return Control Plot 2 [fig:key-control-plot2]

With the smaller time step, the reporting frequency is higher. But more importantly, with the smaller time step, the setpoint can be corrected much more often. Because of this, the return temperature regains control much quicker than with the larger time step.

However, these examples are for a jagged demand profile full of discontinuous step changes in loop demand. As a final example, this return water temperature control is applied to the large office reference building chilled water loop. This is shown in Figure [fig:key-control-plot3]

Setpoint Manager Reset for Return Control Plot 3 [fig:key-control-plot3]

Note the control is working properly, maintaining a return temperature around the target of 12 degrees where possible. Since the load profile is a typical -smooth- profile, the control is also much smoother. This should be a good representation of the capabilities of this setpoint manager.

For jagged load profiles, if tight control is highly important, choosing a smaller timestep (~1 minute) is recommended. For normal building profiles, the typical range of timesteps (~15 minute) should be fully satisfactory.