Anything could be thought in mA and minutes.
http://home.arcor.de/janch/janch/_control/20070521-controldoc/
The level moves v1' = 15 mA/min
Process transfer function F1(s)
A1 * v1' = v2 = 0.3mA (Valve step)
A1 = 0.3mA/(15mA/min) = 0.02min
F2(s) Feedforward controller PD(PI)
---------------------------------------
Error e = u - v1
v2 = u + B1 * u' +
^^^^^^^^^^^
Recognize PD1! (=PD)
+ K * (e + 30 * Integrator(e)) + z1
^^^^^^^^^^^^^^^^^^^^^^ ^^
PI!
K = 1
Integration[0...t] e dt + C, C=0
Forced disturbance z1
z1=0.1 at t=0.3
F1(s) Process transfer function
-------------------------------
A1*v1' + v1 + z2 = v2
^^
Forced disturbance z2
z2=-0.1 at t=0.5
F3(s) Target filter (1st order)
-------------------------------
C1*u' + u = w (w = scheme)
Data used:
A1 = 0.02 min
B1 = A1
C1 = A1 (for full compensation)
v1 ist NOT missing because you can integrate v1'.
v1 = Integration[0...t] v1' dt + C
Note:
A tank is a machanical integrator with delta flow input (v2) and level v1
output.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: PD(PI) Math Model (e.g.Tank Level)
I don't see the point. Level control is easy compared to the problem
system I presented. However, you mentioned that this system is
controlled by a valve rather than a pump like the system covered a
month or two ago. Valves are not the easiest thing to model and in
that respect this should be more difficult than my problem system.
1. As the tank level changes these flow though the valve will change
even if the valve position is constant.
2. Valve spools are rarely cut so the flow is proportional to the
spool position. You can get linear valves but they are more
expensive.
Why is feed forward required? You are using the target filter as
your target generator. A properly tuned PI or PID controller will give
you closed to the sampe response. I can get exactly the same response
when I place zero separately from the PID gains in the feedback path.
You still never show the output between the controller and the plant
or valve in this case. This signal is limited to 0 to 100%. In my
Scilab program it is possible for a disturbance ( in flow stopping or
decreassing ) to cause the motor to stop until the level increases due
to inflow. The water level can not increase at a faster rate. Look
at your disturbances. The response looks exponential which can't be.
This is why the controller and plant must be broken down into two
parts and the controller output limits applied. Combining the
controller and plant ignores these real limitations so it looks like
the valve can pump up the tank level.
I will add that to the list of thing to do but make this number 1.
Break down the controller and plant in to separte parts with the
controller output limits applied to the control output.
This shouldn't be needed. You only need a PI controller for a simple
Gp(s)=Kp/s. Otherwise you will need a PID. If you pick your gains
wisely you end up making the whole system into a low pass filter and
you can chose the desired response. Actually you chose the desired
resonse and calculate the gains.
I think it is great that you have discovered how feed forwards work.
Now you should
1. Learn how to make target generators where one can control the
derivatives of the set point.
2. Learn how to design PI, PID and PID with second derivatives to give
you the desired response.
The model for the system should be
Gp(s)=Kp/s for a fast valve that is linear or
Gp(s)=Kt*Kv(f,l)/(s*(tau*s+1) for a non linear valve with a response
time.
In the first case Kp is the overall gain that includes the Kt ( tank )
and Kv ( valve )
It is simple to make a valve linearization table and scale the gain as
a function of the sqrt of the pressure across the valve. The bare
minimim is a deadband elimintator. I get involved with hydraulics,
not level control. A person more experienced in level control, like
Fred Thomasson, can tell you how much effort they put into their
control algorithms.
Peter Nachtwey
Re: PD(PI) Math Model (e.g.Tank Level) CORRECTION!
CORRECT:
v2 = 0 + B1 * u' +
CORRECT:
A1*v1' + 0 + z2 = v2
^^
See controler value v2:
http://home.arcor.de/janch/janch/_control/20070521-controldoc/
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
JCH, are you listening?
This is another example of the nonsense that people think they can get
away with when they combine the plant and controller transfer functions
and convert the response directly to the time domain. There is no 0-100%
limit on the controller so the closed loop transfer function will be
happy allowing valves to pump fluid level up and heaters to cool a
temperature control system.
Peter Nachtwey
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
On Mon, 21 May 2007 17:49:15 -0700, Peter Nachtwey wrote:
I'd like to get my hands on some of those heaters -- particularly with
summer coming on.
If he hasn't listened by now, I'm not sure that he ever will.
--
Tim Wescott
Control systems and communications consulting
http://www.wescottdesign.com
Need to learn how to apply control theory in your embedded system?
"Applied Control Theory for Embedded Systems" by Tim Wescott
Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
I just don't want anyone to think that what JCH is doing the right
way.
How about your class? What are you going to teach them? The last
thing the world needs is more people thinking their heater systems can
cool and gains can be infinite.
Peter Nachtwey
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
When or where did I say heater systems can cool? I never said that.
Can you understand the meaning of:
If gain k goes to infinity then x will be u (x=u).
What I stated in Fig. 2:
http://home.arcor.de/janch/janch/_control/20070514-controldoc/
That's polemic. Keep honest.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
JCH wrote:
Oh, but you have. Not in words but by your equations. It is sad that
you still don't realize that you do not have limits for you controller
and assume the output can be +/- infinity. In your latest example there
are no limits to keep the controller from generating a negative output
which implies the valve should some how increase the level in the tank
or, in the case of heaters, cool the systems.
Show us the output limits on the controller!
Peter Nachtwey
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
Exceeding limits means invalid control! I don't show you an invalid
simulation. It doesn't make sense.
Sorry, I don't have real valves on my system. +value means water
inlet, -value means water outlet. The valve value +/-0.3 tells me +/-0.6
reserve for each valve. The full range is 0.2...1 (0...100%) for each valve.
The limits are not exceeded. I 'simulate' the tank level control. Simulation
means mathematical appropriate.
See for Split Range Control:
http://www.aurelsystems.com/techcorner/splitrangecontroller.htm
1 controller signal (4...20mA) controls 2 valves (4...20mA each). Between
you have a splitter.
Cited from May/5. 2007 22:45 JCH
Furthermore there is NO heating and NO cooling. I can't find differential
equations for heating in my documentations. All applies to the subject I
discussed. Please, no polemic. A tank level transfer function is completely
different from a heater transfer function. I know that.
Heater: v1 > 0
... A1*v1' + v1 + z2 = v2
Tank level: v1 = 0
A1*v1' + 0 + z2 = v2
See dokumentation page 2:
http://home.arcor.de/janch/janch/_control/20070521-controldoc/
or
Cited from May/21. 2007, 22:26 JCH
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
JCH wrote:
-- snip --
Eh? Nearly every control system I've ever worked with saturates the
controller during a gross move. If you're not saturating the controller
you're either working on a system with very odd requirements or you've
grossly over-specified the actuator.
Exceeding the limits of what you'd get out of a purely linear controller
doesn't lead to _invalid_ control, it leads to what you see in the _real
world_, _every day_, _day in_ and _day out_.
Yes, that's quite apparent. In fact, reality is distressingly lacking
in many of your posted examples -- which is why you're getting so much
flak. This lack of anything that ties your pretend systems to the real
world is what has Peter upset, and is what is pulling me into the fray
(for a while -- you're at the water trough, if you won't drink soon I'm
going to go look for a more sensible horse).
Then to be complete you should show that your controller responds
appropriately to a control input that takes the actuator to the limits
of its range for a good long time. For many control systems the loop is
routinely driven into actuator saturation, or would be if the executive
controller allows it -- any responsible designer will investigate what
happens when the actuators saturate, and correct any nasty problems,
before they call a system "good".
This is, perhaps the crux of the problem.
To you, "simulation" means "mathematically appropriate". To me (and to
Peter too, I'll bet), "simulation" should darn well mean "matches
reality well enough to make good predictions". If it doesn't then
"simulation" means "waste of time".
"Matches reality well enough to make good predictions" is a much smaller
set than merely "mathematically appropriate". To make good predictions
"simulation" has to incorporate physics, a good reading of
manufacturer's data sheets, an understanding of the system requirements,
and some experience with how real components don't always live up to
their data sheets, besides.
I spend most of my time redesigning systems that some poor guy with
inadequate control systems training has put together wrong, or that
someone put together in a hurry knowing that getting product out the
door that worked 90% was better than not getting product out the door at
all. But I've spent quite enough time fixing problems created by guys
(and it has been, uniformly, men) who had their heads stuck so deep in
the books that they couldn't see the obvious. It's certainly been
enough to have developed an allergy to systems that show an excessive
attention to theory without attention paid to the real-world behavior of
physical systems if they should happen to be used outside the lab.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Posting from Google? See http://cfaj.freeshell.org/google/
Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" gives you just what it says.
See details at http://www.wescottdesign.com/actfes/actfes.html
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
Tim Wescott wrote:
...
I was once called in to troubleshoot a system put together by a Ph.D.
with about ten years of paper experience and three weeks of trying on
his own to make it work. It kept blowing the filter capacitors on the
negative supply, sometimes explosively. I fixed it in ten minutes. He
wanted to know what I did, and I showed him that the big 'lytic symbol
on the schematic has one curved line and one straight. He said, "A
capacitor is a capacitor. What difference does it make?"
Jerry
--
Engineering is the art of making what you want from things you can get.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
4 mA Min
20 mA Max
via split ranch control
See comment later.
http://home.arcor.de/janch/janch/_control/20070514-controldoc/
http://home.arcor.de/janch/janch/_control/20070520-controldoc/
http://home.arcor.de/janch/janch/_control/20070521-controldoc/
Again: v2 on all diagrams.
4 mA Min, 2 V, 0.2 intern
20 mA Max, 10 V, 1.0 intern
Jan:
Tim:
What can a controller do if the valve is already open or closed? There will
something happen. But NOT controlled.
Ok, tell me where, not that it is wrong:
http://home.arcor.de/janch/janch/_control/20070514-controldoc/
http://home.arcor.de/janch/janch/_control/20070520-controldoc/
http://home.arcor.de/janch/janch/_control/20070521-controldoc/
Fact is you simulate linear and later you linearize e.g. the valve behavior
if data are known. Then you have almost a linear system that matches with
the simulated one. If data input have accuracy of 99% calculation is 99%
accurate. If 50% then calculation is 50% accurate. The calculation itself
can do it with 10^-3%.
There no alternative. The aim is linearization of systems! I have done it on
few plants. Otherwise you can't control them properly. In chemical plants
you approach that with positioners (e.g. valve controller). Any transmitter
and amplifier does it. The P-controller does it. And having digital
equipment it's done, too. You do it on hardware and you do it with software.
And if done very well you have done as much as possible having a linear
system.
Again:
1. Any simulation has to be 'linear' in a math model. It is the aim for well
controlled plants to be linear. (simulation is 'set point', real is 'process
value'). The 'process value' has to approach the 'set point'.
2. Therefor the real system must be made linear by hardware and/or software
(the model is already linear).
Again:
A linear real system is the best system.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
compare with
I modeled a linear mathematical system.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
My tool is MATHEMATICS. If you don't like mathematics do not respond.
Anyway, PID and PD3(PI) comparisons can be dicussed right away. It gives
useful answers. How can anyone know the difference if not having made a
simulation before. I did it on equal conditions with ITAE criteria and found
that PD3(PI) is much better. Anyone is invited to do it better.
Notes to Peter's polemics: Examples
1. I made clear that if loop gain k goes to infinity ouput will be equal to
input (x=u if c=1) and then the system is linearized. I didn't say loop gain
must/should be infinity. I said gain should be as high as possible and gave
examples.
See
http://home.arcor.de/janch/janch/_control/20070514-controldoc/
2. Peter resembled heaters cooling or coolers heating. He said I applied it
in equations for level control. I made clear that this is not possible.
Heating systems have completely different process transfer functions. For
heating v1>0 and for tank level v1=0.
See
http://home.arcor.de/janch/janch/_control/20070521-controldoc/
3. Peter warns students that what I am writing is wrong, completely wrong.
But he can't tell what is wrong. He just knows that's wrong. The pope can
argue this way. But not engineers.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
Times ago drum level control in power stations wasn't simple. The drum was
fed with cooler feed water to increase level. Instead the level dropped
first for physical reason and increased thereafter.
The controller was 'irritated'. Generally the 3-component concept was
applied. Tuning was difficult for high steam demand (power increase).
I don't know whether a better concept has been found yet.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: PD(PI) Math Model (e.g.Tank Level) Still in need of CORRECTION!
If there is one, then AFAIK it hasn't reached the real world yet. Boilers
I've seen in recent times still have the traditional 3-element setup. That's
OK for a limited range of conditions, but it struggles with boiler loads
significantly below MCR. Aspects of the theory (the linear bits) are well
known and documented, and suggest that some sort of adaptive system would be
required to improve the operating range.
I think the problem is that in practice the problem is seriously nonlinear,
and most likely chaotic at times, like a lot of real world process control
dilemmas.
Re: PD(PI) Math Model (e.g.Tank Level) Not only wrong but let me count the ways.
JCH wrote:
OK, you asked for it.
On page 1 you have indicate the k->infinity. Now you tell me it doesn't
necessarily have to be infinity. What is the value of k then? I don't
see it on page 1,2 or 3. I have ask you to show your work and you
ignore me. It is you that is asking for blind faith.
One page 1 you should show no limiter between the PD3I controller and
the process. How do you limit the output in the s domain? Curious
minds want to know. I don't see how you limit the output from 4-20ma
all claim to.
Page 2. The set point takes a jump to .9 and the target starts moving
in that direction, OK. However, it looks like the controller output
also takes a jump ( the brown line ) and the process value tries to
follow. Can't you see what is wrong here? If there is no in-flow then
the tank level will not rise. All the valve can do is close and wait
for the level to rise to the set point. IT IS JUST THAT SIMPLE.
Normally one doesn't change the SP, it is the in-flow or disturbance
that changes. Also, the gain is negative when the valve in on the
outlet. It look like you are opening the valve to let fluid in.
All you have done is change the SP level without regard to the
disturbances or changes in the in-flow.
Page 3. Your PID tuning is awful, I showed you an example on how to do
tune right in the .pdf. The Scilab script also has the formulas for
calculating the PID gains given the model and a desired closed loop time
constant. You can always make PIDs look bad with bad tuning. Why
doesn't your PID tuning look as good as my PID tuning? I showed you how
I did it but you ignore it. You just want to claim I am attacking you.
You are still assuming the valve will remove or add fluid as necessary.
This happens when you ignore the output limits on the controller. How
many times have I said this yet it is you that accuses me of just saying
it is wrong.
It looks like your control output is following the set point. If there
is no in-flow then the output should go to 0 as the error goes to 0.
Why is your control output matching the SP?
I think I have bent over backwards showing you some good examples of
level control, converting the models to discrete time, implementing
output limits, how to calculate gains, and how to model disturbances and
all you think I am doing is attacking you. What is wrong with you? Who
else on this newsgroup has done so much? If I were wrong the others
would be very quick to point it out, but I see the others only telling
you that you are wrong. I have wasted enough time.
Peter Nachtwey
Re: PD(PI) Math Model (e.g.Tank Level) Not only wrong but let me count the ways.
k->infinity applies to feedback control.
Examples:
k=infinity
x = u/(1+1/infinity) = u
Steady state error 0%
k = 100
x = u/(1+1/100)=u/1.01=0.99*u
Steady state error of 1%
k = 1000 ...
I guess that 95% P-controller are used in level control. One does not care
about error.
If you care then PI-controller and PID-controller are used.
Amplifiers and transmitters (e.g. temperature, 4...20mA output) are pure
P-controllers with internally high gain k.
kV/1µV^6, error=0.00001=0.001%
If you can't utilize k^6 for some reason you must reduce k for having
stable conditions.
Limits are 0.2 and 1.0
http://home.arcor.de/janch/janch/_control/20070520-controldoc/
I use time domain. It is more flexible.
I do it in time domain:
If v2>20 then
v2
elseif v2<4 then
v2=4
end if
Exceeding limits I regard as bad for simulation. It is NOT controlling any
more.
That belongs to the PD3 Modeling discussion:
http://home.arcor.de/janch/janch/_control/20070520-controldoc/
Controller v2 and step w take the same jump.
That is the point of 100% time compensation! v2 is input to the process.
You see v1 equals u if not disturbed.
PID controller 'could' never do that. Ok, I could find a good result
iteratively using ITAE criteria. That is completely ok.
But not my motivation. My motivation is: Are there better methods?
Let's go back to tank level control:
http://home.arcor.de/janch/janch/_control/20070521-controldoc/
Page 1
I mentioned already: completely different (v1=0)
BTW: v1 is not existent but used. v1' is integrated to v1 in the model and
measured in real plants. It is needed for error value e = u - v1
Sorry for those who can't understand that. It's very abstract (See also Page
2).
The benchmark scheme says: Get water in and get water out. You need 2 valves
controlled in split range.
<cited>
2 Valves operating
Valve 1 Water Inlet 12 ... 20 mA (closed to fully open)
Valve 2 Water Outlet 12 ... 4 mA (closed to fully open)
That's right. But I defined a benchmark scheme (w) including disturbances
(z1, z2). Not a normal level control. You constantly have ignored it.
You have 3 systems working together:
Controller 4...20 mA
Valve 1 4...20 mA
Valve 2 4...20 mA
The split range control unit splits the signal. Using pneumatic valves the
positioner on each valve can do the split.
The positioner can also linearize the valve characteristic like flow
proportional to position. There is nothing 100%. But much better than
nothing.
I forced level change u plus disturbance z1 (valve) plus disturbance z2
(level) at certain times. This is shown in the benchmark scheme. Then I was
interested in to see what happens with the process value v1.
Sorry, I tuned WITH a benchmark scheme. You refer to a different task:
Normal level control.
Going to level control PD(PI)
http://home.arcor.de/janch/janch/_control/20070521-controldoc/
I claim that using PID is worse for the defined benchmark test. I proved it.
And my tuning experiences tells me:
Use feedforward if ever possible!
Yes, 100%, valve 1 for fluid-in and valve 2 for fluid-out using split range
control. There is no chance to do it with just one valve.
The diagram shows you opening and closing both valves.
Again:
<cited>
2 Valves operating
Valve 1 Water Inlet 12 ... 20 mA (closed to fully open)
Valve 2 Water Outlet 12 ... 4 mA (closed to fully open)
That is split range control. 1 signal (controller output) is split into 2
signals for 2 valves.
You see that in the diagram. They work alternatively. Both can be closed but
both can't be opened at the same time.
That's the only way to tackle the benchmark scheme that you constantly
ignore.
Yes it is. More demand needs more water and vice versa.
PD(PI) Level Control
http://home.arcor.de/janch/janch/_control/20070521-controldoc/
Page 1
Control output v2 is NOT matching set point u.
Nothing. You ignore the benchmark scheme. All I say is based on it. I didn't
specify a normal level control with constant set point!
Sorry for that.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: PD(PI) Math Model (e.g.Tank Level) Adding Page 3
I added Page 3
Solution without distubances. Just target moving:
http://home.arcor.de/janch/janch/_control/20070521-controldoc/
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: PD(PI) Math Model (e.g.Tank Level) Not only wrong but let me count the ways.
:
: > JCH wrote:
: >> Ok, tell me where, not that it is wrong:
: > OK, you asked for it.
: >> http://home.arcor.de/janch/janch/_control/20070514-controldoc/
: >> http://home.arcor.de/janch/janch/_control/20070520-controldoc/
: >> http://home.arcor.de/janch/janch/_control/20070521-controldoc/
: >
: > On page 1 you have indicate the k->infinity. Now you tell me it doesn't
: > necessarily have to be infinity. What is the value of k then? I don't
: > see it on page 1,2 or 3. I have ask you to show your work and you
ignore
: > me. It is you that is asking for blind faith.
:
:
: k->infinity applies to feedback control.
:
: k = 1000 ...
How how tall is the tank in your model? What is the resolution of the AtoD
converte?. An error of one count in the feedback will generate how much
output?
:
: kV/1µV^6, error=0.00001=0.001%
:
: If you can't utilize k^6 for some reason you must reduce k for having
: stable conditions.
:
So an error of 1 uV in the feedback will cause 10 volts of output? You must
know that will not work.
You must take into account the resolution of the feedback device and typical
noise levels. When fluid is entering the tank don't you think it will at
least make a ripple?
: > Page 2. The set point takes a jump to .9 and the target starts moving
in
: > that direction, OK. However, it looks like the controller output also
: > takes a jump ( the brown line ) and the process value tries to follow.
: > Can't you see what is wrong here?
:
:
: That belongs to the PD3 Modeling discussion:
: http://home.arcor.de/janch/janch/_control/20070520-controldoc/
I thought we were looking at page 2?
:
: Controller v2 and step w take the same jump.
:
: That is the point of 100% time compensation! v2 is input to the process.
: You see v1 equals u if not disturbed.
:
: PID controller 'could' never do that.
Do what? Follow the target u? That is easy on paper. As I said before,
don't need the feed forwards in such a simple application.
Ok, I could find a good result
: iteratively using ITAE criteria. That is completely ok.
:
: But not my motivation. My motivation is: Are there better methods?
Yes, but you are not listening so why bother?
:
:
: The benchmark scheme says: Get water in and get water out. You need 2
valves
: controlled in split range.
:
: 2 Valves operating
: Valve 1 Water Inlet 12 ... 20 mA (closed to fully open)
: Valve 2 Water Outlet 12 ... 4 mA (closed to fully open)
: </cited>
:
Ah, this is where reality is changed to fit the model. Isn't math wonderful?
I can see your valves can add AND remove liquid.
Bruce, Fred do you use such a scheme to control your tank levels? Inquiring
minds want to know.
JCH, tell us. What happens to the fluid that you don't allow into the tank
when you restrict the in-flow? Spill on the ground? Oops!
I bet the others will tell you there is just one pump or valve on the
outlet.
:
: > Normally one doesn't change the SP, it is the in-flow or disturbance
that
: > changes.
:
:
: That's right. But I defined a benchmark scheme (w) including disturbances
: (z1, z2). Not a normal level control. You constantly have ignored it.
I have seen them. So where do these disturbances come from if you are
controlling the inlet AND outlet?
Normally, the distrubances are the change in in-flow.
: > Also, the gain is negative when the valve in on the outlet. It look
like
: > you are opening the valve to let fluid in.
: You have 3 systems working together:
:
: Controller 4...20 mA
: Valve 1 4...20 mA
: Valve 2 4...20 mA
:
: The split range control unit splits the signal. Using pneumatic valves the
: positioner on each valve can do the split.
Yes, I see but you didn't mention there were two valves before now. You
must have seen that one valve would do what your model suggested.
:
: I claim that using PID is worse for the defined benchmark test. I proved
it.
That is only because you don't know how to tune the PID so it will have the
same response as the target u.
: And my tuning experiences tells me:
:
: Use feedforward if ever possible!
Yes, I believe in feed forwards too. They are necessary for motion control.
Feed fowards do you no good when the control system is just trying to hold
position and responding to distrubances.
:
:
:
: You see that in the diagram. They work alternatively. Both can be closed
but
: both can't be opened at the same time.
:
What diagram?
: That's the only way to tackle the benchmark scheme that you constantly
: ignore.
:
:
: > It looks like your control output is following the set point.
: Yes it is. More demand needs more water and vice versa.
:
But this is level control not flow control. w is level not flow or have you
changed that too?
:
:
: >>>>>>>>>>>> BENCHMARK SCHEME !! <<<<<<<<<<<<<<<<
Then why call it level control when you had no intention of really
simulating a level control system? By calling it level control you have
people judge you systems as a level control system and all the realities and
limitations. This is where you set yourself up for the critism although I
will still be critical of you infinite or high gain controller.
The problem it that others maybe 10 year from now will read this posts and
could be mislead. You have a previous thread comparing PD3 to PID that
makes PID look pretty bad but it is actually just your tuning. I am
surprised that no one else has complained. I didn't respond to in hopes
others would.
I have updated my TankLevel.sce to show more distubances and what happens if
the in-flow suddenly stops. I don't change the set point. I only change
the in-flow or distrubance. You can see when the in-flow suddely stops that
the pump takes time to stop so the PV goes below the SP. The pump can't do
anything about raising the level. Only more in-flow can do that.
Notice that I am only using PID no feed foward is required. Look at the
response.
ftp://ftp.deltacompsys.com/public/NG/tanklevel.sce
ftp://ftp.deltacompsys.com/public/NG/TankLevel.gif
If I wanted to make the PID response exactly as your target filter I would
find the closed loop transfer function. It would be a third order just like
your target filter. I would then find the PID gains that would provide the
same coefficients in the characteristic equation as you have for u, u' and
u'' in your target filter. Then my PID would respond just like your target
filter providing reality is ignored. No feed forwards are required.
Peter Nachtwey
Site Timeline
- » Call For Participation: WORLDCOMP'07: joint conferences in CS, CE, and applied computing...
- — Next thread in » Industrial Control Group
-

- » periodic systems
- — Previous thread in » Industrial Control Group
-

- » Measurement validation for process signals
- — Newest thread in » Industrial Control Group
-

- » What is it? Set 442
- — The site's Newest Thread. Posted in » General Metalworking
-


Subject







