Inports
| |
In | Control error input |
Init | Value which is loaded at initialization function call |
Enable | Enable == 0: Deactivation of block; Out set to 0 Enable 0->1: Preload of integral part Enable == 1: Activation of block |
Outports
| |
Out |
|
Mask Parameters | |
Kp | Proportional Factor |
Ki | Integral Factor |
ts_fact | Multiplication factor of base sampling time (in integer format) |
PI controller:
G(s) = Kp + Ki/s
Each fixed point implementation uses the next higher integer data type for the integral value storage variable.
A rising flank at the Enable inport will preload the integral part with the value present on the Init
inport.
Transfer function (zero-order hold discretization method):
Developer note: For the fixed point implementations the source code of block ?? is used.
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 |
Name | FiP8 |
ID | 3216 |
Revision | 2.0 |
C filename | PI_FiP8.c |
H filename | PI_FiP8.h |
8 Bit Fixed Point Implementation
Controller Parameters | |
b0 | Integral coefficient |
b1 | Proportional coefficient |
sfrb0 | Shift factor for PI coefficient b0 |
sfrb1 | Shift factor for PI coefficient b1 |
i_old | Integrator value from previous cycle |
enable_old | Enable value of previous cycle |
Data Structure:
Name | FiP16 |
ID | 3217 |
Revision | 2.0 |
C filename | PI_FiP16.c |
H filename | PI_FiP16.h |
16 Bit Fixed Point Implementation
Controller Parameters | |
b0 | Integral coefficient |
b1 | Proportional coefficient |
sfrb0 | Shift factor for PI coefficient b0 |
sfrb1 | Shift factor for PI coefficient b1 |
i_old | Integrator value from previous cycle |
enable_old | Enable value of previous cycle |
Data Structure:
Name | FiP32 |
ID | 3218 |
Revision | 2.0 |
C filename | PI_FiP32.c |
H filename | PI_FiP32.h |
32 Bit Fixed Point Implementation
Controller Parameters | |
b0 | Integral coefficient |
b1 | Proportional coefficient |
sfrb0 | Shift factor for PI coefficient b0 |
sfrb1 | Shift factor for PI coefficient b1 |
i_old | Integrator value from previous cycle |
enable_old | Enable value of previous cycle |
Data Structure:
Name | Float32 |
ID | 3219 |
Revision | 2.0 |
C filename | PI_Float32.c |
H filename | PI_Float32.h |
32 Bit Floating Point Implementation
Controller Parameters | |
b0 | Integral coefficient |
b1 | Proportional coefficient |
i_old | Integrator value of previous cycle |
enable_old | Enable value of previous cycle |
Data Structure:
Name | Float64 |
ID | 3220 |
Revision | 2.0 |
C filename | PI_Float64.c |
H filename | PI_Float64.h |
64 Bit Floating Point Implementation
Controller Parameters | |
b0 | Integral coefficient |
b1 | Proportional coefficient |
i_old | Integrator value of previous cycle |
enable_old | Enable value of previous cycle |
Data Structure: