Buildings.Controls.OBC.Shade
Shading control sequences
Information
This package contains shade control sequences.
Package Content
| Name | Description | 
|---|---|
|  Shade_H | Shade controller with solar irradiation as input | 
|  Shade_T | Shade controller with temperature as input | 
|  Validation | Collection of validation models | 
 Buildings.Controls.OBC.Shade.Shade_H
Buildings.Controls.OBC.Shade.Shade_H
Shade controller with solar irradiation as input
 
Information
Block that outputs a shade control signal y ∈ {0, 1} as follows:
-  When y=0and the inputHbecomes greater than the parameterHHigh, the output switches toy=1.
-  When y=1and the inputHbecomes less than the parameterHLow, the output switches toy=0.
 
Parameters
| Type | Name | Default | Description | 
|---|---|---|---|
| Real | HHigh | if y=0 and H>=HHigh, switch to y=1 [W/m2] | |
| Real | HLow | if y=1 and H<=HLow, switch to y=0 [W/m2] | 
Connectors
| Type | Name | Description | 
|---|---|---|
| input RealInput | H | Measured irradiation [W/m2] | 
| output RealOutput | y | Control signal [1] | 
Modelica definition
block Shade_H "Shade controller with solar irradiation as input"
  parameter Real HHigh(
    final quantity="Irradiance",
    final unit="W/m2")
    "if y=0 and H>=HHigh, switch to y=1";
  parameter Real HLow(
    final quantity="Irradiance",
    final unit="W/m2")
    "if y=1 and H<=HLow, switch to y=0";
  CDL.Interfaces.RealInput H(final unit = "W/m2")
    "Measured irradiation";
  CDL.Interfaces.RealOutput y(
    final min = 0,
    final max = 1,
    unit="1")
    "Control signal";
protected 
  CDL.Continuous.Hysteresis hys(
    final uLow=HLow,
    final uHigh=HHigh)
    "Hysteresis block";
  CDL.Conversions.BooleanToReal booToRea "Boolean to real converter";
equation 
  connect(H, hys.u);
  connect(hys.y, booToRea.u);
  connect(booToRea.y, y);
end Shade_H;
 Buildings.Controls.OBC.Shade.Shade_T
Buildings.Controls.OBC.Shade.Shade_T
Shade controller with temperature as input
 
Information
Block that outputs a shade control signal y ∈ {0, 1} as follows:
-  When y=0and the inputTbecomes greater than the parameterTHigh, the output switches toy=1.
-  When y=1and the inputTbecomes less than the parameterTLow, the output switches toy=0.
 
Parameters
| Type | Name | Default | Description | 
|---|---|---|---|
| Real | THigh | if y=0 and T>=THigh, switch to y=1 [K] | |
| Real | TLow | if y=1 and T<=TLow, switch to y=0 [K] | 
Connectors
| Type | Name | Description | 
|---|---|---|
| input RealInput | T | Measured temperature [K] | 
| output RealOutput | y | Control signal [1] | 
Modelica definition
block Shade_T "Shade controller with temperature as input"
  parameter Real THigh(
    final quantity="ThermodynamicTemperature",
    final unit="K",
    displayUnit="degC")
    "if y=0 and T>=THigh, switch to y=1";
  parameter Real TLow(
    final quantity="ThermodynamicTemperature",
    final unit="K",
    displayUnit="degC")
    "if y=1 and T<=TLow, switch to y=0";
  CDL.Interfaces.RealInput T(final unit = "K")
    "Measured temperature";
  CDL.Interfaces.RealOutput y(
    final min = 0,
    final max = 1,
    unit="1")
    "Control signal";
protected 
  CDL.Continuous.Hysteresis hys(
    final uLow=TLow,
    final uHigh=THigh)
    "Temperature hysteresis";
  CDL.Conversions.BooleanToReal booToRea "Boolean to real converter";
equation 
  connect(T, hys.u);
  connect(hys.y, booToRea.u);
  connect(booToRea.y, y);
end Shade_T;
