| Inports
| |
| In | Control error input |
| Init | Initial value of output Out when enabled |
| 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 |
| Kp | 1 | Proportional Factor |
| Ki | 2 | Integral Factor |
| initHandling | 3 | Determines what the signal provided on Init input is used for |
| ts_fact | 4 | Multiplication factor of base sampling time (in integer format) |
PI controller with output limitation and anti wind-up method clamping:
G(s) = Kp + Ki/s
Preloading Integral
A rising edge at the Enable inport enables the controller and preloads the integral.
One may choose from two options how to preload the integral value:
Preload the integral from the Init inport.
Preload the integral such that the first output of the controller matches the
current value at the Init inport.
This option allows controller switching without disturbing the control.
Note: Each fixed point implementation uses the next higher integer data type for the integral value storage variable.
Transfer function (zero-order hold discretization method):
When the block is enabled, the PI controller realizes the following transfer function: Transfer
function (zero-order hold discretization method):

Anti Wind-Up
The implemented anti wind-up method is clamping. If the output signal out exceeds the
upper or lower limit value, which is given by the inport max and the inport min, the
integrator is
clamped if the controller input would increase the saturation even further.
Developer note: The source code of this block is used for block PI.
| FiP8 | 8 Bit Fixed Point Implementation |
| FiP16 | 16 Bit Fixed Point Implementation |
| FiP32 | 32 Bit Fixed Point Implementation |
| Float32 | 32 Bit Floating Point Implementation |
| Float64 | 64 Bit Floating Point Implementation |
8 Bit Fixed Point Implementation
| Inports Data Type
| |
| In | int8 |
| Init | int8 |
| max | int8 |
| min | int8 |
| Enable | bool |
| Outports Data Type
| |
| Out | int8 |
16 Bit Fixed Point Implementation
| Inports Data Type
| |
| In | int16 |
| Init | int16 |
| max | int16 |
| min | int16 |
| Enable | bool |
| Outports Data Type
| |
| Out | int16 |
32 Bit Fixed Point Implementation
| Inports Data Type
| |
| In | int32 |
| Init | int32 |
| max | int32 |
| min | int32 |
| Enable | bool |
| Outports Data Type
| |
| Out | int32 |
32 Bit Floating Point Implementation
| Inports Data Type
| |
| In | float32 |
| Init | float32 |
| max | float32 |
| min | float32 |
| Enable | bool |
| Outports Data Type
| |
| Out | float32 |
64 Bit Floating Point Implementation
| Inports Data Type
| |
| In | float64 |
| Init | float64 |
| max | float64 |
| min | float64 |
| Enable | bool |
| Outports Data Type
| |
| Out | float64 |