Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.

Package Content

Name Description
Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Validation.Setpoints Setpoints Validate the outdoor airflow setpoint according to the ASHRAE 62.1

Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Validation.Setpoints Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Validation.Setpoints

Validate the outdoor airflow setpoint according to the ASHRAE 62.1

Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Validation.Setpoints

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Setpoints.

Modelica definition

model Setpoints "Validate the outdoor airflow setpoint according to the ASHRAE 62.1" Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Setpoints noSenZon( final VAreBreZon_flow=0.009, final VPopBreZon_flow=0.005, final VMin_flow=0.018) "Setpoints of zone without any sensors"; Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Setpoints winSenZon( final have_winSen=true, final VAreBreZon_flow=0.009, final VPopBreZon_flow=0.005, final VMin_flow=0.018) "Setpoints of a zone with window sensor"; Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Setpoints occSenZon( final have_occSen=true, final VAreBreZon_flow=0.009, final VPopBreZon_flow=0.005, final VMin_flow=0.018) "Setpoints of a zone with occupancy sensor"; Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Setpoints co2SenZon( final have_CO2Sen=true, have_typTerUni=true, final VAreBreZon_flow=0.009, final VPopBreZon_flow=0.005, final VMin_flow=0.018) "Setpoints of a zone with CO2 sensor and typical terminal unit"; Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Setpoints co2SenZonParFan( final have_CO2Sen=true, have_parFanPowUni=true, final VAreBreZon_flow=0.009, final VPopBreZon_flow=0.005, final VMin_flow=0.018) "Setpoints of a zone with CO2 sensor and parallel fan-powered terminal unit"; Buildings.Controls.OBC.ASHRAE.G36.VentilationZones.ASHRAE62_1.Setpoints co2SenSZVAV( final have_CO2Sen=true, have_SZVAV=true, final VAreBreZon_flow=0.009, final VPopBreZon_flow=0.005, 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.Reals.Sources.Sin zonTem( final amplitude=8, final freqHz=1/7200, final offset=273.15 + 15) "Zone temperature"; Buildings.Controls.OBC.CDL.Reals.Sources.Sin disTem( final amplitude=-5, final freqHz=1/7200, final offset=273.15 + 20) "Discharge air temperature"; 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(booToInt.y, noSenZon.uOpeMod); connect(zonTem.y, noSenZon.TZon); connect(disTem.y, noSenZon.TDis); connect(booToInt.y, winSenZon.uOpeMod); connect(zonTem.y, winSenZon.TZon); connect(disTem.y, winSenZon.TDis); connect(booToInt.y, occSenZon.uOpeMod); connect(zonTem.y, occSenZon.TZon); connect(disTem.y, occSenZon.TDis); connect(occSta.y, occSenZon.u1Occ); connect(booToInt.y, co2SenZon.uOpeMod); connect(zonTem.y, co2SenZon.TZon); connect(disTem.y, co2SenZon.TDis); 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(zonTem.y, co2SenZonParFan.TZon); connect(disTem.y, co2SenZonParFan.TDis); connect(booToInt.y, co2SenSZVAV.uOpeMod); connect(co2Con.y, co2SenSZVAV.ppmCO2); connect(zonTem.y, co2SenSZVAV.TZon); connect(disTem.y, co2SenSZVAV.TDis); 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;