Enhanced PID instruction

mordred

Member
Join Date
Mar 2004
Location
Red Deer
Posts
1,892
I've come across this article on an enhanced PID instruction. Does anyone know which software they may have seen that supports it I already realize that it isn't supported in relay ladder logic but rather function block I'm also curious as to the advantage it offers over the standard PID instruction or if anyone has already tried it as to if it works any better than the standard. I had to split the file into two segments for the size limitations on this site
 
The Allen-Bradley family of RS-5000 supports this, they call it PIDE. I have tested it but haven't actually used it yet in a real world application.
 
Last edited:
Thats a much better article than the one I was trying to post. Thanks Finski2 now I wish my company would bite the bullet and get me rs5000 Currently have SLC 500 for the AB product line. Would be hard to convince them as we only have one machine that requires RS5000 and its still under service contract.. company that supplies the machine wants to protect its secrets with the application Ah well. Anyone know if CX-one supports this instruction in its FB editor?
 
Hi!. I have been working on the PIDE for the last two years with functional blocks. We are using contrologix for controlling the furnace with more than 18 control loops. It got amazing power over the PID used in the ladder. The concept of the PID gets better and better with PIDE. It gives independent and dependent loop concept and actually we can feel better with the process using PIDE. The pide and timing of the output of the PIDE got cleared only after going through the ZIP files information provided with the links from PLC.net. Thanks for the PLC. Net without which I would not have commissioned the Control using contrologix PLC.

I Thank One and all for providing the links and information
 
The autotune function has rarely given me production-ready, usable values, but it gets you in the ball park. Fine tuning is usually required to get optimal results.

If you have the money to spend(not a sales pitch), I recommend RSTune or RSLoopOptimizer. They connect to the controller through RSLinx Classic topics and directly update gains. These can be used for all PID's across the board whether PLC5, MicroLogix, Compact, Flex, Control, SLC500. They are very powerful tools in combating stubborn loops. My favorite aspect is the output characterizer which will linearize a non-linear loop.
 
So why would the auto-tune only support a first order system model if the control filter you are tuning provides correction for a second order system? Wouldn't it make sense to run an evaluation run and then lead the user to pick a model based on the result of that run (ideal first order, FOPDT, ideal second order, SOPDT, lead/lag, etc)? If they are only going to support a first order model why not just support a PI controller??

Keith
 
The autotune function has rarely given me production-ready, usable values, but it gets you in the ball park. Fine tuning is usually required to get optimal results.
I don't see how it could but if it gets close is still is a big help. Before we had auto tuning one of the most common questions was what gains do I put in the PID or where do I start.
Most of these controllers do not have the processing power or the memory to auto tuning like we did in the Advanced Control thread. They just make a few estimates similar to the visual inspection techniques used on the www.controlguru.com site. If one looks at auto tuning done with the Scilab scripts in the Advanced Control thread you can see that the second order model fits the process much better.

Keith, you are almost right, but what if the first order system is a type 1 system ( position ) verses a type 0 ( velocity ) system.

First order systems
Type 0, Gp(s)=K/(tc*s+1) // This requires a PI
Type 1, Gp(s)=K/(s*(tc*s+1)) // This requires a PID
Second order systems
Type 0, Gp(s)=K/(tc1*tc1*s^2+(tc1+tc2)*s+1) // This requires a PID
Type 1, Gp(s)=K/(s*(tc1*tc1*s^2+(tc1+tc2)*s+1)) // This requires a PID // This requires a PID+2ndD
This requiures a PID with a second derivative term. I have seen PLC PIDs with 2nd derivative terms so hope you never see one of these unless you have a real controller. :) Most just do the best they can with the PID they have good and hope it is good enough.
http://www.engin.umich.edu/group/ctm/examples/motor2/PID2.html
They didn't do a very good job of tuning in this example.

Notice the type 1 systems have an extra integrator. Type 0 systems are those like velocity or temperature control system where PV will settle back to 0 or ******t when control is no longer applied. Type 1 systems are like position or tank level controllers where the velocity or flow is integrated to get position or level. If control power is removed the position stops but remains where it is unless someone distrubs it. Likewise for the tank level as long as there is no inflow. ( a distrubance ).
 
OK, silly question number two.

Why is a first order type 1 system considered a first order system? Doesn't it have a pole at zero in addition to the normal first order pole? By my count that makes two poles, or a multiplied characteristic equation of:

tc*s2 + s

I would look at that as a second order system.

Keith
 
Mathematically you are right. The transfer function is second order, but the system is still a first order system physically. The type 1 just means the velocity must be integrated to provided position. It depends on how you are looking at the feedback.

I will dodge my official answer to this. I can't find anything to back me up or shoot me down right now. I just looked into two text books and they both just refer to the equations and not by any description.

I have special codes that I use like t1p1 to mean type on 1 pole. I know this is a second order system mathematically but these systems are much different from t0p2. An integrator is still a pole. It is just a special pole at the origin.

You can see there is a difference in how the type 1 and type 0 systems behave can't you. What would you call each case?
 
Originally posted by Peter Nachtwey:

You can see there is a difference in how the type 1 and type 0 systems behave can't you. What would you call each case?

OK, you've got me there. A T1P1 system does respond differently than a T0P2 system. You have to refer to them differently since they do respond differently. I would say that the type/pole nomeclature is the best thing I've heard to this point. The fact that I have never seen ANYTHING ELSE may be biasing my feelings.

I guess from the standpoint of selecting a filter form you just need to know that the type number adds a required gain. If you keep that in mind you shouldn't get too lost.

So now for the esoteric question. How would you refer to a purely integrating system? This would be like a toilet tank and fill valve, where the tank fill time constant is orders of magnitude longer than the valve time constant. It really is more corerectly a T1P1 system but the poles are so far apart the analysis would lead you to think it is a purely integrating system. Would that be a Type 1 Pole 0 system? o_O
 

Similar Topics

We are trying to control a flow with the PIDE instruction in a Controllogix PLC. There is aproblem in so much that the the control valve and...
Replies
0
Views
2,018
Using Allen Bradley Compact Logix L32E Processor and the PIDE (in fucntion block diagram) seems to get stuck at the low CV value and gives the...
Replies
0
Views
5,426
where do i find FTVIEW HMI Enhanced graphic as per attached HMI screen snapshot i had tried its library:scratch: object but they are not similar...
Replies
4
Views
2,061
Does anyone have any ideas on how to build this in Crimson? The analog scale with a moving indicator and PV data is easy. What I'm having...
Replies
4
Views
2,333
I am replacing a plc5/25 with a plc5/20e. downloading the same program that was running in the classic I have a block transfer error on a...
Replies
2
Views
1,767
Back
Top Bottom