modelIntegratorVariableLimitsAntiWindup
Extends from Dynawo.NonElectrical.Blocks.Continuous.BaseClasses.BaseIntegratorVariableLimits (Base model of integrator with variable limits on output and frozen integration on the limits).
Information
This blocks computes w as integral of variable v which is equal to input u multiplied by gain K added to an antiwindup term.
If the integral reaches a given upper limit limitMax or lower limit limitMin, the integration is halted and only restarted if the input drives the integral away from the bounds, with a sufficient margin defined by Tol.
This margin is aimed at avoiding chattering i.e. rapid swings between frozen and unfrozen sates.
If the integration is halted, the integrator output follows the variable limit it has reached.
The output y is the result of the limitation of w by both variable limits.
If the "upper" limit is smaller than the "lower" one, the output y is ruled by the parameter DefaultLimitMax: y is equal to either limitMax or limitMin.
The integrator output is initialized with the parameter Y0.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | DefaultLimitMax (from BaseIntegratorVariableLimits) | true | If limitMin > limitMax : if true, y = limitMax, if false, y = limitMin |
| Types.PerUnit | K (from BaseIntegratorVariableLimits) | 1 | Integrator gain |
| Types.PerUnit | LimitMax0 (from BaseIntegratorVariableLimits) | Initial value of upper limit | |
| Types.PerUnit | LimitMin0 (from BaseIntegratorVariableLimits) | Initial value of lower limit | |
| Types.PerUnit | Y0 (from BaseIntegratorVariableLimits) | 0 | Initial or guess value of output |
| Types.PerUnit | Kaw | Antiwindup gain | |
| Types.PerUnit | Tol | Tolerance on limit crossing as a fraction of the difference between initial limits | |
| Boolean | FrozenMax0 | Y0 > LimitMax0 - Tol*abs(LimitMax0 - LimitMin0) | If true, integration is initially frozen at upper limit |
| Boolean | FrozenMin0 | Y0 < LimitMin0 + Tol*abs(LimitMax0 - LimitMin0) | If true, integration is initially frozen at lower limit |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| RealInput | u (from SISO) | Connector of Real input signal | |
| RealOutput | y (from SISO) | Connector of Real output signal | |
| Modelica.Blocks.Interfaces.RealInput | limitMax (from BaseIntegratorVariableLimits) | Connector of Real input signal used as maximum of output y | |
| Modelica.Blocks.Interfaces.RealInput | limitMin (from BaseIntegratorVariableLimits) | Connector of Real input signal used as minimum of output y |