Talk:PID controller
From Wikipedia, the free encyclopedia
article on proportional integral derivative controller
Contents |
[edit] Proportional control
Proportional - To handle the present, the error is multiplied by a (negative) constant P (for "proportional"), and added to (subtracting error from) the controlled quantity. P is only valid in the band over which a controller's output is proportional to the error of the system. For example, for a heater, a controller with a proportional band of 10 °C and a setpoint of 20 °C would have an output of 100% at 10 °C, 50% at 15 °C and 10% at 19 °C. Note that when the error is zero, a proportional controller's output is zero
This means that when the process variable maches the set point there is no out put from the controller i want to know that if gives 0% out put at when the process variable achieve the set pont position then it will make a rapid change after some time and again begain to decrease the temprature acording to the process lag
And for pressure loop is it same the proportional band is 100 psi and the set point is 200psi what u think is it possible that when 200 psi achieved it closes the valve 100% then wht will be the correct table for it
INPUT(PSI) OUTPUT(%) 200 0% 150 50% 100 100%
plese clear my concept about this confusion.And its only about proportional controler. I am at initial state learning process your guidence will be very knowledgeful for me.you can also mail me at my email address
Thanks REHAN RIAZ rehanriaz.tech@gmail.com
This page is borked. I tried cleaning it up down to 'Theory', standardizing, etc etc.
[edit] Cascade
I couldn't come up with a good example of cascading PID. I was thinking of a waste wood fed steam boiler, with one PID loop internal to the feed auger VFD + steam pressure and a second PID loop of an external loop controller with a sensor on the stack temperature, but then couldn't figure out how you would feed the output of the second controller into the first if it was already a loop with its own input. What is cascading PID?
Input > Controller > Output=Input > Controller > Output??? Why would you want to do that? Someone clarify?
GarrettSocling 21:07, 10 May 2006 (UTC)
(Answer) In a cascading structure, the controller output of the outer loop is used as the set-point of the inner loop. With y1=plant output used for inner loop, y2=plant output used for outer loop, u1=plant input, r1=set-point of inner loop and r2=set-point of outer loop, the outer controller uses r2-y2 as input (it tries to bring this quantity to 0) and generates u2; the inner controller takes it as set-point r1=u2, using u2-y1 as input (it tries to bring this quantity to 0) and generates u1 which is fed to the plant (for the sake of simplicity, we assume our controllers act on the error between the set-point and the measured plant output). Cascading is used typically when your inner loop is faster than the outer loop: you improve the performance of the inner part by adding a controller to make it more linear, less sensitive to disturbances, etc.; then you design the outer loop by considering the inner loop to be a simple system. For instance, in a car, the inner loop could control the wheel direction with an electrical motor, and the outer loop could control the trajectory of the car on the road. Basically, cascading is a trick to have more parameters to tune and to split the design when a simple PID isn't enough.
Mausy5043 09:17, 18 October 2006 (UTC): The example I like to use is that of a large tank filled with liquid and a jacket used to heat it up. The temperarature of the tank's content is controlled (master loop) by regulating the temperature in the jacket (slave loop).
The other key application of cascade is to allow an intermediate common path to the secondary loop from several influences besides just the influence captured by the primary loop. This allows several loops to target a common secondary setpoint. An example is steam boiler drum level control being influenced by feedwater flow as well as outlet steam pressure.--Billymac00 16:54, 28 August 2006 (UTC)
[edit] Theory
Mausy5043 09:39, 18 October 2006 (UTC): I don't understand the first two paragraphs of this chapter:
The PID loop adds positive corrections, removing error from the process's controllable variable (its input).
Differing terms are used in the process control industry: The "process variable" is also called the "process's input" or "controller's output." The process's output is also called the "measurement" or "controller's input."
What we're trying to say here is that the PID loop has an input (e.g. from a measurement device) and an output (e.g. to a controlling device such as a valve or motor). Could someone please simplify these two paragraphs?
[edit] Undefined Parameters
Oh my. It's great to have a Loop Tuning section, but it remains kind of useless, because none of the parameters are defined -- Tr, Td, even P. Somewhere in the article, those parameters should appear in an equation describing the PID response. Something like action = P * error + Td * d(error)/dt + ... I don't know how it's conventionally stated, so I won't guess. But whoever put in the otherwise good description of the Ziegler-Nichols method would know. Spiel496 18:43, 12 June 2006 (UTC)
[edit] Representative HMI Interface
Here is a sample PID interface screen:
The interface should summarize key parameters such as gains, output clamps, direction of action (direct/reverse), setpoint and input and output values.--Billymac00 18:34, 6 August 2006 (UTC)
[edit] Confusion of names
The names given to different quantities aren't used in a consistent way. For instance, it is said that the measurement is also called process variable, but later there are input process variables, and one can manipulate some other process variable. And the PID loop is sometimes used for the controller itself; actually, the loop includes the process. It's likely that this confusion also exists in the literature (and perhaps even among a few engineers), but the result is that the article is difficult to understand for someone who doesn't know control. I think we should agree on some simple and explicit terms (e.g. measurement for the process output, controlled value for its input, and desired value for the set-point), use them consistently, and have a separate section where we mention all the other terms the reader may find in books and papers. Engelec 10:21, 18 October 2006 (UTC)
- This entire long article needs to be edited by one person to ensure consistency in names, avoid repetition, etc. Encyclops 15:34, 18 October 2006 (UTC)
[edit] PID Loop Example diagram
Thanks, whoever recently added the PID loop example diagram, but I think it may be incorrect. It appears to be some variation on a parallel PID control algorithm; however, every control text I have, plus a recent traning course I went on show all three terms (P,I,D) acting on the error for a parallel PID algorithm. In the given diagram, the P and I terms act on the error, and the D term acts acts on the process variable( / measurement / plant output). While I appreciate that in some circumstances, there may be performance advantages to doing it this way, it doesn't appear to be the norm. Additionally, the first paragraph describes a PID controller acting on '...the rate of change of the error signal...' and not '...the rate of change of the plant output...'. The diagram and text should tell the same story. Many industrial PID controllers don't use the parallel algorithm anyway, they use the non-interacting or interacting algorithm. Dave t uk 16:08, 24 October 2006 (UTC)
- This diagram is not uncommon, but I agree it's unfortunate that it doesn't match the text; there should be at least a caption. Pure parallel algorithms give large control signals when the set-point isn't smooth enough; and filtering the set-point is equivalent to not having a pure parallel algorithm. BTW, which difference do you see between parallel and non-interacting algorithms? There are certainly multiple definitions of both, but with the ones given in the article, one can assume they are the same. Engelec 22:16, 24 October 2006 (UTC)
-
- For Standard/Non-interacting, I have Kc(e + (1/Ti)*integral(e)dt + Td(de/dt))
- For Interacting, I have Kc(e + (1/Ti)*integral(e)dt) * (1 + Td*de/dt)
- For Parallel, I have Kc*e + (1/Ti)*integral(e)dt + Td(de/dt)
- The difference between the parallel and non-interacting algorithm is that with a non-interacting, the Kc term acts on all 3 terms, with parallel, it is independent. It means that with a parallel algorithm, lowering the Kc alters the output phase angle and could destabilise the system. Changing Kc on a non-interacting algorithm only alters the magnitude, hence it is prefered over parallel in many cases.Dave t uk 15:43, 25 October 2006 (UTC)
-
-
- In that case, for the parallel implementation, Ti and Td include gains and don't correspond to times anymore (with dimensional analysis, comparison with the proportional term shows that there is a problem). I'd rather write Kp e + Ki integral e dt + Kd de/dt (or Kc instead of Kp). But this doesn't correspond to the article where non-interacting = parallel. Engelec 16:34, 25 October 2006 (UTC)
-
- I just uploaded a new diagram I made and replaced the old one. Is this better? -- SilverStar 06:56, 25 October 2006 (UTC)
-
- Yes, it's very nice and clear. I wouldn't use t' for the integration variable, though, because ' has already different meanings in control (τ would be fine if it's possible). And integration should begin at 0 instead of -inf (or some arbitrary time instant, but it would be needlessly confusing). Engelec 10:21, 25 October 2006 (UTC)
-
-
- Thanks. I've uploaded a corrected version. The original integration formula was from the article, so it may need to be corrected as well. SilverStartalk 10:37, 25 October 2006 (UTC)
-
-
- That is an improvement, but the three blocks labeled "P", "I" and "D" have no meaning. Normally, a block has some effect on the signal, as with the block labeled "Process". I suggest putting the formulas inside blocks, along with P, I, D labels. Spiel496 06:29, 26 October 2006 (UTC)
-
-
- Ok, new image on page. --SilverStartalk 09:27, 26 October 2006 (UTC)
-
[edit] "following with dimensional analysis"
Is the reasoning that Kd = Dt and follows from dimensional analysis valid (I'm not denying the conclusion, just the stated reasoning)? Dimensional analysis can only show that a certain relationship is possible, it can't actually prove equality. At the very least, dimensional analysis would allow for an arbitrary unitless constant term to be multiplied on either side of the equation.
--SilverStar 07:26, 25 October 2006 (UTC)
[edit] Need to restart (almost) from zero
The article has accumulated so many errors and inaccuracies it becomes impossible to manage (just to enumerate a few: sign confusion (PID coefficients are usually positive), interacting mentionned before being defined, wrong definition for the "interacting form" (the parts connected in series are not the same as those of the parallel version), confusion between unstability and oscillations (a system can be unstable and not oscillate, and a nonlinear system can have stable oscillations), meaningless statements (e.g. filter applied to a complex frequency-domain system), etc.). I'd suggest to have a small, clean article on what PID controllers are in their academic version (parallel, controller input = error = setpoint - process output, controller output = process input) with a minimum amount of redundancy with control theory; maybe a section about why it isn't implemented like that; and a separate article on what's found in the industry, jargon, etc. (i.e. everything a beginner shouldn't read before understanding the basics). Engelec 10:52, 25 October 2006 (UTC)
- I agree on your assessment, though I lean towards pruning and repair. There's too much "another way to look at it..." stuff. And, there should be a law against parentheses in article intros. I'll do what I can to fix stuff, but if someone can pull off a major rewrite, more power to him. The part where I feel most confident contributing is the Loop Tuning, which is also a mess, referring to variables mentioned nowhere else. Spiel496 16:35, 26 October 2006 (UTC)
I'd missed this one: the discrete-time version is wrong. Of course, you can implement a PID with three independent coeffients in discrete time (that's how they're done in digital devices like microcontrollers or FPGA). Equation becomes, when using q as the forward-shift operator (see z transform), u(k) for controller output and e(k) for error: u(k) (q-1) = Kp e(k) + Kd (q-1)/q e(k) or u(k)/e(k) = Kp / (q-1) + Kd / q; in other words, a kind of PI controller where Kp is the integral gain and Kd the proportional gain. To get the correct equation, start with u(k)/e(k) = Kp + Ki q/(q-1) + Kd (q-1)/q; then u(k) q (q-1) = (Kp q (q-1) + Ki q^2 + Kd (q-1)^2) e(k), and finally, with the article notations,
Engelec 00:20, 27 October 2006 (UTC)
[edit] Feedback controller
Feedback controller redirects to this page, obviously PID is not the only feedback compensator ZyMOS