blockSystemRequests

Output system requests for VAV reheat terminal unit control

Information

This sequence outputs the system reset requests, i.e.,

  • the cooling supply air temperature reset requests yZonTemResReq,
  • the static pressure reset requests yZonPreResReq,
  • the hot water reset requests yHeaValResReq, and
  • the boiler plant reset requests yHeaPlaReq.

The calculations are according to ASHRAE Guideline 36 (G36), PART 5.E.9, in the steps shown below.

a. Cooling SAT reset requests yZonTemResReq

  1. If the zone temperature TZon exceeds the zone cooling setpoint TZonCooSet by 2.8 °C (5 °F)) for 2 minutes and after suppression period due to setpoint change per G36 Part 5.A.20, send 3 requests (yZonTemResReq=3).
  2. Else if the zone temperature TZon exceeds the zone cooling setpoint TZonCooSet by 1.7 °C (3 °F) for 2 minutes and after suppression period due to setpoint change per G36 Part 5.A.20, send 2 requests (yZonTemResReq=3).
  3. Else if the cooling loop uCoo is greater than 95%, send 1 request (yZonTemResReq=1) until uCoo is less than 85%.
  4. Else if uCoo is less than 95%, send 0 request (yZonTemResReq=0).

b. Static pressure reset requests yZonPreResReq

  1. If the measured airflow VDis_flow is less than 50% of setpoint VDisSet_flow while it is greater than zero for 1 minute, send 3 requests (yZonPreResReq=3).
  2. Else if the measured airflow VDis_flow is less than 70% of setpoint VDisSet_flow while it is greater than zero for 1 minute, send 2 requests (yZonPreResReq=2).
  3. Else if the damper position uDam is greater than 95%, send 1 request (yZonPreResReq=1) until uDam is less than 85%.
  4. Else if uDam is less than 95%, send 0 request (yZonPreResReq=0).

c. If there is a hot water coil (have_heaWatCoi=true), hot water reset requests yHeaValResReq

  1. If the discharge air temperature TDis is 17 °C (30 °F) less than the setpoint TDisHeaSet for 5 minutes, send 3 requests (yHeaValResReq=3).
  2. Else if the discharge air temperature TDis is 8.3 °C (15 °F) less than the setpoint TDisHeaSet for 5 minutes, send 2 requests (yHeaValResReq=2).
  3. Else if the hot water valve position uHeaVal is greater than 95%, send 1 request (yHeaValResReq=1) until uHeaVal is less than 85%.
  4. Else if uHeaVal is less than 95%, send 0 request (yHeaValResReq=0).

d. If there is hot water coil (have_heaWatCoi=true) and a boiler plant (have_boiPla=true), send the boiler plant that serves the zone a boiler plant requests yHeaPlaReq as follows:

  1. If the hot water valve position uHeaVal is greater than 95%, send 1 request (yHeaPlaReq=1) until uHeaVal is less than 10%.
  2. Else if uHeaVal is less than 95%, send 0 request (yHeaPlaReq=0).

Implementation

Some input signals are time sampled, because the output that is generated from these inputs are used in the trim and respond logic, which is also time sampled. However, signals that use a delay are not sampled, as sampling were to change the dynamic response.

Parameters

TypeNameDefaultDescription
RealsamplePeriod120Sample period of component, set to the same value as the trim and respond that process yPreSetReq
Booleanhave_heaWatCoiFlag, true if there is a hot water coil
Booleanhave_heaPlaFlag, true if there is a boiler plant
RealerrTZonCoo_12.8Limit value of difference between zone temperature and cooling setpoint for generating 3 cooling SAT reset requests
RealerrTZonCoo_21.7Limit value of difference between zone temperature and cooling setpoint for generating 2 cooling SAT reset requests
RealerrTDis_117Limit value of difference between discharge air temperature and its setpoint for generating 3 hot water reset requests
RealerrTDis_28.3Limit value of difference between discharge air temperature and its setpoint for generating 2 hot water reset requests
Duration times
RealdurTimTem120Duration time of zone temperature exceeds setpoint
RealdurTimFlo60Duration time of airflow rate less than setpoint
RealdurTimDisAir300Duration time of discharge air temperature is less than setpoint

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.RealInputTZonZone temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputTZonCooSetZone cooling setpoint temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputuCooCooling loop signal
Buildings.Controls.OBC.CDL.Interfaces.RealInputVDis_flowMeasured discharge airflow rate
Buildings.Controls.OBC.CDL.Interfaces.RealInputVDisSet_flowDischarge airflow rate setpoint
Buildings.Controls.OBC.CDL.Interfaces.RealInputyDam_actualActual damper position
Buildings.Controls.OBC.CDL.Interfaces.RealInputTDisHeaSetDischarge airflow setpoint temperature for heating
Buildings.Controls.OBC.CDL.Interfaces.RealInputTDisMeasured discharge airflow temperature
Buildings.Controls.OBC.CDL.Interfaces.RealInputuHeaValHeating valve position
Buildings.Controls.OBC.CDL.Interfaces.IntegerOutputyZonPreResReqZone static pressure reset requests
Buildings.Controls.OBC.CDL.Interfaces.IntegerOutputyZonTemResReqZone cooling supply air temperature reset request
Buildings.Controls.OBC.CDL.Interfaces.IntegerOutputyHeaValResReqHot water reset requests
Buildings.Controls.OBC.CDL.Interfaces.IntegerOutputyHeaPlaReqHeating plant request

Components

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Reals.HysteresishysCheck if zone temperature is greater than cooling setpoint by errTZonCoo_1
Buildings.Controls.OBC.CDL.Reals.Hysteresishys3Check if zone temperature is greater than cooling setpoint by errTZonCoo_2
Buildings.Controls.OBC.CDL.Reals.Hysteresishys4Check if damper position is greater than 0.95
Buildings.Controls.OBC.CDL.Reals.Hysteresishys5Check if cooling loop signal is greater than 0.95
Buildings.Controls.OBC.CDL.Reals.Hysteresishys7Check if discharge airflow setpoint is greater than 0
Buildings.Controls.OBC.CDL.Reals.Hysteresishys8Check if discharge air temperature is errTDis_1 less than setpoint
Buildings.Controls.OBC.CDL.Reals.Hysteresishys9Check if discharge air temperature is errTDis_2 less than setpoint
Buildings.Controls.OBC.CDL.Reals.Hysteresishys10Check if valve position is greater than 0.95
Buildings.Controls.OBC.CDL.Reals.Hysteresishys11Check if valve position is greater than 0.95

Revisions

  • June 26, 2024, by Antoine Gautier:
    Replaced hold with pre to break the algebraic loop involving the latch component. This is for #3915.
  • March 1, 2023, by Michael Wetter:
    Changed constants from 0 to 0.0 and 1 to 1.0.
    This is for #3267.
  • September 13, 2017, by Jianjun Hu:
    First implementation.