blockSequenceControl
Extends from Modelica.Blocks.Interfaces.SISO (Single Input Single Output continuous control block).
Information
Overview
This model allows to implement a sequence control often deployed in building automation systems. A sequence control is used to implement for example that a heating coil valve of an air handling unit may only be opened when the respective cooling coil valve is closed. We model each sequence of a sequence control as a set of three linear curves defined on their intervals. The first curves interval ranges from -inf to xCooLHS, the second interval ranges from xCooLHS to xCooRHS and the third interval from xCooRHS to +inf.
Assumptions
We assume that only linear functions occur. One sequence control may be composed out of several sequences spanning with nCurves.
Parameterisation
To parameterise multiple sequences we use a multidimensional array which should be used as follows:
CurvesIntervalCoordinates[nCurves,2,2] = {
{{xCooLHS_1,yCooLHS_1},{xCooRHS_1,yCooRHS_1}},
{{xCooLHS_2,yCooLHS_2},{xCooRHS_2,yCooRHS_2}},
...
{{xCooLHS_nCurves,yCooLHS_nCurves},{xCooRHS_1,yCooRHS_nCurves}},
}
where
xCooLHS_n - X-coordinate of left hand side interval of the n-th curve
yCooLHS_n - Y-coordinate of left hand side interval of the n-th curve
xCooRHS_n - X-coordinate of right hand side interval of the n-th curve
yCooRHS_n - Y-coordinate of right hand side interval of the n-th curve
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nCurves | 2 | Number of curves in sequence control |
| Real[nCurves,2,2] | CurvesIntervalCoordinates | {{{16, 100}, {19, 0}}, {{23, 0}, {26, 100}}} | Parameter array to specify interval coordinates left hand side and right hand side point |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| RealInput | u (from SISO) | Connector of Real input signal | |
| RealOutput | y (from SISO) | Connector of Real output signal |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Internal.Limiter[nCurves] | Curves | Array of curves in sequence control | |
| Modelica.Blocks.Math.MultiSum | multiSum | Aggregate output signals of all curves |
Revisions
- March 07, 2017 by Georg Ferdinand Schneider & Georg Ambrosius Peßler:
Implemented.