Collection of models that validate the integer blocks of the CDL
Information
This package contains models that validate the blocks in
Buildings.Controls.OBC.CDL.Integers.
The examples plot various outputs, which have been verified against
analytical solutions. These model outputs are stored as reference data to
allow continuous validation whenever models in the library change.
Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).
Package Content
Name |
Description |
Abs
|
Validation model for the absolute block |
Add
|
Validation model for the Add block |
Equal
|
Validation model for the Equal block |
Greater
|
Validation model for the Greater block |
GreaterEqual
|
Validation model for the GreaterEqual block |
GreaterEqualThreshold
|
Validation model for the GreaterEqualThreshold block |
GreaterThreshold
|
Validation model for the GreaterThreshold block |
Less
|
Validation model for the Less block |
LessEqual
|
Validation model for the LessEqual block |
LessEqualThreshold
|
Validation model for the LessEqualThreshold block |
LessThreshold
|
Validation model for the LessThreshold block |
Max
|
Validation model for the Max block |
Min
|
Validation model for the Min block |
MultiSum
|
Validation model for the block to find sum of multiple inputs |
OnCounter
|
Validation model for the OnCounter block |
Product
|
Validation model for the Product block |
Validation model for the absolute block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.Abs.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
Validation model for the Add block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.Add.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model Add
extends Modelica.Icons.Example;
Buildings.Controls.OBC.CDL.Integers.Add add1 ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp1(
duration=1,
offset=-3.5,
height=7.0) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp2(
duration=1,
offset=-0.5,
height=7.0) ;
Buildings.Controls.OBC.CDL.Continuous.Round round1(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt ;
Buildings.Controls.OBC.CDL.Continuous.Round round2(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 ;
equation
connect(ramp1.y, round1.u);
connect(ramp2.y, round2.u);
connect(round2.y, reaToInt1.u);
connect(round1.y, reaToInt.u);
connect(reaToInt.y, add1.u1);
connect(reaToInt1.y, add1.u2);
end Add;
Validation model for the Equal block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.Equal.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model Equal
extends Modelica.Icons.Example;
Buildings.Controls.OBC.CDL.Integers.Equal intEqu ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 ;
Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLin(smoothness=
Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, table=[0,
0; 0.3, 1; 0.5, 0; 0.7, 1; 1, 0]) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLin1(smoothness
=Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, table=[0, 0;
0.35, 1; 0.55, 0; 0.7, 1; 1, 0]) ;
equation
connect(reaToInt.y, intEqu.u1);
connect(reaToInt1.y, intEqu.u2);
connect(timTabLin.y[1], reaToInt.u);
connect(timTabLin1.y[1], reaToInt1.u);
end Equal;
Validation model for the Greater block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.Greater.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model Greater
extends Modelica.Icons.Example;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp1(
duration=1,
offset=-3.5,
height=10.0) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp2(
duration=1,
offset=-1.5,
height=5.0) ;
Buildings.Controls.OBC.CDL.Integers.Greater intGre ;
Buildings.Controls.OBC.CDL.Continuous.Round round1(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt ;
Buildings.Controls.OBC.CDL.Continuous.Round round2(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 ;
equation
connect(ramp1.y, round1.u);
connect(ramp2.y, round2.u);
connect(round1.y, reaToInt.u);
connect(round2.y, reaToInt1.u);
connect(reaToInt.y, intGre.u1);
connect(reaToInt1.y, intGre.u2);
end Greater;
Validation model for the GreaterEqual block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.GreaterEqual.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model GreaterEqual
extends Modelica.Icons.Example;
Buildings.Controls.OBC.CDL.Integers.GreaterEqual intGreEqu ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 ;
Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLin(smoothness=
Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, table=[0,
-1; 0.3, 0.5; 0.5, 0; 0.7, 1; 1, 0]) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLin1(smoothness
=Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, table=[0, 0;
0.35, 1; 0.55, 0; 0.7, 1; 1, 0]) ;
equation
connect(reaToInt.y, intGreEqu.u1);
connect(reaToInt1.y, intGreEqu.u2);
connect(timTabLin.y[1], reaToInt.u);
connect(timTabLin1.y[1], reaToInt1.u);
end GreaterEqual;
Validation model for the GreaterEqualThreshold block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.GreaterEqualThreshold.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
Validation model for the GreaterThreshold block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.GreaterThreshold.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
Validation model for the Less block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.Less.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model Less
extends Modelica.Icons.Example;
Buildings.Controls.OBC.CDL.Integers.Less intLes ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 ;
Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLin(smoothness=
Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, table=[0,
-1; 0.3, 0.5; 0.5, 0; 0.7, 1; 1, 0]) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLin1(smoothness
=Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, table=[0, 0;
0.35, 1; 0.55, 0; 0.7, 1; 1, 0]) ;
equation
connect(reaToInt1.y, intLes.u2);
connect(reaToInt.y, intLes.u1);
connect(timTabLin.y[1], reaToInt.u);
connect(timTabLin1.y[1], reaToInt1.u);
end Less;
Validation model for the LessEqual block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.LessEqual.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model LessEqual
extends Modelica.Icons.Example;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp1(
duration=1,
offset=-3.5,
height=10.0) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp2(
duration=1,
offset=-1.5,
height=5.0) ;
Buildings.Controls.OBC.CDL.Integers.LessEqual intLesEqu ;
Buildings.Controls.OBC.CDL.Continuous.Round round1(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt ;
Buildings.Controls.OBC.CDL.Continuous.Round round2(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 ;
equation
connect(ramp1.y, round1.u);
connect(ramp2.y, round2.u);
connect(round1.y, reaToInt.u);
connect(round2.y, reaToInt1.u);
connect(reaToInt1.y, intLesEqu.u2);
connect(reaToInt.y, intLesEqu.u1);
end LessEqual;
Validation model for the LessEqualThreshold block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.LessEqualThreshold.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
Validation model for the LessThreshold block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.LessThreshold.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
Validation model for the Max block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.Max.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model Max
extends Modelica.Icons.Example;
Buildings.Controls.OBC.CDL.Integers.Max max1 ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp1(
duration=1,
offset=-3.5,
height=10.0) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp2(
duration=1,
offset=-1.5,
height=5.0) ;
Buildings.Controls.OBC.CDL.Continuous.Round round1(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt ;
Buildings.Controls.OBC.CDL.Continuous.Round round2(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 ;
equation
connect(ramp1.y, round1.u);
connect(round1.y, reaToInt.u);
connect(ramp2.y, round2.u);
connect(round2.y, reaToInt1.u);
connect(reaToInt1.y, max1.u2);
connect(reaToInt.y, max1.u1);
end Max;
Validation model for the Min block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.Min.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model Min
extends Modelica.Icons.Example;
Buildings.Controls.OBC.CDL.Integers.Min min1 ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp1(
duration=1,
offset=-3.5,
height=10.0) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp2(
duration=1,
offset=-1.5,
height=5.0) ;
Buildings.Controls.OBC.CDL.Continuous.Round round1(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt ;
Buildings.Controls.OBC.CDL.Continuous.Round round2(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 ;
equation
connect(ramp1.y, round1.u);
connect(round1.y, reaToInt.u);
connect(reaToInt.y, min1.u1);
connect(ramp2.y, round2.u);
connect(round2.y, reaToInt1.u);
connect(reaToInt1.y, min1.u2);
end Min;
Validation model for the block to find sum of multiple inputs
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.MultiSum.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model MultiSum
extends Modelica.Icons.Example;
Buildings.Controls.OBC.CDL.Integers.MultiSum add1(nin=3) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp1(
duration=1,
offset=-3.5,
height=7.0) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp2(
duration=1,
offset=-0.5,
height=7.0) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.Ramp ramp3(
duration=1,
height=7.0,
offset=-1.5) ;
Buildings.Controls.OBC.CDL.Continuous.Round round1(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt ;
Buildings.Controls.OBC.CDL.Continuous.Round round2(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 ;
Buildings.Controls.OBC.CDL.Continuous.Round round3(n=0) ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2 ;
equation
connect(ramp1.y, round1.u);
connect(ramp2.y, round2.u);
connect(ramp3.y, round3.u);
connect(round3.y, reaToInt2.u);
connect(round2.y, reaToInt1.u);
connect(round1.y, reaToInt.u);
connect(reaToInt.y, add1.u[1]);
connect(reaToInt1.y, add1.u[2]);
connect(reaToInt2.y, add1.u[3]);
end MultiSum;
Validation model for the OnCounter block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.OnCounter.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
Validation model for the Product block
Information
Validation test for the block
Buildings.Controls.OBC.CDL.Integers.Product.
Extends from Modelica.Icons.Example (Icon for runnable examples).
Modelica definition
model Product
extends Modelica.Icons.Example;
Buildings.Controls.OBC.CDL.Integers.Product product ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt1 ;
Buildings.Controls.OBC.CDL.Conversions.RealToInteger reaToInt2 ;
Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLin(smoothness=
Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, table=[0,
-1; 0.3, 0.5; 0.5, 0; 0.7, 1; 1, 0]) ;
Buildings.Controls.OBC.CDL.Continuous.Sources.TimeTable timTabLin1(smoothness
=Buildings.Controls.OBC.CDL.Types.Smoothness.ConstantSegments, table=[0, 0;
0.35, 1; 0.55, 0; 0.7, 1; 1, 0]) ;
equation
connect(reaToInt1.y, product.u1);
connect(reaToInt2.y, product.u2);
connect(timTabLin.y[1], reaToInt1.u);
connect(timTabLin1.y[1], reaToInt2.u);
end Product;