Block: uI



PIC




Inports


In

Control error input



Init

Value which is loaded at initialization function call



Enable

Enable == 0: Deactivation of block; Out is set to 0.

Enable 0->1: Preload of integral part.

Enable == 1: Activation of block






Outports


Out

Integrator output






Mask Parameters


Ki

Integral Factor



ts_fact

Multiplication factor of base sampling time (in integer format)




Description:

Integrator for angle signals:

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):

                1
G (z) =   KITs-----
              z - 1

Implementations:
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

Implementation: FiP8


Name FiP8
ID 3376
Revision 1.0
C filename uI_FiP8.c
H filename uI_FiP8.h

8 Bit Fixed Point Implementation



Controller Parameters


b0

Integral coefficient



sfr

Shift factor for I coefficient b0



i_old

Integrator value from previous cycle



enable_old

Enable value of previous cycle




Data Structure:

typedef struct { 
     uint16        ID; 
     int8          *In; 
     int8          *Init; 
     int8          *Enable; 
     int8          Out; 
     int8          b0; 
     int8          sfr; 
     int16         i_old; 
     int8          enable_old; 
} UI_FIP8;

Implementation: FiP16


Name FiP16
ID 3377
Revision 1.0
C filename uI_FiP16.c
H filename uI_FiP16.h

16 Bit Fixed Point Implementation



Controller Parameters


b0

Integral coefficient



sfr

Shift factor for I coefficient b0



i_old

Integrator value from previous cycle



enable_old

Enable value of previous cycle




Data Structure:

typedef struct { 
     uint16        ID; 
     int16         *In; 
     int16         *Init; 
     int8          *Enable; 
     int16         Out; 
     int16         b0; 
     int8          sfr; 
     int32         i_old; 
     int8          enable_old; 
} UI_FIP16;

Implementation: FiP32


Name FiP32
ID 3378
Revision 1.0
C filename uI_FiP32.c
H filename uI_FiP32.h

32 Bit Fixed Point Implementation



Controller Parameters


b0

Integral coefficient



sfr

Shift factor for I coefficient b0



i_old

Integrator value from previous cycle



enable_old

Enable value of previous cycle




Data Structure:

typedef struct { 
     uint16        ID; 
     int32         *In; 
     int32         *Init; 
     int8          *Enable; 
     int32         Out; 
     int32         b0; 
     int8          sfr; 
     int64         i_old; 
     int8          enable_old; 
} UI_FIP32;

Implementation: Float32


Name Float32
ID 3379
Revision 1.0
C filename uI_Float32.c
H filename uI_Float32.h

32 Bit Floating Point Implementation



Controller Parameters


b0

Integral coefficient



i_old

Integrator value from previous cycle



enable_old

Enable value of previous cycle




Data Structure:

typedef struct { 
     uint16        ID; 
     float32       *In; 
     float32       *Init; 
     int8          *Enable; 
     float32       Out; 
     float32       b0; 
     float32       i_old; 
     int8          enable_old; 
} UI_FLOAT32;

Implementation: Float64


Name Float64
ID 3380
Revision 1.0
C filename uI_Float64.c
H filename uI_Float64.h

64 Bit Floating Point Implementation



Controller Parameters


b0

Integral coefficient



i_old

Integrator value from previous cycle



enable_old

Enable value of previous cycle




Data Structure:

typedef struct { 
     uint16        ID; 
     float64       *In; 
     float64       *Init; 
     int8          *Enable; 
     float64       Out; 
     float64       b0; 
     float64       i_old; 
     int8          enable_old; 
} UI_FLOAT64;