blockZoneTemperatures

Block outputs thermal zone cooling and heating setpoint

Information

This sequence sets the thermal zone cooling and heating setpoints. The implementation is according to the ASHRAE Guideline 36 (G36), PART 5.B.3. The calculation is done following the steps below.

Each zone shall have separate occupied and unoccupied heating and cooling setpoints.

The active setpoints shall be determined by the Operation Mode of the zone group.

  • The setpoints shall be the occupied setpoints during Occupied, Warm up, and Cool-down modes.
  • The setpoints shall be the unoccupied setpoints during Unoccupied, Setback, and Setup modes.

The software shall prevent

  • The heating setpoint from exceeding the cooling setpoint minus 0.56 °C (1 °F).
  • The unoccupied heating setpoint from exceeding the occupied heating setpoint.
  • The unoccupied cooling setpoint from being less than occupied cooling setpoint.

Where the zone has a local setpoint adjustment knob/button

  • The setpoint adjustment offsets established by the occupant shall be software points that are persistent (e.g. not reset daily), but the actual offset used in control logic shall be adjusted based on limits and modes as described below.
  • The adjustment shall be capable of being limited in softare. (a. As a default, the active occupied cooling setpoint shall be limited between 22 °C (72 °F) and 27 °C (80 °F); b. As a default, the active occupied heating setpoint shall be limited between 18 °C (65 °F) and 22 °C (72 °F);)
  • The active heating and cooling setpoint shall be independently adjustable, respecting the limits and anti-overlap logic described above. If zone thermostat provides only a single setpoint adjustment, then the adjustment shall move both the same amount, within the limits described above.
  • The adjustment shall only affect occupied setpoints in Occupied mode, and shall have no impact on setpoints in all other modes.
  • At the onset of demand limiting, the local setpoint adjustment value shall be frozen. Further adjustment of the setpoint by local controls shall be suspended for the duration of the demand limit event.

Cooling demand limit setpoint adjustment

The active cooling setpoints for all zones shall be increased when a demand limit is imposed on the associated zone group. The operator shall have the ability to exempt individual zones from this adjustment through the normal Building Automation System (BAS) user interface. Changes due to demand limits are not cumulative.

  • At Demand Limit Level 1, increase setpoint by 0.56 °C (1 °F).
  • At Demand Limit Level 2, increase setpoint by 1.1 °C (2 °F).
  • At Demand Limit Level 1, increase setpoint by 2.2 °C (4 °F).

Heating demand limit setpoint adjustment

The active heating setpoints for all zones shall be decreased when a demand limit is imposed on the associated zone group. The operator shall have the ability to exempt individual zones from this adjustment through the normal BAS user interface. Changes due to demand limits are not cumulative.

  • At Demand Limit Level 1, decrease setpoint by 0.56 °C (1 °F).
  • At Demand Limit Level 2, decrease setpoint by 1.1 °C (2 °F).
  • At Demand Limit Level 1, decrease setpoint by 2.2 °C (4 °F).

Window switches

For zones that have operable windows with indicator switches, when the window switch indicates the window is open, the heating setpoint shall be temporarily set to 4.4 °C (40 °F) and the cooling setpoint shall be temporarily set to 49 °C (120 °F). When the window switch indicates the window is open during other than Occupied Mode, a Level 4 alarm shall be generated.

h. Occupancy sensor

  • When the switch indicates the space has been unpopulated for 5 minutes continuously during the Occupied Mode, the active heating setpoint shall be decreased by 1.1 °C (2 °F) and the cooling setpoint shall be increased by 1.1 °C (2 °F).
  • When the switch indicated that the space has been populated for 1 minute continuously, the active heating and cooling setpoints shall be restored to their previously values.

Hierarchy of setpoint adjustments: the following adjustment restrictions shall prevail in order from highest to lowest priority.

  • Setpoint overlap restriction
  • Absolute limits on local setpoint adjustment
  • Window swtiches
  • Demand limit (a. Occupancy sensors; b. Local setpoint adjustment)
  • Scheduled setpoints based on zone group mode

Parameters

TypeNameDefaultDescription
Sensors
Booleanhave_occSenCheck if the zone has occupancy sensor
Booleanhave_winSenCheck if the zone has window status sensor
Setpoint adjustable setting
BooleancooAdjfalseFlag, set to true if both cooling and heating setpoint are adjustable separately
BooleanheaAdjfalseFlag, set to true if heating setpoint is adjustable
BooleansinAdjfalseFlag, set to true if both cooling and heating setpoint are adjustable through a single common knob
BooleanignDemLimtrueFlag, set to true to exempt individual zone from demand limit setpoint adjustment
Setpoints limits setting
RealTZonCooOnMax300.15Maximum cooling setpoint during on
RealTZonCooOnMin295.15Minimum cooling setpoint during on
RealTZonHeaOnMax295.15Maximum heating setpoint during on
RealTZonHeaOnMin291.15Minimum heating setpoint during on
RealTZonCooSetWinOpe322.15Cooling setpoint when window is open
RealTZonHeaSetWinOpe277.15Heating setpoint when window is open
Demand control › Setpoint adjustment
RealincTSetDem_10.56Cooling setpoint increase value (degC) when cooling demand limit level 1 is imposed
RealincTSetDem_21.1Cooling setpoint increase value (degC) when cooling demand limit level 2 is imposed
RealincTSetDem_32.2Cooling setpoint increase value (degC) when cooling demand limit level 3 is imposed
RealdecTSetDem_10.56Heating setpoint decrease value (degC) when heating demand limit level 1 is imposed
RealdecTSetDem_21.1Heating setpoint decrease value (degC) when heating demand limit level 2 is imposed
RealdecTSetDem_32.2Heating setpoint decrease value (degC) when heating demand limit level 3 is imposed

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.RealInputTZonCooSetOccOccupied zone cooling setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealInputTZonHeaSetOccOccupied zone heating setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealInputTZonCooSetUnoUnoccupied zone cooling setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealInputTZonHeaSetUnoUnoccupied zone heating setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealInputsetAdjSetpoint adjustment value
Buildings.Controls.OBC.CDL.Interfaces.RealInputheaSetAdjHeating setpoint adjustment value
Buildings.Controls.OBC.CDL.Interfaces.IntegerInputuOpeModAHU operation mode status signal
Buildings.Controls.OBC.CDL.Interfaces.IntegerInputuCooDemLimLevCooling demand limit level
Buildings.Controls.OBC.CDL.Interfaces.IntegerInputuHeaDemLimLevHeating demand limit level
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuOccSenOccupancy sensor (occupied=true, unoccupied=false)
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuWinStaWindow status (open=true, close=false)
Buildings.Controls.OBC.CDL.Interfaces.RealOutputTZonCooSetCooling setpoint temperature
Buildings.Controls.OBC.CDL.Interfaces.RealOutputTZonHeaSetHeating setpoint temperature
Buildings.Controls.OBC.CDL.Interfaces.IntegerOutputyAlaAlarm level

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Logical.Oror2Check if there is cooling/heating demand limit being imposed
Buildings.Controls.OBC.CDL.Logical.EdgeedgIf demand limit is imposed
Buildings.Controls.OBC.CDL.Discrete.TriggeredSamplercooSetFreFreeze current cooling setpoint when demand limit is imposed
Buildings.Controls.OBC.CDL.Logical.Notnot3Logical not
Buildings.Controls.OBC.CDL.Logical.Oror5Check if demand limit should be ignored or if there is no demand limit
Buildings.Obsolete.Controls.OBC.CDL.Logical.Or3or1Check if cooling demand limit level is imposed
Buildings.Controls.OBC.CDL.Logical.Notnot1Logic not
Buildings.Controls.OBC.CDL.Reals.AddParameteraddPar3Increase setpoint by 2.2 degC
Buildings.Controls.OBC.CDL.Reals.AddParameteraddPar1Increase setpoint by 1.1 degC
Buildings.Controls.OBC.CDL.Reals.AddParameteraddPar2Increase setpoint by 0.56 degC
Buildings.Controls.OBC.CDL.Reals.Multiplypro6Output product of the two inputs
Buildings.Controls.OBC.CDL.Reals.MultiplyproOutput product of the two inputs
Buildings.Controls.OBC.CDL.Reals.Multiplypro1Output product of the two inputs
Buildings.Controls.OBC.CDL.Reals.Multiplypro2Output product of the two inputs
Buildings.Controls.OBC.CDL.Discrete.TriggeredSamplerheaSetFreFreeze current heating setpoint when demand limit is imposed
Buildings.Obsolete.Controls.OBC.CDL.Logical.Or3or4Check if heating demand limit level is imposed
Buildings.Controls.OBC.CDL.Logical.Notnot2Logical not
Buildings.Controls.OBC.CDL.Reals.Multiplypro7Output product of the two inputs
Buildings.Controls.OBC.CDL.Reals.AddParameteraddPar6Decrease setpoint by 0.56 degC
Buildings.Controls.OBC.CDL.Reals.AddParameteraddPar5Decrease setpoint by 1.1 degC
Buildings.Controls.OBC.CDL.Reals.AddParameteraddPar4Decrease setpoint by 2.2 degC
Buildings.Controls.OBC.CDL.Reals.Multiplypro5Output product of the two inputs
Buildings.Controls.OBC.CDL.Reals.Multiplypro4Output product of the two inputs
Buildings.Controls.OBC.CDL.Reals.Multiplypro3Output product of the two inputs
Buildings.Controls.OBC.CDL.Logical.TimertimCheck whether the zone has been unpopulated for 5 minutes continuously during occupied mode
Buildings.Controls.OBC.CDL.Logical.TrueFalseHoldtruHolWhen the zone is unpopulated by more than 5 minute and then becomes populated, hold the change by 1 minute
Buildings.Controls.OBC.CDL.Logical.Edgeedg1Instant when the zone becomes more than 5 minutes
Buildings.Controls.OBC.CDL.Reals.AddParameterheaSetDecHeating setpoint decrease due to the 5 minutes unpopulation under occupied mode
Buildings.Controls.OBC.CDL.Reals.AddParametercooSetIncHeating setpoint increase due to the 5 minutes unpopulation under occupied mode
Buildings.Controls.OBC.CDL.Discrete.TriggeredSamplercooSetSamSample current cooling setpoint when zone becomes unpopulated by 5 minutes
Buildings.Controls.OBC.CDL.Discrete.TriggeredSamplerheaSetSamSample current heating setpoint when zone becomes unpopulated by 5 minutes
Buildings.Controls.OBC.CDL.Reals.Addadd1Adjust heating setpoint
Buildings.Controls.OBC.CDL.Reals.Addadd2Adjust cooling setpoint
Buildings.Controls.OBC.CDL.Reals.LimitercooSetLimLimit occupied zone cooling setpoint
Buildings.Controls.OBC.CDL.Reals.LimiterheaSetLimLimit occupied zone heating setpoint
Buildings.Controls.OBC.CDL.Reals.AddParameteraddParCooling setpoint minus 0.56 degC

Revisions

  • October 11, 2017, by Michael Wetter:
    Removed wrong conditional on yAla.
  • August 17, 2017, by Jianjun Hu:
    First implementation.