modelModularCompressorController
Extends from BaseClasses.PartialModularController (Base model used for all modular controllers).
Information
This a controller block used for modular compressor models as
presented in AixLib.Fluid.Movers.Compressors.ModularCompressors.
The controller block consists of simple PID controllers for each
compressor and no further control strategy is implemented yet.
However, these PID controller are only initialised a nd activated if
no external controller is provided (i.g. if useExt =
false).
Implementation
If the controller block is implemented, appropriate values must be applied for all parameters describing the PID controller. Furthermore, a sensible control strategy must be applied to determine the set signals of the compressors if more than one compressor is used.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| General › Modular approach | |||
| Integer | nCom (from PartialModularController) | 1 | Number of components |
| Boolean | useExt (from PartialModularController) | true | = true, if external signal is used instead of internal controllers |
| Controller › General | |||
| Modelica.Blocks.Types.SimpleController[nCom] | controllerType (from PartialModularController) | fill(Modelica.Blocks.Types.SimpleController.PID, nCom) | Type of controller |
| Boolean[nCom] | reverseAction (from PartialModularController) | fill(false, nCom) | = true, if medium flow rate is throttled through cooling coil controller |
| AixLib.Types.Reset[nCom] | reset (from PartialModularController) | fill(AixLib.Types.Reset.Disabled, nCom) | Type of controller output reset |
| Controller › Proportional term | |||
| Real[nCom] | k (from PartialModularController) | fill(1, nCom) | Gain of controller |
| Controller › Integral term | |||
| Modelica.Units.SI.Time[nCom] | Ti (from PartialModularController) | fill(0.5, nCom) | Time constant of integrator block |
| Real[nCom] | Ni (from PartialModularController) | fill(0.9, nCom) | Ni*Ti is time constant of anti-windup compensation |
| Controller › Derivative term | |||
| Modelica.Units.SI.Time[nCom] | Td (from PartialModularController) | fill(0.1, nCom) | Time constant of derivative block |
| Real[nCom] | Nd (from PartialModularController) | fill(10, nCom) | The higher Nd, the more ideal the derivative block |
| Controller › Wheightning | |||
| Real[nCom] | wp (from PartialModularController) | fill(1, nCom) | Set-point weight for Proportional block (0..1) |
| Real[nCom] | wd (from PartialModularController) | fill(0, nCom) | Set-point weight for Derivative block (0..1) |
| Controller › Controller limits | |||
| Real[nCom] | yMax (from PartialModularController) | fill(1, nCom) | Upper limit of output |
| Real[nCom] | yMin (from PartialModularController) | fill(0, nCom) | Lower limit of output |
| Initialisation › General | |||
| Modelica.Blocks.Types.Init[nCom] | initType (from PartialModularController) | fill(Modelica.Blocks.Types.Init.InitialState, nCom) | Init: (1: no init, 2: steady state, 3: initial state, 4: initial output) |
| Initialisation › Start values | |||
| Real[nCom] | xi_start (from PartialModularController) | fill(0, nCom) | Initial or guess value value for integrator output (= integrator state) |
| Real[nCom] | xd_start (from PartialModularController) | fill(0, nCom) | Initial or guess value for state of derivative block |
| Real[nCom] | y_start (from PartialModularController) | fill(0, nCom) | Initial value of output |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.BooleanOutput | useExtBlo (from PartialModularController) | Boolean block used to set data bus' useExt-signal | |
| Modelica.Blocks.Interfaces.RealOutput[nCom] | manVarThr (from PartialModularController) | Input connector to pass controller's manipualted signals through if activated | |
| Modelica.Blocks.Interfaces.RealInput[nCom] | curManVar (from PartialModularController) | Array of signals with current manipulated variables of controlled components | |
| Modelica.Blocks.Interfaces.RealOutput[nCom] | manVar (from PartialModularController) | Array of manipulated variables for controlled components | |
| Interfaces.ModularHeatPumpControlBus | dataBus (from PartialModularController) | Data bus with control signals |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Continuous.LimPID[nCom] | intCon (from PartialModularController) | Internal controller if internal controller is required | |
| Modelica.Blocks.Sources.BooleanConstant[nCom] | trigger | Boolean block to provide dummy signal to controllers' trigger signals | |
| Modelica.Blocks.Sources.Constant[nCom] | triggerVal | Real block to provide dummy signal to controllers' rest signals |
Revisions
- October 29, 2017, by Mirko Engelpracht:
First implementation (see issue 467).