Buildings.Controls.DemandResponse.BaseClasses

Package with base classes

Information

This package contains base classes that are used to construct the models in Buildings.Controls.DemandResponse.

Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).

Package Content

Name Description
Buildings.Controls.DemandResponse.BaseClasses.BaselinePrediction BaselinePrediction Predicts the baseline consumption

Buildings.Controls.DemandResponse.BaseClasses.BaselinePrediction Buildings.Controls.DemandResponse.BaseClasses.BaselinePrediction

Predicts the baseline consumption

Buildings.Controls.DemandResponse.BaseClasses.BaselinePrediction

Information

Block that computes the baseline for a demand response client. This implementation computes the 10/10 average baseline. This baseline is the average of the consumed power of the previous 10 days for the same time interval. For example, if the base line is computed every 1 hour, then there are 24 baseline values for each day. Separate baselines are computed for any types of days. The type of day is an input signal received from the connector typeOfDay, and must be equal to any value defined in Buildings.Controls.Types.Day.

If a day is an event day, then any hour of this day after the event signal is received is excluded from the baseline computation. Storing history terms for the base line resumes at midnight.

If no history term is present for the current time interval and the current type of day, then the predicted power consumption PPre will be zero.

Extends from Modelica.Blocks.Icons.DiscreteBlock (Graphical layout of discrete block component icon).

Parameters

TypeNameDefaultDescription
IntegernSam Number of intervals in a day for which baseline is computed
IntegernPre Number of intervals for which future load need to be predicted (set to one to only predict current time, or to nSam to predict one day)
PredictionModelpredictionModel Load prediction model
IntegernHis10Number of history terms to be stored

Connectors

TypeNameDescription
input RealInputEConConsumed electrical energy [J]
output RealOutputPPre[nPre]Predicted power consumption for the current time interval [W]
input RealInputTOutFut[nPre - 1]Future outside air temperatures [K]
input RealInputTOutOutside air temperature [K]
input DayTypeInputtypeOfDay[integer((nPre - 1)/nSam) + 2]Type of day for the current and the future days for which a prediction is to be made. Typically, this has dimension 2 for predictions up to and including 24 hours, and 2+n for any additional day
input BooleanInputisEventDayIf true, this day remains an event day until midnight

Modelica definition

block BaselinePrediction "Predicts the baseline consumption" extends Modelica.Blocks.Icons.DiscreteBlock; parameter Integer nSam "Number of intervals in a day for which baseline is computed"; parameter Integer nPre(min=1) "Number of intervals for which future load need to be predicted (set to one to only predict current time, or to nSam to predict one day)"; parameter Buildings.Controls.Predictors.Types.PredictionModel predictionModel "Load prediction model"; parameter Integer nHis(min=1) = 10 "Number of history terms to be stored"; Modelica.Blocks.Interfaces.RealInput ECon(unit="J") "Consumed electrical energy"; Modelica.Blocks.Interfaces.RealOutput PPre[nPre](each unit="W") "Predicted power consumption for the current time interval"; Modelica.Blocks.Interfaces.RealInput TOutFut[nPre-1](each unit="K") if (predictionModel == Buildings.Controls.Predictors.Types.PredictionModel.WeatherRegression) "Future outside air temperatures"; Modelica.Blocks.Interfaces.RealInput TOut(unit="K", displayUnit="degC") if (predictionModel == Buildings.Controls.Predictors.Types.PredictionModel.WeatherRegression) "Outside air temperature"; Buildings.Controls.Interfaces.DayTypeInput typeOfDay[integer((nPre-1)/nSam)+2] "Type of day for the current and the future days for which a prediction is to be made. Typically, this has dimension 2 for predictions up to and including 24 hours, and 2+n for any additional day"; Modelica.Blocks.Interfaces.BooleanInput isEventDay "If true, this day remains an event day until midnight"; protected Buildings.Controls.Predictors.ElectricalLoad basLin( final nSam=nSam, final nPre=nPre, final nHis=nHis, final predictionModel=predictionModel) "Model that computes the base line"; Modelica.Blocks.Logical.Not stoHis "Boolean signal to set whether history should be stored"; equation connect(basLin.ECon, ECon); connect(TOut, basLin.TOut); connect(basLin.PPre, PPre); connect(stoHis.u, isEventDay); connect(stoHis.y, basLin.storeHistory); connect(basLin.typeOfDay, typeOfDay); connect(basLin.TOutFut, TOutFut); end BaselinePrediction;