Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic

Generic control sequences

Information

This package contains generic sequences that would be needed for both AHU and terminal units control.

Extends from Modelica.Icons.Package (Icon for standard packages).

Package Content

Name Description
Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.FreezeProtectionMixedAir FreezeProtectionMixedAir Freeze protection based on mixed air temperature
Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.SetPoints SetPoints Output control setpoints
Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.Validation Validation Collection of validation models

Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.FreezeProtectionMixedAir Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.FreezeProtectionMixedAir

Freeze protection based on mixed air temperature

Buildings.Controls.OBC.ASHRAE.G36_PR1.Generic.FreezeProtectionMixedAir

Information

Block that tracks the mixed air temperature TMix using a PI controller and outputs a freeze protection control signal yFrePro and its inverse yFreProInv.

Parameters

TypeNameDefaultDescription
SimpleControllercontrollerTypeBuildings.Controls.OBC.CDL.T...Type of controller
Realk0.1Gain [1/K]
TimeTi120Time constant of integrator block [s]
TimeTd0.1Time constant of derivative block [s]
TemperatureTFreSet279.15Lower limit for mixed air temperature for freeze protection [K]

Connectors

TypeNameDescription
input RealInputTMixMixed air temperature measurement [K]
output RealOutputyFreProFreeze protection control signal, 0 if no frost, 1 if TMix below TFreSet [1]
output RealOutputyFreProInvInverse freeze protection control signal, 1 if no frost, 0 if TMix below TFreSet [1]

Modelica definition

block FreezeProtectionMixedAir "Freeze protection based on mixed air temperature" parameter Buildings.Controls.OBC.CDL.Types.SimpleController controllerType= Buildings.Controls.OBC.CDL.Types.SimpleController.PI "Type of controller"; parameter Real k(final unit="1/K") = 0.1 "Gain"; parameter Modelica.SIunits.Time Ti=120 "Time constant of integrator block"; parameter Modelica.SIunits.Time Td=0.1 "Time constant of derivative block"; parameter Modelica.SIunits.Temperature TFreSet=279.15 "Lower limit for mixed air temperature for freeze protection"; Buildings.Controls.OBC.CDL.Interfaces.RealInput TMix(final unit="K", final quantity="ThermodynamicTemperature") "Mixed air temperature measurement"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput yFrePro( final unit="1", final min=0, final max=1) "Freeze protection control signal, 0 if no frost, 1 if TMix below TFreSet"; Buildings.Controls.OBC.CDL.Interfaces.RealOutput yFreProInv( final unit="1", final min=0, final max=1) "Inverse freeze protection control signal, 1 if no frost, 0 if TMix below TFreSet"; Buildings.Controls.OBC.CDL.Continuous.LimPID con( final controllerType=controllerType, final k=k, final Ti=Ti, final Td=Td, final yMax=1, final yMin=0) "Controller for mixed air to track freeze protection set point"; protected Buildings.Controls.OBC.CDL.Continuous.Sources.Constant setPoi(final k=TFreSet) "Set point for freeze protection"; Buildings.Controls.OBC.CDL.Continuous.AddParameter yOut(final p=1, final k=-1) "Freeze protection control signal inverter"; equation connect(con.u_s, setPoi.y); connect(yOut.y, yFreProInv); connect(TMix, con.u_m); connect(con.y, yFrePro); connect(con.y, yOut.u); end FreezeProtectionMixedAir;