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 |
ZoneTemperatures
|
Validate block for zone set point |
Validate block for zone set point
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
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) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant occCooSet(k=297.15) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant occHeaSet(k=293.15) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant unoCooSet(k=303.15) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant unoHeaSet(k=287.15) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine cooSetAdj(freqHz=1/28800) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Sine heaSetAdj(freqHz=1/28800,
amplitude=0.5) ;
Buildings.Controls.OBC.CDL.Integers.Sources.Constant cooDemLimLev(k=0) ;
Buildings.Controls.OBC.CDL.Integers.Sources.Constant heaDemLimLev(k=0) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ram(duration=28800) ;
Buildings.Controls.OBC.CDL.Continuous.GreaterThreshold greThr(threshold=0.75)
;
Buildings.Controls.OBC.CDL.Conversions.BooleanToInteger booToInt(integerTrue=1,
integerFalse=7) ;
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse winSta(period=14400,
startTime=1200) ;
Buildings.Controls.OBC.CDL.Logical.Sources.Pulse occSta(period=14400, width=0.95)
;
Buildings.Controls.OBC.CDL.Logical.Not not1 ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Constant zerAdj(k=0) ;
Buildings.Controls.OBC.CDL.Logical.Switch swi1 ;
Buildings.Controls.OBC.CDL.Logical.Switch swi2 ;
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;