**3.2. Exhaustive search solution**

Both transfer functions represent a First Order plus Dead Time (FODT). So, for both systems it was applied the same procedure to tune the PI parameters. A Pade approximation is applied to generate a polynomial approximation to the delay time and a MATLAB program was designed to search the PI parameters.

The delay time of the system may be represented as a polynomial ratio according the Pade approximation. MATLAB has a specific function to generate this ratio, given the time delay and the order of the desired polynom. This function is:

### [num,den] = pade(T,N)

Using this function and the transfer function of the pressure variation at the A column and the steam flow valve actuation, it was built an exhaustive searching algorithm to obtain the minimum Integral Absolute Error (IAE) using a Proportional Integral (PI) control system. At the next program it may be seen that the Pade approximation was built with two second order polynomial ratio.

**Figure 4.** Piping and instrumentation diagram.

At the end of the execution, the minimum Kp obtained was equal to 17.3 and the minimum Ti was 23, and IAE equal 6.35. This is a better result than that presented at (Santos, 2010).

MATLAB program uses a Transfer Function representation for the Dead Time and for the plant. Both are associated in series through a specific MATLAB function and a unitary feedback loop is calculated to analyses the system response to several pairs of Kp and Ti values.

```
clc 
close all
s = tf('s') 
t=0:0.1:1000; tam=length(t); 
T = 3; 
% Plant - Transfer Function 
plant = (0.26*((1-(T/2)*s+((T*s)^2)/12)/(1+(T/2)*s+((T*s)^2)/12)))/(23*s+1) 
Kc = 12.00:0.01:18.00; 
Ti = 22.00:0.01:25.00; 
tamKp = length(Kp); 
tamTi = length(Ti); 
count = 1; 
for i = 1:tamKc, 
         for j = 1:tamTi,
```

```
 PI = Kp(i)*(1+1/(Ti(j)*s)); 
 H=series(PI,plant); 
 L=feedback(H,1); 
 [output, t] = step(L,t); 
 MP = Calcul_MP(output); 
 IAE = IAE_U_Step(output,0.1); 
 result(count,1) = Kp(i); 
 result(count,2) = Ti(j); 
 result(count,3) = MP; 
 result(count,4) = IAE; 
 count = count+1;
```