04 PID Controllers

download 04 PID Controllers

of 65

Transcript of 04 PID Controllers

  • 8/11/2019 04 PID Controllers

    1/65

    Proportional-Integral-Derivative

    PID Controllers

    Cheng-Liang ChenPSELABORATORY

    Department of Chemical EngineeringNational TAIWAN University

  • 8/11/2019 04 PID Controllers

    2/65

    Chen CL 1

    Outline

    Proportional-Integral-Derivative Controller: PID Control based on CurrentFuture Error withConstantReset Bias

    PID Control based on CurrentFuture Error withConstantReset Bias

    PID Control based on CurrentFuture Error withConstantReset Bias

    PID Control based on CurrentFuture Error withConstantReset Bias

    PID Control based on CurrentFuture Error withConstantReset Bias

    PID Control based on CurrentFuture Error withConstantReset Bias

    PID Control based on CurrentFuture Error withConstantReset Bias

  • 8/11/2019 04 PID Controllers

    3/65

    Chen CL 2

    Steady Offset ofPID when using Constant bias

    Series PID Parallel PID

    Response ofPID Controllers to Typical Inputs

    Operational Aspects of PID Controllers

    problems ofD action: sensitivity to noise

    problems of I action: moving PB and reset windup

    manual control requirement bump-less transfer

  • 8/11/2019 04 PID Controllers

    4/65

  • 8/11/2019 04 PID Controllers

    5/65

    Chen CL 4

    PID Controller: A Survey

    More Than 95% of Controllers Are of PID Type

    Ender (1993)

    30%of installed process controllers operate in manual

    20%of loops use default parameters (factory tuning) 30%of loops function poorly because of equipment

    problems (valves, sensors )

    C C

  • 8/11/2019 04 PID Controllers

    6/65

    Chen CL 5

    Why PID Controllers Are So Popular ?

    Structure: simple Easy for understanding

    A few adjustable parameters, easy for tuning

    Performance: good or acceptable level

    Robustness: strong to uncertain operating conditions

    Applicability: wide to different processes/industries

    Ch CL 6

  • 8/11/2019 04 PID Controllers

    7/65

    Chen CL 6

    A Heat Exchanger with Feedback ControlValve: AFC (ATO); Controller: Reverse Action

    Ch CL 7

  • 8/11/2019 04 PID Controllers

    8/65

    Chen CL 7

    Simplest Controller: On-Off Control

    u(t) =

    ub+ u if y(t)< ysp d

    ub u if y(t)> ysp+d

    Problem: oscillatory response !

    On-off cares about control direction only;

    On-off givessamecontrol action fordifferenterror magnitudes

    Solution: control action considering error magnitude

    Ch CL 8

  • 8/11/2019 04 PID Controllers

    9/65

    Chen CL 8

    Current-Error-Based P Controlwith Constant Bias (SS value)

    current control corrective action, u(t)

    current error magnitude, e(t) ysp y(t)

    u(t) e(t) ysp y(t)

    u(t) = Kc e(t) p(t) (Kc: adjustable proportionality)

    u(t) = Kc e(t)

    u(t)+ ub

    SS valuefore(t) = 0

    Ch CL 9

  • 8/11/2019 04 PID Controllers

    10/65

    Chen CL 9

    Problem of Current-Error-Based P Control

    u(t) =Kc e(t) u(t)

    + ubSS valuefore(t) = 0

    Too late to correct current error

    It takes time to know effect of control on output

    conservative action to guarantee stability

    limited achievable control performance

    Chen CL 10

  • 8/11/2019 04 PID Controllers

    11/65

    Chen CL 10

    Solution: Future-Error-Based P ControlBack to the Future

    Control action based onfuture condition (error)

    take control action in advance better control performance

    u(t) = Kc e(t+Td)

    u(t)

    + ub

    SS value

    fore(t) = 0

    u(t) = Kc e(t+Td)

    u(t)

    + ub

    SS value

    fore(t) = 0

    Chen CL 11

  • 8/11/2019 04 PID Controllers

    12/65

    Chen CL 11

    Future-Error-Based P ControlGives Better Performance

    HE: pulse decrease in input temperature

    Att1: e(t1+Td)> e(t1)P control based on e(t1+Td) has larger action

    more steam smaller undershoot in T

    ( Pre-Act P)

    Kc e(t1+Td) +ub > Kc e(t1) + ub

    ( Normal P)

    Chen CL 12

  • 8/11/2019 04 PID Controllers

    13/65

    Chen CL 12

    Future-Error-Based P ControlGives Better Performance

    HE: pulse decrease in input temperature

    Att2: e(t2+Td)< e(t2)P control based on e(t2+Td) has smaller action

    less steam smaller overshoot in T

    ( Pre-Act P)

    Kc e(t2+Td) +ub < Kc e(t2) + ub

    ( Normal P)

    Chen CL 13

  • 8/11/2019 04 PID Controllers

    14/65

    Chen CL 13

    Implement Future-Error-Based P Control

    As Current-Error-Based PD Control

    Original P: u(t) = Kc e(t) + ub

    PreAct P: u(t) = Kc e(t+Td) + ub

    Kc e(t) +Tdde(t)dt e(t)e(t+Td)

    + ub

    Chen CL 14

  • 8/11/2019 04 PID Controllers

    15/65

    Chen CL 14

    u(t) = Kc e(t+Td) + ub

    Kc e(t) +Tdde(t)dt e(t)e(t+Td)

    + ub

    Chen CL 15

  • 8/11/2019 04 PID Controllers

    16/65

    Chen CL 15

    Sub-SummaryP control based oncurrent error with constant bias

    e(t) e(t+Td)

    P control based onfuture error with constant bias

    u(t) = Kce(t+Td) + ub

    Kc

    e(t) + Td

    de(t)

    dt

    e(t)

    +ub

    PDcontrol based oncurrent error with constant bias

    Chen CL 16

  • 8/11/2019 04 PID Controllers

    17/65

    Chen CL 16

    Steady Offset for P (PD) Control

    Non-zero Steady State Offset (I): Setpoint Change

    Initial steady state: (all variables [0, 100%])

    y=ysp=y e= 0 u=ub=u =

    Chen CL 17

  • 8/11/2019 04 PID Controllers

    18/65

    Chen CL 17

    Case I: Setpoint change ysp:y y+ New steady state: y=?, u=?, e=?

    (change in y) = Kp {change in process input}= Kp {(change in CO)+(change in load)}

    y y = Kp

    u u

    change in CO+

    change in load=0

    = Kp

    Kc

    e

    (y+ )

    new spy

    +ub

    uu+

    =0

    y = y+ KcKp1 +KcKp

    new steady state

    = y+ desired sp

    Chen CL 18

  • 8/11/2019 04 PID Controllers

    19/65

    Chen CL 18

    Non-zero Steady State Offset (II): Load Change

    Initial steady state: (all variables [0, 100%])

    y=ysp=y e= 0 u=ub=u =

    Chen CL 19

  • 8/11/2019 04 PID Controllers

    20/65

    Chen CL 19

    Case II: Load change : +New steady state: y=?, u=?, e=?

    (change in y) = Kp {change in process input}= Kp {(change in CO)+(change in load)}

    y y = Kp

    u u

    change in CO+

    change in load=

    = Kp

    Kc

    e

    (y)

    spy

    +ub

    uu+

    y = y+ Kp

    1 +KcKp

    new steady state

    = ydesired sp

    Chen CL 20

  • 8/11/2019 04 PID Controllers

    21/65

    Chen CL 20

    Current-Error-Based P Controlwith Reset Bias

    Question:

    usingP or PD control with constant bias,

    how to guarantee zero steady-state offset ?

    (at steady state: e= 0, y=ysp)

    Answer: u=ub at SS

    desired: e = 0 (y = ysp) at SS

    u = ub at SS

    Chen CL 21

  • 8/11/2019 04 PID Controllers

    22/65

    Reset Bias for Zero SS OffsetSimplest Method

    Simplest method to guarantee u=ub at SS:

    Let ub(t) = u(t) for all t

    then ub = u at steady state

    e = 0 y = ysp

    P control based on current error withreset biasvia a unity-gain dynamics (not workable !)

    Chen CL 22

  • 8/11/2019 04 PID Controllers

    23/65

    Reset Bias for Zero SS OffsetFeasible Method

    Feasible method to guarantee u=ub at SS:

    desired: ub = u at SS

    simplest method: ub(t) equals u(t) t

    feasible method: ub(t) tracks u(t) t

    ub(t) tracks u(t) with first-order dynamics:

    (use Ti to adjust tracking velocity)

    Tidub(t)

    dt +ub(t) =u(t)

    equal tracking

    Chen CL 23

  • 8/11/2019 04 PID Controllers

    24/65

    P control based on current error withreset biasvia first-order dynamics

    Chen CL 24

  • 8/11/2019 04 PID Controllers

    25/65

    Reset Bias Integral Action

    (1) u(t) = Kce(t) +ub(t) (P with reset bias)

    (2) u(t) = Tidub(t)

    dt +ub(t) (ub(t) tracks u(t))

    Tidub(t)

    dt

    = Kce(t) = p(t)

    ub(t) ub = 1

    Ti

    t0

    p(t)dt

    change in bias=

    KcTi

    t0

    e(t)dt

    =ub(t)

    Chen CL 25

  • 8/11/2019 04 PID Controllers

    26/65

    (1) u(t) = Kce(t) p(t)+

    ub(t) 1

    Ti t

    0

    p(t)(t)dt

    ub(t)+ub (PI)

    = Kce(t) +KcTi

    t0

    e(t)dt+ub

    = Kc e(t) + 1Ti t

    0

    e(t)dt +ub Reset bias: interpreted as integral action

    current-error-based P control with reset bias

    (reseting bias according to integral of error)= current-error-basedPI control with constant bias

    Chen CL 26

  • 8/11/2019 04 PID Controllers

    27/65

    Reset Bias Integral Action

  • 8/11/2019 04 PID Controllers

    28/65

    Chen CL 28

  • 8/11/2019 04 PID Controllers

    29/65

    Future-Error-Based P Control with Reset Bias

    P control based on future error PD withreset bias PI Interpreted As PD +PI (series PID ) Controller

    e(t+Td) e(t) +Tdde(t)

    dt e(t)

    Chen CL 29

  • 8/11/2019 04 PID Controllers

    30/65

    ub(t) = 1

    Ti

    Kce

    (t)dt+ub

    u(t) = Kce(t)

    p(t)

    +

    ub

    (t) 1

    Ti

    Kce

    (t) p(t)

    dt +ub

    ub(t)

    Chen CL 30

  • 8/11/2019 04 PID Controllers

    31/65

    Series PID Parallel PID

    Kpc = Kc 1 + TdTi

    Kc = Kpc 0.5 +

    0.25

    Tpd

    Tpi

    Tpi = Ti

    1 + TdTi

    Ti = Tpi

    0.5 +

    0.25 T

    pdTpi

    Tpd = Td/

    1 + TdTi

    Td = T

    pd /

    0.5 +

    0.25

    Tpd

    Tpi

    Chen CL 31

  • 8/11/2019 04 PID Controllers

    32/65

    Series PID Parallel PID

    p(t) = Kc e(t) +Tdde(t)dt u(t) = p(t) +ub(t)

    Tidub(t)dt + ub(t) = u(t)

    P(t) = Kc

    E(t) +Td

    dE(t)dt

    U(t) = P(t) +Ub(t)

    TidUb(t)dt + Ub(t) = U(t)

    P(s) = Kc (E(s) +TdsE(s)) = Kc(1 +Tds)E(s)

    U(s) = P(s) +Ub(s)

    TisUb(s) + Ub(s) = U(s) Ub(s) = 1Tis+1

    U(s)

    Chen CL 32

  • 8/11/2019 04 PID Controllers

    33/65

    U(s) = P(s) +Ub(s) =P(s) + 1Tis+1

    U(s)

    U(s) = Tis+1Tis P(s)

    = Tis+1Tis Kc(1 +Tds)E(s) (series PID)

    = KcTis

    TiTds2 + (Ti+Td)s+ 1

    E(s)

    = KcTi+TdTi

    1 + 1(Ti+Td)s+ TiTdTi+Td

    s

    E(s)

    = Kc

    1 + TdTi

    1 + 1

    Ti

    1+

    TdTi

    s

    +Td

    1 + TdTi

    s

    E(s)

    = Kpc

    1 + 1

    Tpi s

    +Tpd s

    E(s) (parallelPID)

    Chen CL 33

  • 8/11/2019 04 PID Controllers

    34/65

    P Control Based on {Current, Future} Errorwith {Constant, Reset} Bias

    const. bias reset biascurrent error P PI

    future error PD PID

    Chen CL 34

  • 8/11/2019 04 PID Controllers

    35/65

    P Action to Step Error

    Chen CL 35

  • 8/11/2019 04 PID Controllers

    36/65

    PD Action to Step Error

    Chen CL 36

  • 8/11/2019 04 PID Controllers

    37/65

    PI (P-Reset) Action to Step Error

    Chen CL 37

    S

  • 8/11/2019 04 PID Controllers

    38/65

    PID Action to Step Error

    Chen CL 38

    PD A i R E

  • 8/11/2019 04 PID Controllers

    39/65

    PD Action to Ramp Error

  • 8/11/2019 04 PID Controllers

    40/65

    Chen CL 40

    f ( )

  • 8/11/2019 04 PID Controllers

    41/65

    Problem of D Action (I):Sensitive to High-Frequency Noise

    Derivative action without filter:

    Problem: sinusoidal input output mag. frequency

    e(t) =A sin(t) D(t) =Tdde(t)

    dt =TdAcos (t)

    Chen CL 41

    S l i (fi d ) l fil

  • 8/11/2019 04 PID Controllers

    42/65

    Solution: (first-order) low-pass filter

    Td

    N

    dD(t)

    dt +D(t) =Td

    de(t)

    dt D action

    equal

    follow

    Chen CL 42

    P bl ( i )

  • 8/11/2019 04 PID Controllers

    43/65

    Problem: (again)

    derivative + filtering large inner signal (ed)

    Solution: filtering derivative

    Chen CL 43

    P bl f D A i (II)

  • 8/11/2019 04 PID Controllers

    44/65

    Problem of D Action (II):Bump Response to Step Input

    Solution 1: D action on measurement Derivative on measurement:

    y(t+Td) y(t) +Tddy(t)

    dte(t+Td) = ysp y(t+Td)

    = ysp y(t) +Tddy(t)dt e(t) Td

    dy(t)

    dt For noise: filtering + derivative action

    Td

    N

    dyf(t)

    dt +yf(t) = y(t) (yf(t) follows y(t))

    D(t) = KcTddyf(t)

    dt (derivative on yf(t))

    Chen CL 44

    S l ti 2 filt i t i t i l

  • 8/11/2019 04 PID Controllers

    45/65

    Solution 2: filtering on setpoint signal

    (use r(t) as the practical setpoint)

    Solution 3: setpoint weighting (skip)

    Chen CL 45

    P bl f R (I)

  • 8/11/2019 04 PID Controllers

    46/65

    Problem of Reset (I):Moving Proportional Band

    (Reverse) P with reset bias: ([umin, umax] = [0%, 100%])

    u(t) = Kc

    ysp y(t)

    +ub(t) (Kc> 0)

    y(t) = ymax = ? u(t) = Kc

    ysp ymax

    +ub(t) =umin= 0%

    y(t) = ymin = ? u(t) = Kc ysp ymin +ub(t) =umax= 100%y(t) > ymax u(t) < umin (saturation !)

    y(t) < ymin u(t) > umax (saturation !)

    y(t) {ymin, ymax} u(t) {umax, umin} (normal operation)

    Chen CL 46

    P ti l B d (f l ti )

  • 8/11/2019 04 PID Controllers

    47/65

    Proportional Band: (for normal operation)

    PB = [ymin, ymax] = ysp+

    ub(t)uminKc

    , ysp+ub(t)umax

    Kc =

    ysp+

    ub(t)0Kc

    , ysp+ub(t)100

    Kc

    If y(t) PB, Then controller output is normal

    width of PB: affected by Kc

    ymax ymin=umax umin

    Kc=

    100

    Kc%

    position of PB: affected by Kc, ysp, ub(t)

    Chen CL 47

    Example:

  • 8/11/2019 04 PID Controllers

    48/65

    Example:

    ysp= 50%, Kc = 2, ub(t) = 50%t,

    umin= 0%, umax= 100%

    PB =

    50 +

    ub(t) 100

    Kc% , 50 +

    ub(t) 0

    Kc%

    = [ 25% , 75% ]

    Chen CL 48

    Mo i PB d e to Resetti Bias E a le

  • 8/11/2019 04 PID Controllers

    49/65

    Moving PB due to Resetting Bias: Example

    Process: G(s) = 0.0163s+1 5030s+1 110s+1 ZN-PI tuning: Kc= 3.40, Ti= 37 ( PB =

    100%Kc%/%

    = 29.4%)

  • 8/11/2019 04 PID Controllers

    50/65

    Chen CL 50

    Moving PB due to Resetting Bias: Example

  • 8/11/2019 04 PID Controllers

    51/65

    Moving PB due to Resetting Bias: Example

    Process: G(s) = 0.0163s+1 5030s+1 110s+1 Slower reset: Kc= 3.40, Ti= 74 ( PB =

    100%Kc%/%

    = 29.4%)

    Chen CL 51

  • 8/11/2019 04 PID Controllers

    52/65

    Problem ofReset (II)

    Reset Windup

    HE Example

    Chen CL 52

    Anti Reset Windup:

  • 8/11/2019 04 PID Controllers

    53/65

    Anti Reset-Windup:Use A Saturation Modelto Limit Control Signal

    u(t) =

    100% for v(t) 100%

    v(t) for 0% v(t) 100%

    0% for v(t) 100%

    Chen CL 53

    Anti Reset Windup for Parallel PID

  • 8/11/2019 04 PID Controllers

    54/65

    Anti Reset-Windup for Parallel PID

    If v > u = umax

    Then es = u v < 0

    1Tt

    esdt < 0 v until v = umax

    Chen CL 54

    Modification of PID (I):

  • 8/11/2019 04 PID Controllers

    55/65

    Modification of PID (I):High-Frequency Noise

    Problem of D Action: sensitive to high frequency noise

    Solution: low-pass filter on D (P & D)

    Chen CL 55

    Modification of PID (II):

  • 8/11/2019 04 PID Controllers

    56/65

    Modification of PID (II):Anti Reset-Windup

    Problem of Reset Action: reset windup (saturation)

    Solution: limiter

    Chen CL 56

    Modification of PID (III):

  • 8/11/2019 04 PID Controllers

    57/65

    Modification of PID (III):Manual Control

    Manual control: with an integrator

    Chen CL 57

    Modification of PID (IV):

  • 8/11/2019 04 PID Controllers

    58/65

    Modification of PID (IV):Bumpless A/M Transfer

    When in automatic control: m(t) (manual) tracks u(t) (auto)

    m(t): always ready to control

    Chen CL 58

    Modification of PID (V):

  • 8/11/2019 04 PID Controllers

    59/65

    Modification of PID (V):Bumpless M/A Transfer

    Method 1: resetting bias during M/A (keep original ysp)

    let ub(t) = m(t) Kce(t) (when M/A transfer)

    thus u(t) = ub(t) +Kce(t) (auto control action)

    = m(t) (final manual action)

  • 8/11/2019 04 PID Controllers

    60/65

    Chen CL 60

    A Complete PID Controller (I)

  • 8/11/2019 04 PID Controllers

    61/65

    A Complete PID Controller (I) Automatic control Anti-reset windup Bias tracking: bias tracks final outputu(t) Manual tracking: m(t) tracks final output u(t) Manual setpoint adjustment

    Chen CL 61

    A Complete PID Controller (II)

  • 8/11/2019 04 PID Controllers

    62/65

    A Complete PID Controller (II) Manual control Anti-reset windup Bias tracking: bias tracks final outputu(t) Manual tracking: m(t) tracks final output u(t) (Manual setpoint adjustment)

    Chen CL 62

    A Complete PID Controller (III)

  • 8/11/2019 04 PID Controllers

    63/65

    A Complete PID Controller (III) External setpoint (used in Cascade Control) Anti-reset windup Bias tracking: bias tracks final outputu(t) Manual tracking: m(t) tracks final output u(t) Setpoint tracking:

    Chen CL 63

    A Complete PID Controller (IV)

  • 8/11/2019 04 PID Controllers

    64/65

    A Complete PID Controller (IV) Automatic control (used in Override Control) Anti-reset windup Bias tracking: bias tracks external signalz(t) Manual tracking: m(t) tracks final output u(t) Setpoint tracking:

    Chen CL 64

  • 8/11/2019 04 PID Controllers

    65/65

    Thank You for Your Attention