Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.

Note that most validation models contain simple input data which may not be realistic, but for which the correct output can be obtained through an analytic solution. The examples plot various outputs, which have been verified against these solutions. These model outputs are stored as reference data and used for continuous validation whenever models in the library change.

Package Content

Name Description
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.FreezeProtection FreezeProtection Validate model for implementing freeze protection
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.FreezeProtection_Disable FreezeProtection_Disable Validate model for disabling freeze protection
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.PlantRequests PlantRequests Validate model for calculating the plant requests
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefDamper ReliefDamper Validate model for calculating relief damper control
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefFan ReliefFan Validate model for controlling relief fan
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefFanGroup ReliefFanGroup Validate model for controlling relief fans group
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanAirflowTracking ReturnFanAirflowTracking Validate model for controlling return fan of units using return fan with airflow tracking
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanDirectPressure ReturnFanDirectPressure Validate model for calculating return fan control with direct building pressure of multi zone VAV AHU
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyFan SupplyFan Validate SupplyFan
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplySignals SupplySignals Validate model for controlling coil valve postion of multi zone VAV AHU
Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyTemperature SupplyTemperature Validate model for calculating supply air temperature of multi zone VAV AHU

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.FreezeProtection Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.FreezeProtection

Validate model for implementing freeze protection

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.FreezeProtection

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.FreezeProtection for air handling unit serving multiple zones.

Modelica definition

model FreezeProtection "Validate model for implementing freeze protection" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.FreezeProtection frePro( final buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefDamper, final minOADes=Buildings.Controls.OBC.ASHRAE.G36.Types.OutdoorAirSection.DedicatedDampersAirflow, final freSta=Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeStat.No_freeze_stat) "Freeze protection control"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp outDamPos( final height=0.5, final offset=0.1, final duration=3600) "Outdoor air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant outDamPosMin( final k=0.1) "Outdoor air damper minimum position"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp heaCoiPos( final height=0.46, final offset=0.5, final duration=3600) "Heating coil position"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant minOutDamPos( final k=0.15) "Minimum outdoor air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp retDamPos( final height=0.2, final offset=0.7, final duration=3600) "Return air damper position"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse freRes( final width=0.95, final period=3600) "Freeze protection reset"; Buildings.Controls.OBC.CDL.Logical.Not not1 "Logical not"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp supFanSpe( final height=0.2, final offset=0.5, final duration=3600) "Supply fan speed"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp cooCoiPos( final height=0.2, final offset=0.5, final duration=3600) "Cooling coil position"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp supTem( final height=-4, final offset=273.15 + 6, final duration=3600) "Supply air temperature"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp mixTem( final height=-5, final offset=273.15 + 8, final duration=3600) "Mixed air temperature"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr( final h=0.01) "Check if the supply fan is proven on"; equation connect(freRes.y, not1.u); connect(outDamPosMin.y,frePro. uOutDamPosMin); connect(outDamPos.y, frePro.uOutDam); connect(heaCoiPos.y,frePro. uHeaCoi); connect(minOutDamPos.y, frePro.uMinOutDam); connect(retDamPos.y, frePro.uRetDam); connect(supTem.y, frePro.TAirSup); connect(not1.y, frePro.u1SofSwiRes); connect(supFanSpe.y, frePro.uSupFan); connect(cooCoiPos.y,frePro. uCooCoi); connect(mixTem.y, frePro.TAirMix); connect(supFanSpe.y, greThr.u); connect(greThr.y, frePro.u1SupFan); end FreezeProtection;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.FreezeProtection_Disable Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.FreezeProtection_Disable

Validate model for disabling freeze protection

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.FreezeProtection_Disable

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.FreezeProtection for air handling unit serving multiple zones, when disabling the freeze protection.

Modelica definition

model FreezeProtection_Disable "Validate model for disabling freeze protection" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.FreezeProtection frePro( final have_frePro=false, final buiPreCon=Buildings.Controls.OBC.ASHRAE.G36.Types.BuildingPressureControlTypes.ReliefDamper, final minOADes=Buildings.Controls.OBC.ASHRAE.G36.Types.OutdoorAirSection.DedicatedDampersAirflow, final freSta=Buildings.Controls.OBC.ASHRAE.G36.Types.FreezeStat.No_freeze_stat) "Freeze protection control"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp outDamPos( final height=0.5, final offset=0.1, final duration=3600) "Outdoor air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp heaCoiPos( final height=0.46, final offset=0.5, final duration=3600) "Heating coil position"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant minOutDamPos( final k=0.15) "Minimum outdoor air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp retDamPos( final height=0.2, final offset=0.7, final duration=3600) "Return air damper position"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp supFanSpe( final height=0.2, final offset=0.5, final duration=3600) "Supply fan speed"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp cooCoiPos( final height=0.2, final offset=0.5, final duration=3600) "Cooling coil position"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr( final h=0.01) "Check if the supply fan is proven on"; equation connect(outDamPos.y, frePro.uOutDam); connect(heaCoiPos.y,frePro. uHeaCoi); connect(minOutDamPos.y, frePro.uMinOutDam); connect(retDamPos.y, frePro.uRetDam); connect(supFanSpe.y, frePro.uSupFan); connect(cooCoiPos.y,frePro. uCooCoi); connect(supFanSpe.y, greThr.u); connect(greThr.y, frePro.u1SupFan); end FreezeProtection_Disable;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.PlantRequests Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.PlantRequests

Validate model for calculating the plant requests

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.PlantRequests

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.PlantRequests for air handling unit serving multiple zones.

Modelica definition

model PlantRequests "Validate model for calculating the plant requests" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.PlantRequests plaReq "Calculate plant request"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.PlantRequests plaReq1( final have_hotWatCoi=false) "Calculate plant request"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp supTem( final height=8, final offset=273.15 + 15, final duration=3600) "Supply air temperature"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp supTemSet( final height=6, final offset=273.15 + 14.5, final duration=3600) "Supply air temperature setpoint"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp cooCoi( final height=-0.3, final offset=0.96, final duration=3600, startTime=1000) "Cooling coil position"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp heaCoi( final height=-0.3, final offset=0.96, final duration=3600, startTime=1000) "Heating coil position"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp supTem1( final height=8, final offset=273.15 + 12, final duration=3600) "Supply air temperature"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp supTemSet1( final height=15, final offset=273.15 + 20, final duration=3600) "Supply air temperature setpoint"; Buildings.Controls.OBC.CDL.Reals.Sources.Constant cooCoi1( final k=0) "Cooling coil position"; equation connect(supTem.y, plaReq1.TAirSup); connect(supTemSet.y, plaReq1.TAirSupSet); connect(cooCoi.y, plaReq1.uCooCoi_actual); connect(supTem1.y, plaReq.TAirSup); connect(supTemSet1.y, plaReq.TAirSupSet); connect(cooCoi1.y, plaReq.uCooCoi_actual); connect(heaCoi.y, plaReq.uHeaCoi_actual); end PlantRequests;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefDamper Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefDamper

Validate model for calculating relief damper control

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefDamper

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefDamper for actuated relief damper control without fan for systems with multiple zones.

Modelica definition

model ReliefDamper "Validate model for calculating relief damper control" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefDamper relDam( final k=0.1) "Relief damper control"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefDamper relDam1 "Relief damper control"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse yFan( final period=4000) "Supply fan status"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp dpBui( final height=40, final offset=0, final duration=1800) "Building static presure"; equation connect(yFan.y, relDam.u1SupFan); connect(dpBui.y, relDam.dpBui); connect(yFan.y, relDam1.u1SupFan); connect(dpBui.y, relDam1.dpBui); end ReliefDamper;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefFan Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefFan

Validate model for controlling relief fan

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefFan

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefFan for controlling relief fan that is part of AHU.

Modelica definition

model ReliefFan "Validate model for controlling relief fan" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefFan relFanCon( final k=0.5) "Open relief damper"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefFan relFanCon1 "Turning on relief fan"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefFan relFanCon2 "Turning off relief fan"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse supFan(final width=0.8, final period=3600) "Supply fan status"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp dpBui( final height=40, final offset=0, final duration=1800) "Building static presure"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp dpBui1( final height=-15, final offset=20, final duration=1800, startTime=1800) "Building static presure"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant supFan1( final k=true) "Supply fan status"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp dpBui2( final height=3, final offset=11, final duration=1800) "Building static presure"; equation connect(dpBui.y, relFanCon1.dpBui); connect(dpBui1.y, relFanCon2.dpBui); connect(supFan.y, relFanCon.u1SupFan); connect(supFan1.y, relFanCon1.u1SupFan); connect(supFan1.y, relFanCon2.u1SupFan); connect(dpBui2.y, relFanCon.dpBui); end ReliefFan;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefFanGroup Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefFanGroup

Validate model for controlling relief fans group

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReliefFanGroup

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefFanGroup for relief fan group for systems with multiple zones.

Modelica definition

model ReliefFanGroup "Validate model for controlling relief fans group" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefFanGroup relFanCon(final k=0.5) "Relief damper control, with staging up fans"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefFanGroup relFanCon1 "Relief damper control, with staging up fans and the fan alarm"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReliefFanGroup relFanCon2 "Relief damper control, with the staging up and down fans"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse supFan1( final width=1, final period=4000) "Supply fan status"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp dpBui( final height=40, final offset=0, final duration=1800) "Building static presure"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse supFan2( final width=1, final period=4000, shift=600) "Supply fan status"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr[4]( final t=fill(0.01, 4)) "Check if the relief fan is proven on"; Buildings.Controls.OBC.CDL.Logical.Pre pre[4] "Return relief fan status"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr1[4]( final t=fill(0.01, 4)) "Check if the relief fan is proven on"; Buildings.Controls.OBC.CDL.Logical.Pre pre1[4] "Return relief fan status"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant conInt[4]( final k=fill(0, 4)) "Constant zero"; Buildings.Controls.OBC.CDL.Integers.Sources.Pulse intPul( final amplitude=2, final period=3600, final offset=0) "Fan 1 alarm level"; Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold zerOrdHol[4]( final samplePeriod=fill(20, 4)) "Zero order hold"; Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold zerOrdHol1[4]( final samplePeriod=fill(20, 4)) "Zero order hold"; Buildings.Controls.OBC.CDL.Reals.GreaterThreshold greThr2[4]( final t=fill(0.01, 4)) "Check if the relief fan is proven on"; Buildings.Controls.OBC.CDL.Logical.Pre pre2[4] "Return relief fan status"; Buildings.Controls.OBC.CDL.Discrete.ZeroOrderHold zerOrdHol2[4]( final samplePeriod=fill(20, 4)) "Zero order hold"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp dpBui1( final height=-15, final offset=20, final duration=1800, startTime=1800) "Building static presure"; equation connect(dpBui.y, relFanCon.dpBui); connect(dpBui.y, relFanCon1.dpBui); connect(greThr.y, pre.u); connect(supFan1.y, relFanCon.u1SupFan[1]); connect(supFan2.y, relFanCon.u1SupFan[2]); connect(supFan1.y, relFanCon1.u1SupFan[1]); connect(supFan2.y, relFanCon1.u1SupFan[2]); connect(pre.y, relFanCon.u1RelFan); connect(greThr1.y, pre1.u); connect(pre1.y, relFanCon1.u1RelFan); connect(conInt.y, relFanCon.uRelFanAla); connect(conInt[1].y, relFanCon1.uRelFanAla[2]); connect(conInt[2].y, relFanCon1.uRelFanAla[3]); connect(conInt[3].y, relFanCon1.uRelFanAla[4]); connect(intPul.y, relFanCon1.uRelFanAla[1]); connect(relFanCon.yRelFan, zerOrdHol.u); connect(zerOrdHol.y, greThr.u); connect(relFanCon1.yRelFan, zerOrdHol1.u); connect(zerOrdHol1.y, greThr1.u); connect(greThr2.y,pre2. u); connect(pre2.y,relFanCon2. u1RelFan); connect(relFanCon2.yRelFan, zerOrdHol2.u); connect(zerOrdHol2.y,greThr2. u); connect(dpBui1.y, relFanCon2.dpBui); connect(supFan1.y, relFanCon2.u1SupFan[1]); connect(supFan2.y, relFanCon2.u1SupFan[2]); connect(conInt.y, relFanCon2.uRelFanAla); end ReliefFanGroup;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanAirflowTracking Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanAirflowTracking

Validate model for controlling return fan of units using return fan with airflow tracking

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanAirflowTracking

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReturnFanAirflowTracking for return fan control with airflow tracking for systems with multiple zones.

Modelica definition

model ReturnFanAirflowTracking "Validate model for controlling return fan of units using return fan with airflow tracking" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReturnFanAirflowTracking retFanAirTra(final difFloSet=0.5, final k=0.1) "Return fan control with airflow tracking"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReturnFanAirflowTracking retFanAirTra1(final difFloSet=0.5) "Return fan control with airflow tracking"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse yFan(width=0.75, final period=4000) "Supply fan status"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp supFlo( final height=1.0, final offset=0.2, final duration=1800) "Supply air flow rate"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp retFlo( final height=0.4, final offset=0.1, final duration=1800) "Return air flow rate"; equation connect(yFan.y, retFanAirTra.u1SupFan); connect(yFan.y, retFanAirTra1.u1SupFan); connect(supFlo.y, retFanAirTra.VAirSup_flow); connect(supFlo.y, retFanAirTra1.VAirSup_flow); connect(retFlo.y, retFanAirTra.VAirRet_flow); connect(retFlo.y, retFanAirTra1.VAirRet_flow); end ReturnFanAirflowTracking;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanDirectPressure Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanDirectPressure

Validate model for calculating return fan control with direct building pressure of multi zone VAV AHU

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.ReturnFanDirectPressure

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReturnFanDirectPressure for exhaust air damper and return fan control with direct building pressure measurement for systems with multiple zones.

Modelica definition

model ReturnFanDirectPressure "Validate model for calculating return fan control with direct building pressure of multi zone VAV AHU" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReturnFanDirectPressure retFanPre( final disSpe_min=0.1, final disSpe_max=0.9, final k=0.1) "Return fan control with direct building pressure"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReturnFanDirectPressure retFanPre1( final disSpe_min=0.1, final disSpe_max=0.9, final k=0.5) "Return fan control with direct building pressure"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.ReturnFanDirectPressure retFanPre2(final disSpe_min=0.1, final disSpe_max=0.9) "Return fan control with direct building pressure"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse yFan( final period=4000) "Supply fan status"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp dpBui( final height=40, final offset=0, final duration=1800) "Building static presure"; equation connect(yFan.y, retFanPre.u1SupFan); connect(dpBui.y, retFanPre.dpBui); connect(yFan.y, retFanPre1.u1SupFan); connect(yFan.y, retFanPre2.u1SupFan); connect(dpBui.y, retFanPre1.dpBui); connect(dpBui.y, retFanPre2.dpBui); connect(yFan.y, retFanPre.u1MinOutAirDam); connect(yFan.y, retFanPre1.u1MinOutAirDam); connect(yFan.y, retFanPre2.u1MinOutAirDam); end ReturnFanDirectPressure;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyFan Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyFan

Validate SupplyFan

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyFan

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplyFan.

Modelica definition

model SupplyFan "Validate SupplyFan" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplyFan conSupFan( final Td=1, final controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI, final maxSet=400, final k=0.001, final Ti=10) "Block outputs supply fan speed"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplyFan conSupFan1( final have_perZonRehBox=true, final Td=1, final controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI, final maxSet=400, final k=0.001, final Ti=10) "Block outputs supply fan speed for the AHU system with reheat boxes on perimeter zones"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplyFan conSupFan2( final Td=1, final controllerType=Buildings.Controls.OBC.CDL.Types.SimpleController.PI, final maxSet=400, final k=0.001, final Ti=10) "Block outputs supply fan speed for the unit with airflow measurement station"; protected Buildings.Controls.OBC.CDL.Reals.Sources.Ramp ram( final duration=28800, final height=6) "Ramp signal for generating operation mode"; Buildings.Controls.OBC.CDL.Reals.Sources.Sin sine( final freqHz=1/14400, final offset=3, final amplitude=2) "Generate sine signal "; Buildings.Controls.OBC.CDL.Reals.Sources.Sin sine1( final freqHz=1/14400, final offset=200, amplitude=150) "Generate sine signal"; Buildings.Controls.OBC.CDL.Reals.Abs abs "Block generates absolute value of input"; Buildings.Controls.OBC.CDL.Reals.Abs abs1 "Block generates absolute value of input"; Buildings.Controls.OBC.CDL.Reals.Round round2( final n=0) "Round real number to given digits"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 "Convert real to integer"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2 "Convert real to integer"; Buildings.Controls.OBC.CDL.Reals.Round round1(n=0) "Round real number to given digits"; equation connect(sine1.y, conSupFan.dpDuc); connect(sine.y, abs1.u); connect(ram.y, abs.u); connect(abs1.y, round2.u); connect(round2.y, reaToInt1.u); connect(reaToInt1.y, conSupFan.uZonPreResReq); connect(abs.y, round1.u); connect(round1.y, reaToInt2.u); connect(reaToInt2.y, conSupFan.uOpeMod); connect(reaToInt2.y, conSupFan2.uOpeMod); connect(reaToInt1.y, conSupFan2.uZonPreResReq); connect(sine1.y, conSupFan2.dpDuc); connect(reaToInt2.y, conSupFan1.uOpeMod); connect(reaToInt1.y, conSupFan1.uZonPreResReq); connect(sine1.y, conSupFan1.dpDuc); end SupplyFan;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplySignals Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplySignals

Validate model for controlling coil valve postion of multi zone VAV AHU

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplySignals

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplySignals for a change of the supply air temperature setpoint, measured supply air temperature and the supply fan status, to specify coil valve positions, and generate control loop signal.

Modelica definition

model SupplySignals "Validate model for controlling coil valve postion of multi zone VAV AHU" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplySignals supSig "Output valve position and supply air temperature control loop signal"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse supFanSta(period=7200) "Supply fan status"; Buildings.Controls.OBC.CDL.Reals.Sources.Pulse TSup( final amplitude=14, final period=7200, final offset=10 + 273.15) "Supply air temperature"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp TSupSet( final height=3, final duration=7200, final offset=15 + 273.15) "Supply air temperature setpoint"; Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplySignals supSig1 "Output valve position and supply air temperature control loop signal"; Buildings.Controls.OBC.CDL.Logical.Sources.Constant fanOn( final k=true) "Fan on"; equation connect(TSupSet.y, supSig.TAirSupSet); connect(TSup.y, supSig.TAirSup); connect(supFanSta.y, supSig.u1SupFan); connect(TSupSet.y, supSig1.TAirSupSet); connect(TSup.y, supSig1.TAirSup); connect(fanOn.y, supSig1.u1SupFan); end SupplySignals;

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyTemperature Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyTemperature

Validate model for calculating supply air temperature of multi zone VAV AHU

Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.Validation.SupplyTemperature

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplyTemperature for a change of outdoor temperature, operation mode, supply fan status, maximum supply temperature, to specify the supply air temperature for systems with multiple zones.

Modelica definition

model SupplyTemperature "Validate model for calculating supply air temperature of multi zone VAV AHU" Buildings.Controls.OBC.ASHRAE.G36.AHUs.MultiZone.VAV.SetPoints.SupplyTemperature conTSupSet "Supply air temperature setpoint for multi zone system"; Buildings.Controls.OBC.CDL.Reals.Sources.Sin outTem( final amplitude=5, final freqHz=1/86400, final offset=18 + 273.15) "Outdoor air temperature"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse supFanSta( final period=43200) "Supply fan status"; Buildings.Controls.OBC.CDL.Reals.Sources.Ramp opeMod( final offset=1, final height=1, final duration=90000) "Operation mode"; Buildings.Controls.OBC.CDL.Reals.Abs abs "Block generates absolute value of input"; Buildings.Controls.OBC.CDL.Reals.Sources.Sin sine( final amplitude=6, final freqHz=1/86400) "Block generates sine signal"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 "Convert real to integer"; Buildings.Controls.OBC.CDL.Reals.Round round1( final n=0) "Round real number to given digits"; Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2 "Convert real to integer"; Buildings.Controls.OBC.CDL.Reals.Round round2( final n=0) "Round real number to given digits"; equation connect(supFanSta.y, conTSupSet.u1SupFan); connect(outTem.y, conTSupSet.TOut); connect(sine.y, abs.u); connect(opeMod.y, round2.u); connect(round2.y, reaToInt2.u); connect(abs.y, round1.u); connect(round1.y, reaToInt1.u); connect(reaToInt1.y, conTSupSet.uZonTemResReq); connect(reaToInt2.y, conTSupSet.uOpeMod); end SupplyTemperature;