Inports
| |
In | Control error input |
Init | 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 |
Kp | 1 | Proportional Factor |
Ki | 2 | Integral Factor |
Kd | 3 | Derivative Factor |
fc | 4 | Cutoff frequency of realization low pass |
ts_fact | 5 | Multiplication factor of base sampling time (in integer format) |
PID Controller with Output Limitation:
G(s) = Kp + Ki/s + Kd*s/(s/(2*pi*fc) + 1)
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):
FiP8 bug: When using the TI compiler the step response of the derivative part doesn’t return to zero, but generates an overflow at zero crossing if the derivative parameter value is too high.
Developer note: The fixed point implementation source code of this block is used for block PID.
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 |