### Block: ILimit

Inports
In | Control error input
I0 | Integral value which is loaded at initialization function call
max | Maximum output value
min | Minimum output value
Enable | Enable == 0: Deactivation of block; Out set to 0 Enable 0->1: Preload of integral part Enable == 1: Activation of block

Outports
Out | Control value

Mask Parameters
Name | ID | Description
Ki | 1 | Integral Factor
ts_fact | 2 | Multiplication factor of base sampling time (in integer format)

##### Description:

I controller with output limitation:

G(s) = Ki/s = 1/(Ti*s)

Each fixed point implementation uses the next higher integer datatype for the integrational value storage variable.

A rising flank at the Enable inport will preload the integrational part with the value present on the Init inport.

Transfer function (zero-order hold discretization method):

Developer note: The source code of this block is used for block I.

##### Implementations:

FiP16 | 16 Bit Fixed Point Implementation
FiP32 | 32 Bit Fixed Point Implementation
Float32 | 32 Bit Floating Point Implementation
Float64 | 64 Bit Floating Point Implementation

#### Implementation: FiP16

16 Bit Fixed Point Implementation

Inports Data Type
In | int16
I0 | int16
max | int16
min | int16
Enable | bool

Outports Data Type
Out | int16

#### Implementation: FiP32

32 Bit Fixed Point Implementation

Inports Data Type
In | int32
I0 | int32
max | int32
min | int32
Enable | bool

Outports Data Type
Out | int32

#### Implementation: Float32

32 Bit Floating Point Implementation

Inports Data Type
In | float32
I0 | float32
max | float32
min | float32
Enable | bool

Outports Data Type
Out | float32

#### Implementation: Float64

64 Bit Floating Point Implementation

Inports Data Type
In | float64
I0 | float64
max | float64
min | float64
Enable | bool

Outports Data Type
Out | float64