CtrlPidParallel (FB)

FUNCTION_BLOCK CtrlPidParallel EXTENDS AbbLConC3

This function block performs as a PID Controller with parallel control algorithm and differential filter function.

Transfer Function = U(s) / E(s) = Kp + (1 / Ti * s) + Td * s / (1 + Td/Kd * s)

InOut:

Scope

Name

Type

Initial

Comment

Input

Sp

REAL

0

2: Set Point of PID controller

Pv

REAL

0

3: Process Variable of PID controller

Kp

REAL

1

4: Propotional gain of PID controller

Ti

REAL

20

5: Integral time for I factor of PID controller (Unit: Second), 10000>=Ti >= 0.1

Td

REAL

10

6: Differential time for D factor of PID controller (Unit: Second), 10000>=Td>=0

Kd

REAL

1

7: Differential Propotional gain for D factor of PID controller, Kd > 0, to avoid division by 0 error.

FfOffset

REAL

0

8: Feed forward offset for Output Manipulated Variable Out

Deadband

REAL

0

9: Dead band of Error Variable, DeadBand >= 0.

ManualOn

BOOL

FALSE

10: Turn on manual mode to output manipulated variable manually

OutManual

REAL

0

11: Manual value for the output Manipulated variable

DirectAction

BOOL

FALSE

12: Direct Action mode selection for PID controller: FALSE- direct action (Ev = Sp-Pv), TRUE-reverse action( Ev := Pv- Sp)

OutMax

REAL

100

13: Maximum limit of Output Manipulated Variable

OutMin

REAL

-100

14: Minimum limit of Output Manipulated Variable

Output

ErrorID

ERROR_ID

3: Error identifier if an invalid value was applied to an input

SpReached

BOOL

FALSE

4: Controlling state of the PID controller, SpReached=TRUE means process variable (Pv) reaches set point (Sp)

Out

REAL

0

5: Output manipulated Variable, Output of the PID controller

Ev

REAL

0

6: Error Variable of the set point and the process variable

OutP

REAL

0

7: Proportional item of the Output manipulated variable

OutI

REAL

0

8: Integral item of the Output manipulated variable

OutD

REAL

0

9: Differential item of the Output manipulated variable

MaxAlarm

BOOL

FALSE

10: Maximum alarm of the Output manipulated variable

MinAlarm

BOOL

FALSE

11: Minimum alarm of the Output manipulated variable