Description: "Example models to test the components"

- Home > Modelica

## 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
--- | ---
OperationModes | Test model for operation modes

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

Test model for operation modes

### 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

Type | Name | Description
--- | --- | ---
ControlBus | controlBus |

### 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;