Sign in to follow this  
Followers 0
sid

PID Tunning

8 posts in this topic

I am working on induction furnace where dead time is very large(approx. 20Sec.) since the pipe to be heated is passed between a round coil for induction heating and the pyrometer for temp. sensing is kept outside coil. However the lag time is very small. Temp. of the pipe is to be kept constant and the output power to coil is controlled to change the temp. of the pipe. I have tried to tune the PID inside FX1N PLC but i am getting too much oscillations. How to tune such PID loops where dead time is too long? Edited by sid

Share this post


Link to post
Share on other sites
What is your definition of "lag time" and "dead time"?

Share this post


Link to post
Share on other sites
The time taken by the process to respond to any changes in control variable is called DEAD time whereas the time taken by proces to reach 63% of the output when a step input is applied is called lag time Edited by sid

Share this post


Link to post
Share on other sites
I'm still a bit confused. Let's take the classic Mitsubishi terminology applying to PID functions. SP = Setpoint MV = Manipulated Variable (Value) (the output from the PID block) PV = Process Variable (the feed back instrument). So, in your case, PV is the pyrometer temperature, MV is the power applied to the heating coil, and SP is the temperature that you want the pipe to achieve. So, I assume that your "dead time" is the time taken by the pipe to show the effects of a change in the MV value? I imagine this would be quite large, for various physical reasons. >>whereas the time taken by proces to reach 63% of the output when a step input is applied is called lag time<< What do you actually mean by this? Do you mean the MV reaching 63% of its maximum value when a change in SP is applied?

Share this post


Link to post
Share on other sites
For example consider that pipe is at ambient temperature and set point is changed to 900Deg. Celsius, So the MV will apply a large correction to heating coil to increase the pipe temperature. Now as the pipe is passing through coil at some linear speed it takes some time for the heated portion of pipe to come in front of pyrometer and this time is dead time. Since MV applies large power to coil to achieve 900Cel., the temperature of pipe doesn't go directly to 900 Cel., the time taken to reach 63% of (900 cel. -ambient temp.) is called lag time

Share this post


Link to post
Share on other sites
Ah, now I see. So basically, any change in the MV will not show as a change in the PV for about 20 secs. The answer is that I don't know how to do it, but in cases like this, I try and imagine what I would have to do if I was physically controlling the plant and see if I can programme a solution based on that thought experiment. On an analogue system with very small dead time, say controlling the pressure in a water main with a manual graduated valve, then it's easy to see that feedback is almost instantaneous and control could be achieved by standing there and watching the gauge, then manually turning the valve one way or another depending on the pressure gauge. Experience would soon show how much the valve needed to be moved and how quickly it needed to be moved to maintain the pressure. This is obviously the normal PID loop, and the amount of manual valve movement and the speed of manual valve movement are effectively the tuning P, I & D parameters of the PID loop. However, on your system, if I was manually controlling the induction loop (say with a power dial) and watching the temperature gauge, the only way I could imagine operating it would be to turn the dial to a start point that I knew was about right, wait 20 secs, then see what the temperature was, then adjust a bit, then wait 20 seconds, and keep repeating the process until the temperature was about right. So, maybe one option would be to set up a crude proportional control, based on experimentally derived data, along the lines of: 1. Machine starts ... set MV value to known "about right" value. 2. 20 secs, later snapshot temperature into data register (say D1). 3. Subtract D1 from SP (+ve result = under SP, -ve result = over SP) 4. Multiply result by experimentally derived value then add to MV, ( -ve result would reduce MV, +ve result would increase MV) 5. Wait 20 secs and repeat. The experimentally derived value would be roughly how many bits you need to change the MV to cause a change in PV of 1 deg C. I know it's rough, and it doesn't use a PID block,but providing the dead time doesn't vary, you should get pretty close to the value you're after, albeit with a small offset. The only other thing I might try (from experience), is using a PID block, setting D constant to 0, increasing I constant to 16 - 20 secs range, then adjusting P constant to suit. I haven't a clue if this would work, but if I get systems with a time lag on the PV, then it always seems that increasing the I constant helps to stabilise things.

Share this post


Link to post
Share on other sites
Thanks a lot Colin I think using PID will be the best solution because it removes offset and adjusting I to large value reduces oscillations. During next visit to my site i try out this. One more question is that is it possible to change the values of PID loop(such as Ts, P, I &D) while loop is running.

Share this post


Link to post
Share on other sites
Yes, you can change them when it's running. I normally set up a password protected screen on the HMI with dire warnings like "Only adjust these parameters if you *REALLY* know what you are doing!!" which seems to scare away most inquisitive fingers. Of course, it's not strictly true, because I use the screen to adjust the parameters, and when it comes to PID loops, I don't *REALLY* know what I'm doing....... just working from experience and what I've been told over the years. There are long, very complicated PID threads over on the Allen Bradly forum with links to very specialist web sites seeking to explain the Black Art of understanding PID loops. Which is fine if you earn a living only from PID, but most of us (I think) muddle through knowing a few "rules of thumb"

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0