Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.SetPoints.Validation

Collection of validation models

Information

This package contains validation models for the classes in Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.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_PR1.TerminalUnits.SetPoints.Validation.ZoneTemperatures ZoneTemperatures Validate block for zone set point

Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.SetPoints.Validation.ZoneTemperatures Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.SetPoints.Validation.ZoneTemperatures

Validate block for zone set point

Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.SetPoints.Validation.ZoneTemperatures

Information

This example validates Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.SetPoints.ZoneTemperatures for a change of zone setpoint temperature.

Modelica definition

model ZoneTemperatures "Validate block for zone set point" Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.SetPoints.ZoneTemperatures TZonSet( have_occSen=true, sinAdj=false, cooAdj=true, have_winSen=true, heaAdj=true) "Block that determines the thermal zone setpoints"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZonCooSetOcc(k=297.15) "Occupied cooling setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZonHeaSetOcc(k=293.15) "Occupied heating setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZonCooSetUno(k=303.15) "Unoccupied cooling setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant TZonHeaSetUno(k=287.15) "Unoccupied heating setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine cooSetAdj(freqHz=1/28800) "Cooling setpoint adjustment"; Buildings.Controls.OBC.CDL.Continuous.Sources.Sine heaSetAdj(freqHz=1/28800, amplitude=0.5) "Heating setpoint adjustment"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant cooDemLimLev(k=0) "Cooling demand limit level"; Buildings.Controls.OBC.CDL.Integers.Sources.Constant heaDemLimLev(k=0) "Heating demand limit level"; Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ram(duration=28800) "Generate ramp output"; Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold greThr(threshold=0.75) "Check if input is greater than 0.75"; Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt( integerTrue=1, integerFalse=7) "Convert boolean input to integer output"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse winSta( period=14400, startTime=1200) "Generate signal indicating window status"; Buildings.Controls.OBC.CDL.Logical.Sources.Pulse occSta( period=14400, width=0.95) "Generate signal indicating occupancy status"; Buildings.Controls.OBC.CDL.Logical.Not not1 "Logical not"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant zerAdj(k=0) "Zero adjustment"; Buildings.Controls.OBC.CDL.Logical.Switch swi1 "Switch to zero adjustment when window is open"; Buildings.Controls.OBC.CDL.Logical.Switch swi2 "Switch to zero adjustment when window is open"; equation connect(ram.y, greThr.u); connect(greThr.y, not1.u); connect(not1.y, booToInt.u); connect(TZonCooSetOcc.y, TZonSet.TZonCooSetOcc); connect(TZonHeaSetOcc.y, TZonSet.TZonHeaSetOcc); connect(TZonCooSetUno.y, TZonSet.TZonCooSetUno); connect(TZonHeaSetUno.y, TZonSet.TZonHeaSetUno); connect(cooDemLimLev.y, TZonSet.uCooDemLimLev); connect(heaDemLimLev.y, TZonSet.uHeaDemLimLev); connect(booToInt.y, TZonSet.uOpeMod); connect(occSta.y, TZonSet.uOccSen); connect(winSta.y, TZonSet.uWinSta); connect(winSta.y, swi2.u2); connect(winSta.y, swi1.u2); connect(zerAdj.y, swi2.u1); connect(zerAdj.y, swi1.u1); connect(cooSetAdj.y, swi2.u3); connect(heaSetAdj.y, swi1.u3); connect(swi2.y, TZonSet.setAdj); connect(swi1.y, TZonSet.heaSetAdj); end ZoneTemperatures;