modelPartialModularController
Information
This is a base model used by all modular controller models. It defines basic inputs, outputs, parameters and sub-models. The main inputs and outputs are the modular heat pump control bus AixLib.Controls.Interfaces.ModularHeatPumpControlBus, the manipulated signals passed to the controlled components and the current manipulated signals. The main sub-model is a PID controller presented in AixLib.Controls.Continuous.LimPID that is initialised if no external controller is used. Furthermore, all parameters with respect to the PID controller are propagated because the modular controller shall be used in an architectural modeling approach.
Equations needed for completion
For completion of a modular controller extending from this base class, it is necessary to provide an internal control strategy. This strategy may differ from component to component. Therefore, the User must define two things:
- Connect
useExtBlowith the appropriate data bus connector if required. - Connect
setValwith internal or external manipulated signal depending onuseExtBlo.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| General › Modular approach | |||
| Integer | nCom | 1 | Number of components |
| Boolean | useExt | true | = true, if external signal is used instead of internal controllers |
| Controller › General | |||
| Modelica.Blocks.Types.SimpleController[nCom] | controllerType | fill(Modelica.Blocks.Types.SimpleController.PID, nCom) | Type of controller |
| Boolean[nCom] | reverseAction | fill(false, nCom) | = true, if medium flow rate is throttled through cooling coil controller |
| AixLib.Types.Reset[nCom] | reset | fill(AixLib.Types.Reset.Disabled, nCom) | Type of controller output reset |
| Controller › Proportional term | |||
| Real[nCom] | k | fill(1, nCom) | Gain of controller |
| Controller › Integral term | |||
| Modelica.Units.SI.Time[nCom] | Ti | fill(0.5, nCom) | Time constant of integrator block |
| Real[nCom] | Ni | fill(0.9, nCom) | Ni*Ti is time constant of anti-windup compensation |
| Controller › Derivative term | |||
| Modelica.Units.SI.Time[nCom] | Td | fill(0.1, nCom) | Time constant of derivative block |
| Real[nCom] | Nd | fill(10, nCom) | The higher Nd, the more ideal the derivative block |
| Controller › Wheightning | |||
| Real[nCom] | wp | fill(1, nCom) | Set-point weight for Proportional block (0..1) |
| Real[nCom] | wd | fill(0, nCom) | Set-point weight for Derivative block (0..1) |
| Controller › Controller limits | |||
| Real[nCom] | yMax | fill(1, nCom) | Upper limit of output |
| Real[nCom] | yMin | fill(0, nCom) | Lower limit of output |
| Initialisation › General | |||
| Modelica.Blocks.Types.Init[nCom] | initType | 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 | fill(0, nCom) | Initial or guess value value for integrator output (= integrator state) |
| Real[nCom] | xd_start | fill(0, nCom) | Initial or guess value for state of derivative block |
| Real[nCom] | y_start | fill(0, nCom) | Initial value of output |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.BooleanOutput | useExtBlo | Boolean block used to set data bus' useExt-signal | |
| Modelica.Blocks.Interfaces.RealOutput[nCom] | manVarThr | Input connector to pass controller's manipualted signals through if activated | |
| Modelica.Blocks.Interfaces.RealInput[nCom] | curManVar | Array of signals with current manipulated variables of controlled components | |
| Modelica.Blocks.Interfaces.RealOutput[nCom] | manVar | Array of manipulated variables for controlled components | |
| Interfaces.ModularHeatPumpControlBus | dataBus | Data bus with control signals |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Continuous.LimPID[nCom] | intCon | Internal controller if internal controller is required |
Revisions
- October 17, 2017, by Mirko Engelpracht:
First implementation (see issue 457).