CTRL_PI

CTRL_PI

FT_PI is a PI controller with manual functionality.

version 2.0 30. jun 2008 programmer hugo tested by oscat

FT_PI is a PI controller with manual functionality. The PID controller works according to the fomula Y = e *(KP+ KI * INTEG(e) ) + offset, while e = set_point - actual. a rst will reset all internal data, while a switch to manual will cause the controller to follow the function Y = manual_in + offset. limit_h and Limit_l set the possible output range of Y. the output flags lim will signal that the output limits are active and overflow will signal that the integrator has reached its limits.

since rev 1.1 the „trapezregel is used for more accuracy. rev 1.2 added selective integratin which means the integrative component is only active within a small range of the target value this avoids the integrator to go to limits while an input setpoint change happened and is only causing overshoots. the int_band is by default 100 which means the int is active all the time and if set to for example to 0.1 the integrator is only active while the input is between 0.9 and 1.1 of the set_point value.

default values for KP = 1, TN = 1, TV = 1, LIMIT_L = -1000, LIMIT_H = +1000.

Interface

Event Inputs

Name

Comment

With

REQ

Normal Execution Request

ACT, SET, SUP, OFS, M_I, MAN, KP, KI, LL, LH

RST

Reset

Event Outputs

Name

Comment

With

CNF

Execution Confirmation

Y, DIFF, LIM

Input Vars

Name

Type

Initial Value

Comment

ACT

REAL

Actual Value

SET

REAL

Set Point

SUP

REAL

Noise Suppression

OFS

REAL

Offset

M_I

REAL

Manual Input Value

MAN

BOOL

Manual Mode

KP

REAL

1.0

Proportional Gain

KI

REAL

1.0

Integral Gain

LL

REAL

-1000.0

Lower Limit

LH

REAL

1000.0

Upper Limit

Output Vars

Name

Type

Comment

Y

REAL

Control Output

DIFF

REAL

Difference (Error)

LIM

BOOL

Limit Reached Flag

🛠️ Zugehörige Übungen