Integrator with limited value of the output
This blocks computes y (element-wise) as integral of the input u multiplied with the gain k. If the integral reaches a given upper or lower limit and the input will drive the integral outside of this bound, the integration is halted and only restarted if the input drives the integral away from the bounds.
It might be difficult to initialize the integrator in steady state. This is discussed in the description of package Continuous.
If parameter limitAtInit = false, the limits of the integrator are removed from the initialization problem which leads to a much simpler equation system. After initialization has been performed, it is checked via an assert whether the output is in the defined limits. For backward compatibility reasons limitAtInit = true. In most cases it is best to use limitAtInit = false.
|u||RealInput||Connector of Real input signal|
|y||RealOutput||Connector of Real output signal|
|outMax||Real||Upper limit of output|
|outMin||Real||-outMax||Lower limit of output|
|initType||Init||Modelica.Blocks.Types.Init.InitialState||Type of initialization (1: no init, 2: steady state, 3/4: initial output)|
|limitsAtInit||Boolean||true||= false, if limits are ignored during initializiation (i.e., der(y)=k*u)|
|y_start||Real||0||Initial or guess value of output (must be in the limits outMin .. outMax)|