Process Controllers

Embed Size (px)

Citation preview

  • 7/29/2019 Process Controllers

    1/40

    Click to edit Master subtitle style

    2/17/13

    Simulation of Process Control

    Loop using DiscontinuousControllers

  • 7/29/2019 Process Controllers

    2/40

    2/17/13

    Simulink Model of a first-order process loopunder an on-off controller with hysteresis

  • 7/29/2019 Process Controllers

    3/40

    2/17/13

  • 7/29/2019 Process Controllers

    4/40

    2/17/13

  • 7/29/2019 Process Controllers

    5/40

    2/17/13

    The Relay block allows its output to switch between two specified values.

    When the relay is on, it remains on until the input drops below the value of the

    Switch off point parameter. When the relay is off, it remains off until the input

    exceeds the value of the Switch on point parameter. The block accepts one input

    and generates one output.

    The Switch on point value must be greater than or equal to the Switch off point.

    Specifying a Switch on point value greater than the Switch off point models

    hysteresis, whereas specifying equal values models a switch with a threshold at

    that value.

    When the initial input falls between the Switch off point and Switch on point

    values, the initial output is the value when the relay is off.

  • 7/29/2019 Process Controllers

    6/40

    2/17/13

    Simulink Model of a first-order process loopunder an on-off controller with dead zone

  • 7/29/2019 Process Controllers

    7/40

    2/17/13

  • 7/29/2019 Process Controllers

    8/40

    2/17/13

  • 7/29/2019 Process Controllers

    9/40

    2/17/13

    The Dead Zone block generates zero output within a specified region, called its

    dead zone. You specify the lower limit (LL) and upper limit (UL) of the dead

    zone as the Start of dead zone and End of dead zone parameters, respectively.

    The block output depends on the input (U) and the values for the lower and

    upper limits:

    Input Output

    U >= LL and U UL U UL

    U < LL U LL

  • 7/29/2019 Process Controllers

    10/40

    Click to edit Master subtitle style

    2/17/13

    Simulation of Process Control Loopusing Continuous Controllers

  • 7/29/2019 Process Controllers

    11/40

    2/17/13

    Regulatory Control with Step Disturbance for P Controller

  • 7/29/2019 Process Controllers

    12/40

    2/17/13

  • 7/29/2019 Process Controllers

    13/40

    2/17/13

    Regulatory Control with Sinusoidal Disturbance for P Controller

  • 7/29/2019 Process Controllers

    14/40

    2/17/13

  • 7/29/2019 Process Controllers

    15/40

    2/17/13

    Servo Control with Step set point for P Controller

  • 7/29/2019 Process Controllers

    16/40

    2/17/13

  • 7/29/2019 Process Controllers

    17/40

    2/17/13

    Servo Control with Sinusoidal set point for P Controller

  • 7/29/2019 Process Controllers

    18/40

    2/17/13

  • 7/29/2019 Process Controllers

    19/40

    2/17/13

    Regulatory Control with Step Disturbance for PI Controller

  • 7/29/2019 Process Controllers

    20/40

    2/17/13

  • 7/29/2019 Process Controllers

    21/40

    2/17/13

    Regulatory Control with Sinusoidal Disturbance for PI Controller

  • 7/29/2019 Process Controllers

    22/40

    2/17/13

  • 7/29/2019 Process Controllers

    23/40

    2/17/13

    Servo Control with Step set point for PI Controller

  • 7/29/2019 Process Controllers

    24/40

    2/17/13

  • 7/29/2019 Process Controllers

    25/40

    2/17/13

    Servo Control with Sinusoidal set point for PI Controller

  • 7/29/2019 Process Controllers

    26/40

    2/17/13

  • 7/29/2019 Process Controllers

    27/40

    2/17/13

    Regulatory Control with Step Disturbance for PID Controller

  • 7/29/2019 Process Controllers

    28/40

    2/17/13

  • 7/29/2019 Process Controllers

    29/40

    2/17/13

    Regulatory Control with Sinusoidal Disturbance for PID Controller

  • 7/29/2019 Process Controllers

    30/40

    2/17/13

  • 7/29/2019 Process Controllers

    31/40

    2/17/13

    Servo Control with Step set point for PID Controller

  • 7/29/2019 Process Controllers

    32/40

    2/17/13

  • 7/29/2019 Process Controllers

    33/40

    2/17/13

    Servo Control with Sinusoidal set point for PID Controller

  • 7/29/2019 Process Controllers

    34/40

    2/17/13

  • 7/29/2019 Process Controllers

    35/40

    2/17/13

    Comparisons of multiple P controllers

  • 7/29/2019 Process Controllers

    36/40

    2/17/13

    Comparisons of P, PI, PID servo controllers (for step point)

  • 7/29/2019 Process Controllers

    37/40

    2/17/13

    ZieglerNichols tuning method

    Control Type Kp Ki Kd

    P Ku / 2 - -

    PI Ku / 2.2 1.2Kp / Pu -

    classic PID 0.60Ku 2Kp / Pu KpPu / 8

  • 7/29/2019 Process Controllers

    38/40

    2/17/13

    Z-N tuned PID control

    For Process Transfer Function= 6/(48*s^3 + 44*s^2 + 12*s + 1 )

    MATLAB code for Z-N tuning method

  • 7/29/2019 Process Controllers

    39/40

    2/17/13

    MATLAB code for Z N tuning method

    %the below code takes the function input from the user and computes the controller

    parameters using ZIEGLER-NICHOLAS method

    anum=input('Enter the numerator of function: '); % taking the numerator of process

    function as user input

    aden=input('Enter the denominator of function: '); % taking the denominator of

    process function as user input

    sys=tf(anum,aden); % making a transer function from the numerator and denominator

    S=allmargin(sys); % extracting the crossover frequency etc of the transfer function

    if S.GainMargin ~=Inf % proceeding forward in case the system is closed loop stable

    Ku=S.GainMargin;

    Pu=2*pi/S.GMFrequency;

    in=input('Enter the controller type 1.P 2.PI 3.PID'); % asking the user the type ofcontroller for which he wants to compute the values

    if (in==1) % giving output for P only controller

    Kp=0.5*Ku

    con=tf([Kp], [1])

  • 7/29/2019 Process Controllers

    40/40

    2/17/13

    ([ p], [ ])

    elseif (in==2) % giving output for PI controller

    Kp=0.45*Ku

    Ti=Pu/1.2

    Ki=Kp/Ti

    con=tf([(Kp*Ti) Kp],[Ti 0])

    elseif (in==3) % giving output for PID controller

    Kp=0.6*Ku

    Ti=Pu/2

    Ki=Kp/Ti

    Td=0.125*Pu

    Kd=Td*Kp

    con=tf([(Kp*Ti*Td) (Kp*Ti) Kp],[Ti 0])

    else

    disp('Incorrect option entered');

    end