INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

Control of Process with dominant deadtime ---> Step response test parameter estimation

Control of Process with dominant deadtime ---> Step response test parameter estimation

Control of Process with dominant deadtime ---> Step response test parameter estimation

(OP)
Hi,
I'm a newbie using matlab and to deal with system identification. But as it happend I have to tune a PI Controller for a process. So I thought a open loop test like a step response test is sufficient. I carried out the following test:
set the control signal to a fixed value and see what happen: control signal is set to 6 A at t=0 and the output value is measured. I got the follwoing data for Y: 0.03, 0.04, 0.04, 0.11, 0.11, 0.7, 0.7, 1.06, 1.06, 1.22, 1.22, 1.29, 1.29, 1.34, 1.39, 1.39, 1.42, 1.42, 1.42, 1.42, 1.43, 1.43, 1.42, 1.42, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.43, 1.43, 1.42, 1.42, 1.39, 1.39, 1.4, 1.4, 1.4 --> unit kW
the time is t=0:0.5:39;
Then according to Hägglund one calculate the paramaeters of first-order plus deadtime model G(s)=Ks/(1+sT)*e^(-sL):
Ks=Y(end); %not quite right but close
A0=trapz(T,(Ks-Y));
t0=A0/Ks;
t0=A0/(Ks);
idx=find(T<t0);
t1=T(idx);y1=Y(idx);
A1=trapz(t1,y1);
tau=exp(1)*A1/(Ks);
L=max(0,(A0-exp(1)*A1)/(Ks));
GM=tf(Ks,[tau 1],'iodelay',L);
Well, I got something for the parameters: L=1.7 K=1.4/6 T=1.325 but what tunig rule (practical) is suitable for this problem? The deadtime is twice as the time constant. So it's hard to control. Does somebody has a suggestion?

cheers,





RE: Control of Process with dominant deadtime ---> Step response test parameter estimation

PID controllers do not control processes with dead time very well. Dead time is also called transport delay. If you want accurate control you must go with more advanced controllers.

RE: Control of Process with dominant deadtime ---> Step response test parameter estimation

I'm not sure your coding works, so I'm not confident in your resulting values for your model parameters. It seems like you are confusing t and T in various lines. Also, your time vector t is almost twice the length of your output data Y. Is it supposed to be t=0:1:38? If so, I get different parameter values for L and tau. The plot of the model vs the data looks pretty good when I run it that way.

Finally, there are plenty of PI and PID tuning rules given for dead-time dominant processes. Check out this link, and look for rules where the τm / Tm is greater than your calculated ratio of L/τ.

xnuke
"Live and act within the limit of your knowledge and keep expanding it to the limit of your life." Ayn Rand, Atlas Shrugged.
Please see FAQ731-376: Eng-Tips.com Forum Policies for tips on how to make the best use of Eng-Tips.

RE: Control of Process with dominant deadtime ---> Step response test parameter estimation

(OP)
Hi xnuke, What do you mean I am confusing t and T. Could you please give me an example where this is. You are completely right that the time vector is wrong it should be 0:0.5:19 the sample time was 0.5 seconds.

Thanks for the link I will check it...

RE: Control of Process with dominant deadtime ---> Step response test parameter estimation

You confused me by defining the time vector using lowercase t ("t=0:0.5:39") and the model's time constant using T ("G(s)=Ks/(1+sT)*e^(-sL)") in the top part of your first post, but then you must have used T in your code as your time vector and then you called the system time constant tau, and t doesn't appear at all. OK, now with the correct time vector I get the same results you got despite the confusion in variable names.

As far as using the link I provided: for PI tuning, I'd be looking at Table 1; for PID tuning, I'd be looking at Table 25, or if I have a noisy process and needed to filter the derivative, I'd look at Table 36.

xnuke
"Live and act within the limit of your knowledge and keep expanding it to the limit of your life." Ayn Rand, Atlas Shrugged.
Please see FAQ731-376: Eng-Tips.com Forum Policies for tips on how to make the best use of Eng-Tips.

RE: Control of Process with dominant deadtime ---> Step response test parameter estimation

If your system identification is right you should be able to control it even if the dead time is two times the plant time constant. Here is an example:
I made the dead time 3 minutes and the plant time constant 1 minute just for you. You can see the response as a little over shoot but it isn't bad.
There are actually two simulations. One with my gain calculations and the other using the IMC model gains. I would use the IMC model gains to start because they are simple to calculate.
http://deltamotion.com/peter/Mathcad/FOPDT/Mathcad...

I would move your control signal more. The more changes you make in the excitation the better your system identification will be.

Peter Nachtwey
Delta Computer Systems
http://www.deltamotion.com

RE: Control of Process with dominant deadtime ---> Step response test parameter estimation

(OP)
Hello Peter,

many thanks for your reply. I haven't worked with internal model control so far. But I would like to learn more about it.
Do you have a simple example how to enhance a PI controller to IMC?
What do you mean by "move your control signal more", to use a higher step?

Regards,

Ossi

RE: Control of Process with dominant deadtime ---> Step response test parameter estimation

Regensteiner, see this
http://lorien.ncl.ac.uk/ming/robust/imc.pdf
Scan down to "Implementing IMC within a Conventional PID frame work. You will see the same formula for calculating the gain and time constant their. My pdf goes into detail as to how it is derived. You should be able to control your FOPDT easily even if the dead time is longer than the plant dead time.

The second half the the pdf in the link of my previous post should be all you need.

There is another good site about basic PID and FOPDT control. It is:
www.controlguru.com

I don't have Matlab. I do grudgingly use Scilab. I have a FOPDT and SOPDT auto tuner here:
http://deltamotion.com/peter/Scilab/AutoTune/
In the end it all comes down to knowing your plant. Having a good transfer function for it is essential.
You should be able to convert this to Matlab.

Have, fun.

Peter Nachtwey
Delta Computer Systems
http://www.deltamotion.com

RE: Control of Process with dominant deadtime ---> Step response test parameter estimation

(OP)
Hi Peter,

thanks for the information especially about Scilab. I haven't heard about it but I discussed it with a colleague and we agreed on to check this open source tool.
However, I am going to estimate the parameter to get an IMC based PID. But I have one question about how to calculate the time constant of the low-pass filter. The reference says that a good value would be twice as fast as the open loop response. Is there a better way? Another question is how to estimate a “good” transfer function of the process? As I have written I am using the method of areas to get the approximation of my process.
Regards,

Lars

RE: Control of Process with dominant deadtime ---> Step response test parameter estimation

Quote:


But I have one question about how to calculate the time constant of the low-pass filter. The reference says that a good value would be twice as fast as the open loop response. Is there a better way?
I think you over estimated the time constant in your first post. I would have used the time from the reading at 0.7 to the first reading at 1.42 and call that 5 time constants. I didn't bother to figure out the time between the readings in your post. You should have provided that. I am assuming the deadtime is the time from the first reading to the first 1.06. If so you can seem to be able to figure out the model by yourself. If you want a more accurate estimation using my auto tuning program. There are test input data files so you can see what it does. Scilab is free. Try it.

Did you look at the text files or input data in my Scilab directory? If you can export your data in the same format it will be easy to read up into the auto tuning program.

Peter Nachtwey
Delta Computer Systems
http://www.deltamotion.com

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close