Buildings.Examples.VAVReheat.Controls.Examples

Example models to test the components

Information

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

Package Content

Name Description
Buildings.Examples.VAVReheat.Controls.Examples.OperationModes OperationModes Test model for operation modes

Buildings.Examples.VAVReheat.Controls.Examples.OperationModes Buildings.Examples.VAVReheat.Controls.Examples.OperationModes

Test model for operation modes

Buildings.Examples.VAVReheat.Controls.Examples.OperationModes

Information

This model tests the transition between the different modes of operation of the HVAC system.

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

Connectors

TypeNameDescription
ControlBuscontrolBus 

Modelica definition

model OperationModes "Test model for operation modes" extends Modelica.Icons.Example; import ModelicaVAV = Buildings.Examples.VAVReheat; ModelicaVAV.Controls.ModeSelector operationModes; Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow preHeaFlo; Modelica.Thermal.HeatTransfer.Sources.FixedTemperature fixTem(T=273.15); Modelica.Thermal.HeatTransfer.Components.HeatCapacitor cap(C=20000, T(fixed= true)); Modelica.Thermal.HeatTransfer.Components.ThermalConductor con(G=1); Modelica.Blocks.Logical.Switch switch1; Modelica.Blocks.Sources.Constant on(k=200); Modelica.Blocks.Sources.Constant off(k=0); Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor temperatureSensor; Modelica.Blocks.Sources.RealExpression TRooSetHea( y=if mode.y == Integer(ModelicaVAV.Controls.OperationModes.occupied) then 293.15 else 287.15); Modelica.Blocks.Sources.Constant TCoiHea(k=283.15) "Temperature after heating coil"; ModelicaVAV.Controls.ControlBus controlBus; Modelica.Blocks.Routing.IntegerPassThrough mode "Outputs the control mode"; Modelica.Blocks.Sources.BooleanExpression modSel( y=mode.y == Integer(ModelicaVAV.Controls.OperationModes.unoccupiedNightSetBack) or mode.y == Integer(ModelicaVAV.Controls.OperationModes.unoccupiedWarmUp)); Modelica.Blocks.Sources.Constant TOut(k=283.15) "Outside temperature"; Modelica.Thermal.HeatTransfer.Sensors.TemperatureSensor temperatureSensor1; Modelica.Blocks.Sources.BooleanExpression modSel1( y=mode.y == Integer(ModelicaVAV.Controls.OperationModes.occupied)); Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow preHeaFlo1; Buildings.Controls.Continuous.LimPID PID(initType=Modelica.Blocks.Types.InitPID.InitialState); Modelica.Blocks.Logical.Switch switch2; Modelica.Blocks.Math.Gain gain(k=200); Buildings.Controls.SetPoints.OccupancySchedule occSch "Occupancy schedule"; equation connect(fixTem.port, con.port_a); connect(preHeaFlo.port, cap.port); connect(con.port_b, cap.port); connect(switch1.y, preHeaFlo.Q_flow); connect(on.y, switch1.u1); connect(off.y, switch1.u3); connect(cap.port, temperatureSensor.port); connect(controlBus, operationModes.cb); connect(temperatureSensor.T, controlBus.TRooMin); connect(TCoiHea.y, controlBus.TCoiHeaOut); connect(controlBus.controlMode, mode.u); connect(modSel.y, switch1.u2); connect(TOut.y, controlBus.TOut); connect(cap.port, temperatureSensor1.port); connect(temperatureSensor1.T, controlBus.TRooAve); connect(TRooSetHea.y, PID.u_s); connect(temperatureSensor.T, PID.u_m); connect(modSel1.y, switch2.u2); connect(off.y, switch2.u3); connect(preHeaFlo1.port, cap.port); connect(PID.y, switch2.u1); connect(gain.y, preHeaFlo1.Q_flow); connect(switch2.y, gain.u); connect(occSch.tNexOcc, controlBus.dTNexOcc); connect(TRooSetHea.y, controlBus.TRooSetHea); connect(occSch.occupied, controlBus.occupied); end OperationModes;