Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.Validation
Collection of validation models
Information
This package contains validation models for the classes in Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.
Package Content
| Name | Description | 
|---|---|
|  Setpoints | Validate the outdoor airflow setpoint according to the Title 24 | 
 Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.Validation.Setpoints
Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.Validation.Setpoints
Validate the outdoor airflow setpoint according to the Title 24
 
Information
This example validates Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.Setpoints.
Modelica definition
model Setpoints "Validate the outdoor airflow setpoint according to the Title 24"
  Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.Setpoints
    noSenZon(
    final VOccMin_flow=0.015,
    final VAreMin_flow=0.012,
    final VMin_flow=0.018) "Setpoints of zone without any sensors";
  Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.Setpoints
    winSenZon(
    final VOccMin_flow=0.015,
    final VAreMin_flow=0.012,
    final have_winSen=true,
    final VMin_flow=0.018) "Setpoints of a zone with window sensor";
  Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.Setpoints
    occSenZon(
    final VOccMin_flow=0.015,
    final VAreMin_flow=0.012,
    final have_occSen=true,
    final VMin_flow=0.018) "Setpoints of a zone with occupancy sensor";
  Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.Setpoints
    co2SenZon(
    final VOccMin_flow=0.015,
    final VAreMin_flow=0.012,
    final have_CO2Sen=true,
    final have_typTerUni=true,
    final VMin_flow=0.018)
    "Setpoints of a zone with  CO2 sensor and typical terminal unit";
  Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.Setpoints
    co2SenZonParFan(
    final VOccMin_flow=0.015,
    final VAreMin_flow=0.012,
    final have_CO2Sen=true,
    final have_parFanPowUni=true,
    final VMin_flow=0.018)
    "Setpoints of a zone with  CO2 sensor and parallel fan-powered terminal unit";
  Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.Title24.Setpoints
    co2SenSZVAV(
    final VOccMin_flow=0.015,
    final VAreMin_flow=0.012,
    final have_CO2Sen=true,
    final have_SZVAV=true,
    final VMin_flow=0.018)
    "Setpoints of a zone with  CO2 sensor and single zone VAV AHU";
  Buildings.Controls.OBC.CDL.Reals.Sources.Ramp ram(
    final duration=7200)
    "Generate ramp output";
  Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr(
    final t=0.75)
    "Check if input is greater than 0.75";
  Buildings.Controls.OBC.CDL.Logical.Not not1 "Logical not";
  Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt(
    final integerTrue=1,
    final integerFalse=2)
    "Convert boolean input to integer output";
  Buildings.Controls.OBC.CDL.Logical.Sources.Pulse winSta(
    final period=7200,
    final width=0.2) "Window operating status";
  Buildings.Controls.OBC.CDL.Logical.Sources.Pulse occSta(
    final period=7200,
    final width=0.8)
    "Occupancy status";
  Buildings.Controls.OBC.CDL.Reals.Sources.Ramp co2Con(
    final height=300,
    final duration=7200,
    offset=800) "CO2 concentration";
  Buildings.Controls.OBC.CDL.Reals.Sources.Ramp ram1(
    final height=2.6,
    final duration=7200,
    offset=0.6) "Generate ramp output";
  Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt
    "Convert real input to integer output";
  Buildings.Controls.OBC.CDL.Reals.Sources.Sin parFanFlo(
    final amplitude=0.01,
    final freqHz=1/7200,
    final offset=0.008) "Parallel fan flow rate";
  Buildings.Controls.OBC.CDL.Reals.Sources.Constant CO2Set(
    final k=894)
    "CO2 concentration setpoint";
  Buildings.Controls.OBC.CDL.Logical.Not not2 "Logical not";
equation 
  connect(ram.y, greThr.u);
  connect(greThr.y, not1.u);
  connect(not1.y, booToInt.u);
  connect(occSta.y, occSenZon.u1Occ);
  connect(booToInt.y, co2SenZon.uOpeMod);
  connect(co2Con.y, co2SenZon.ppmCO2);
  connect(booToInt.y, co2SenZonParFan.uOpeMod);
  connect(ram1.y, reaToInt.u);
  connect(reaToInt.y, co2SenZonParFan.uZonSta);
  connect(co2Con.y, co2SenZonParFan.ppmCO2);
  connect(parFanFlo.y, co2SenZonParFan.VParFan_flow);
  connect(booToInt.y, co2SenSZVAV.uOpeMod);
  connect(co2Con.y, co2SenSZVAV.ppmCO2);
  connect(CO2Set.y, co2SenZonParFan.ppmCO2Set);
  connect(CO2Set.y, co2SenSZVAV.ppmCO2Set);
  connect(CO2Set.y, co2SenZon.ppmCO2Set);
  connect(winSta.y, not2.u);
  connect(not2.y, winSenZon.u1Win);
end Setpoints;
