IndustrialControlSystems.Applications.ControlProblems

Packge that contains a list of control oriented examples

Information

  

Description

This sub-package contains various examples that show the usage of the library blocks.

Extends from IndustrialControlSystems.Icons.ExamplesPackage (Examples package icon).

Package Content

NameDescription
IndustrialControlSystems.Applications.ControlProblems.ProcessControl ProcessControl PID control of typical processes
IndustrialControlSystems.Applications.ControlProblems.ATProcessControl ATProcessControl PI control of typical processes, with automatic tuning
IndustrialControlSystems.Applications.ControlProblems.PI_ContinuousVsDigital PI_ContinuousVsDigital Comparison between continuous time PID and its discrete time implementations
IndustrialControlSystems.Applications.ControlProblems.CascadeControl CascadeControl Cascade control
IndustrialControlSystems.Applications.ControlProblems.CascadeAntiWindup CascadeAntiWindup Example of cascade control with external lock
IndustrialControlSystems.Applications.ControlProblems.SmithPredictor SmithPredictor Smith predictor controller for delayed processes
IndustrialControlSystems.Applications.ControlProblems.DecoupledControl DecoupledControl Example of decoupled control

IndustrialControlSystems.Applications.ControlProblems.ProcessControl IndustrialControlSystems.Applications.ControlProblems.ProcessControl

PID control of typical processes

Information

  

Description

In this examples the typical processes (contained in model TypicalTF ) are controlled with PID regulators.

Process Trasfer function
Integrator
  Y(s)     1
  ---- = -----
  U(s)     5s  


Controller parameters
ParameterValue
Kp100
Ti1
Td0.1
N10
b1
c1





Process Trasfer function
Integrator + delay
  Y(s)     1     -1s
  ---- = ----- e
  U(s)     5s  


Controller parameters
ParameterValue
Kp5
Ti30
Td0.1
N8
b1
c1





Process Trasfer function
First Order
  Y(s)      1   
  ---- = -------- 
  U(s)    1 + 5s  


Controller parameters
ParameterValue
Kp10
Ti3
Td0.8
N8
b1
c1





Process Trasfer function
First Order + delay
  Y(s)      1      -2s
  ---- = -------- e
  U(s)    1 + 5s  


Controller parameters
ParameterValue
Kp1
Ti4
Td0.2
N5
b1
c1





Process Trasfer function
Fast Slow
  Y(s)      1 + 5.8s  
  ---- = -------------- 
  U(s)    (1 + 6s)(1+s)  


Controller parameters
ParameterValue
Kp5
Ti0.8
Td0.2
N10
b1
c1





Process Trasfer function
Overshooting
  Y(s)      1 + 8s  
  ---- = --------------- 
  U(s)    (1 + 5s)(1+2s)  


Controller parameters
ParameterValue
Kp5
Ti2
Td1
N10
b1
c1





Process Trasfer function
Undershooting
  Y(s)      1 - 5.5s  
  ---- = --------------- 
  U(s)    (1 + 5s)(1+2s)  


Controller parameters
ParameterValue
Kp0.1
Ti2
Td5
N5
b1
c1





Process Trasfer function
Complex Poles
  Y(s)            1  
  ---- = -------------------- 
  U(s)    1 + 1.2 s + 0.025s  


Controller parameters
ParameterValue
Kp10
Ti2.5
Td1
N10
b1
c1



Extends from Modelica.Icons.Example (Icon for runnable examples).

IndustrialControlSystems.Applications.ControlProblems.ATProcessControl IndustrialControlSystems.Applications.ControlProblems.ATProcessControl

PI control of typical processes, with automatic tuning

Information

  

Description

In this examples the typical processes (contained in model TypicalTF ) are controlled with PI regulators with automatic tuning. The aim of this example is to show how the automatic tuning algorithm works with varius processes. For each trasfer function taken into account have been compared the parameter values before and after the tuning. Also the algorith parameters are listed too. It is possible to see that they have different values, depending on the considered example (e.g. the slope must be adapted in order to avoid big oscillations, the percentual tolerance have to be adapted if the period of the oscillation changes,...).
The example is made of three phases:



Process Trasfer function
Integrator
  Y(s)     1
  ---- = -----
  U(s)     5s  


Controller parameters
ParameterBeforeAfter AT
Kp573.4625
Ti10.273


Automatic Tuning algorithm parameters
ParameterValue
slope1
PermOxPeriodPerc5
pm65
nOxMin3





Process Trasfer function
Integrator + delay
  Y(s)     1     -1s
  ---- = ----- e
  U(s)     5s  


Controller parameters
ParameterBeforeAfter AT
Kp51.067
Ti3026.54


Automatic Tuning algorithm parameters
ParameterValue
slope0.01
PermOxPeriodPerc30
pm70
nOxMin3





Process Trasfer function
First Order
  Y(s)      1   
  ---- = -------- 
  U(s)    1 + 5s  


Controller parameters
ParameterBeforeAfter AT
Kp571.5948
Ti10.1365


Automatic Tuning algorithm parameters
ParameterValue
slope1
PermOxPeriodPerc5
pm65
nOxMin3





Process Trasfer function
First Order + delay
  Y(s)      1      -2s
  ---- = -------- e
  U(s)    1 + 5s  


Controller parameters
ParameterBeforeAfter AT
Kp12.11
Ti45.1879


Automatic Tuning algorithm parameters
ParameterValue
slope0.1
PermOxPeriodPerc5
pm65
nOxMin3





Process Trasfer function
Fast Slow
  Y(s)      1 + 5.8s  
  ---- = -------------- 
  U(s)    (1 + 6s)(1+s)  


Controller parameters
ParameterBeforeAfter AT
Kp514.056
Ti10.1365


Automatic Tuning algorithm parameters
ParameterValue
slope1
PermOxPeriodPerc5
pm65
nOxMin3





Process Trasfer function
Overshooting
  Y(s)      1 + 8s  
  ---- = --------------- 
  U(s)    (1 + 5s)(1+2s)  


Controller parameters
ParameterBeforeAfter AT
Kp517.3146
Ti10.1365


Automatic Tuning algorithm parameters
ParameterValue
slope1
PermOxPeriodPerc5
pm65
nOxMin3





Process Trasfer function
Undershooting
  Y(s)      1 - 5.5s  
  ---- = --------------- 
  U(s)    (1 + 5s)(1+2s)  


Controller parameters
ParameterBeforeAfter AT
Kp0.17.69
Ti10.692


Automatic Tuning algorithm parameters
ParameterValue
slope0.05
PermOxPeriodPerc5
pm45
nOxMin3





Process Trasfer function
Complex Poles
  Y(s)            1  
  ---- = -------------------- 
  U(s)    1 + 1.2 s + 0.025s  


Controller parameters
ParameterBeforeAfter AT
Kp10.548
Ti54.3


Automatic Tuning algorithm parameters
ParameterValue
slope0.1
PermOxPeriodPerc5
pm65
nOxMin3



Extends from Modelica.Icons.Example (Icon for runnable examples).

IndustrialControlSystems.Applications.ControlProblems.PI_ContinuousVsDigital IndustrialControlSystems.Applications.ControlProblems.PI_ContinuousVsDigital

Comparison between continuous time PID and its discrete time implementations

Information


  

Description

In this examples are compared three PID controllers:


There controllers regulates a second order process with trasfer function
   Y(s)          (1+15s)
   ----  =  ----------------
   U(s)       (1+10s)(1+2s)
  

The following images show the SetPoint following and disturbance rejection without saturation

Set Point and Process Variables

Control Signals


To be noticed that the discretised version of the PID and the digital implementation of the incremental PID have the same behaviour.
The same is not valid when the saturation is introduced. If limiting the controller action between [0,2] the discrete time version and the digital one behave quite differently

Set Point and Process Variables

Control Signals



This difference is due to the nature of the digital implementation that is incremental, while the other two are positional.
This problem does not appear if the Set Point reference changes soothly, switching to a ramp Set Point signal, as shown in the following picture.

Process Variables and Control Signals with a ramp Set Point

Extends from Modelica.Icons.Example (Icon for runnable examples).

IndustrialControlSystems.Applications.ControlProblems.CascadeControl IndustrialControlSystems.Applications.ControlProblems.CascadeControl

Cascade control

Information


  

Description

In this examples are compared two control schemes. The aim of this example is to show how classic control strategy can be implemented with the models contained within the ControlLibrary.
The system to be controlled is composed by two dynamics: a fast one and a slow one. The trasfer functions follow:
Fast

           Y(s)           1
   P1(s) = ----  =  -------------
           U(s)       (1+0.05s)
  

Slow
           Y(s)           1
   P2(s) = ----  =  -------------
           U(s)       (1+2s+s^2)
  

Two different control scheme (both using discrete dime controllers) are compared. In the first one there is one controller that acts
directly on the fast process P1 and measures the output of the second process P2.
In the second case, there are two controllers that act respectively on the fast and slow dynamics. The second approach is called cascade control.


The Step responce of the two scheme are listed below.

Despite for a step variation of the Set Point, the two responces (classic scheme red line, and cascade the green one) are
practically the same, this is not true when disturbances occur. It is evident that the cascade control scheme
performs better than the classic one. Below are reported the control signal of the controllers

where is evidenced the fast action of the inner control loop.

Since the controller are discrete time ones, it is important to choose the right sampling time for each loop
(external and internal one). In this case have been choosen a sampling time of 0.5 s for the outer loop, while a
sampling time of 0.01 s for the inner one.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

NameDescription
Sampling time
Ts Outer loop sampling time
Ts_inner Inner loop sampling time

IndustrialControlSystems.Applications.ControlProblems.CascadeAntiWindup IndustrialControlSystems.Applications.ControlProblems.CascadeAntiWindup

Example of cascade control with external lock

Information


  

Description

In this examples are compared two cascade control schemes: with and without external lock.

When two controllers are connected together in a cascade control scheme, the inner controller typically regulates the actuator, while the outer one provides the Set Point reference for the inner one.
Since the inner controller acts on the plants, its Control Signal have to be limited, using AntiWindup. Unfortunately it is not possible for the outer controller, to know the values for which the inner regulator saturates.
Such a problem can be voided by using the PID in its incremental form, using the Increment/Decrement lock feature, and creating an external loop between the controllers.
If the inner regulator saturates, its satHi signal becomes true. Connecting this signal to the forbidIncrement input of the outer controller, avoid an useless and potentially dangerous increase of its Control Signal ( that is the Set point of the inner controller that saturated). With such a scheme a windup-like effect can be avoided.
In the following figure, the green line is the CS of the outer controller with Increment/Decrement lock, while the black one is the output of the outer controller whitout Increment/Decrement lock.
The black line shows a windup like effect that turns in a slower reaction when the Set Point changes at time t = 30.

Set Point, Process Variables (with and without external lock) and outer control signals (with and without external lock)

inner regulators Control Signal (with and without external lock)

Extends from Modelica.Icons.Example (Icon for runnable examples).

IndustrialControlSystems.Applications.ControlProblems.SmithPredictor IndustrialControlSystems.Applications.ControlProblems.SmithPredictor

Smith predictor controller for delayed processes

Information


  

Description

The aim of this example is to show how classic control strategy can be implemented with the models contained within the ControlLibrary.
The system to be controlled is a delayed second order one

          Y(s)           1           -8T
   P(s) = ----  =  ---------------- e
          U(s)       (1+0.2s)(1+s)
  

In this case the delay is too high in order to control the process with a simple PI controller. However, the same simple
controller can be used within a more complex structure called Smith predictor. This scheme is based on the knowledge of the process
since it is a model based control strategy. The control scheme follows, and can be replicated with the blocks contained in the library



Two different scheme have been tested. In the first scheme the Smith predictor is based on a model that is equal to the
real process (M(s) = P(s)), while in the second one the model is an approximation of the process. The step responces are reported below

The red line is the process responce without the controller action, the green line is the process controlled with the Smith predictor (M(s) = P(s)) while the pink one is the responce of the Smith predictor with an approximate model.
Every 8 seconds (the time delay) there is an action due to the uncorrectness of the model M. However, the amplitude
of these peacks decrease with time. The control signal of the two controllers are reported below.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Automatically generated Mon May 21 13:34:16 2012.