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.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

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.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model ZoneTemperatures "Validate block for zone set point" extends Modelica.Icons.Example; Buildings.Controls.OBC.ASHRAE.G36_PR1.TerminalUnits.SetPoints.ZoneTemperatures TSetZon( have_occSen=true, sinAdj=false, cooAdj=true, have_winSen=true, heaAdj=true) "Block determined thermal zone setpoints"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant occCooSet(k=297.15) "Occupied cooling setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant occHeaSet(k=293.15) "Occupied heating setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant unoCooSet(k=303.15) "Unoccupied cooling setpoint"; Buildings.Controls.OBC.CDL.Continuous.Sources.Constant unoHeaSet(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(occCooSet.y, TSetZon.occCooSet); connect(occHeaSet.y, TSetZon.occHeaSet); connect(unoCooSet.y, TSetZon.unoCooSet); connect(unoHeaSet.y, TSetZon.unoHeaSet); connect(cooDemLimLev.y, TSetZon.uCooDemLimLev); connect(heaDemLimLev.y, TSetZon.uHeaDemLimLev); connect(booToInt.y, TSetZon.uOpeMod); connect(occSta.y, TSetZon.uOccSen); connect(winSta.y, TSetZon.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, TSetZon.setAdj); connect(swi1.y, TSetZon.heaSetAdj); end ZoneTemperatures;