How to design limit governor

Hi,
do you have hints how to design a limit governor? I would calculate the dev iation from the maximum value (e.g. temperature), feed the result in an int
egrator which I can tune by calibratable factors depending on the deviation and something else I'm currently not sure of. The integrator output would be the maximum I allow for the original control variable.
I would have to try this in a simulation but I already suspect, that I need some mechanism that is much faster. Maybe like an ad hoc low limit for the control variable. Do you have other ideas which I may try or read?
pt
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Fri, 19 Oct 2012 13:22:23 -0700, pt wrote:

I'm not sure what your "limit governor" is -- do you mean a controller that only kicks in when the process variable threatens to exceed some limiting value?
I've done control loops before that needed to work to multiple constraints (i.e., current, power consumption, and speed, all at once). What worked very well in that circumstance was to have a PD (or even a P- double D) controller for each channel, feeding into a block that took the minumum of all the inputs, then that output fed into an integrator.
In operation the loop would be a PI (or PID) for whichever process variable dominated; because each loop was individually tuned it meant that the loop would start acting as the process variables in question approached, but had not yet reached, their limiting values.
In your case would this work if you just implemented your PD (or P-D-D) into an integrator that's limited on the upper or lower side to zero? Then it would only start to act when the process variable was approaching the limit and it would (properly) act sooner the faster the PV is going.
--
Tim Wescott
Control system and signal processing consulting
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Am Freitag, 19. Oktober 2012 22:57:01 UTC+2 schrieb Tim Wescott:

If you mean contraints in the sense of upper limit I would like to know why you feed the PD result into an integrator.

This is what I need. Apart from my question above, I suspect that the integ rator which operates subsequent to the PD results in a relatively slow resp onse of the control variable and thus either makes necessary early reaction s for the sake of a reduced operation area or you have to allow the control variable to cross the limiting value. But this may become clear after I ha ve understood the first question.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Mon, 22 Oct 2012 15:41:32 -0700, pt wrote:

Multiple constraints in the sense of more than one upper limit : do not exceed this power, do not exceed this temperature (it was a cooler), do not exceed this stroke in the cooler mechanism.
The PD approach was used because the switching between one process variable dominating vs. another resulted in a smooth transition between modes. It worked really well: whichever PV was _going_ to be exceeded would start dominating the integrator in time to pull the CV value back, well before the PV in question had a chance to go ape -- even when there was delay involved.

Assuming that the thing is tuned to work correctly, no: the controlled variable responds as smartly as it needs to. You can tune the preceding controller to be well damped, to boot, which should help with your "fall off a cliff" cost function.
I suspect that you want to have a two-variable dominating vote, one being whatever PV you're "normally" controlling, and the other being the one that must be limited. That would depend on the system in question, though.

--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hi,
do you have hints how to design a limit governor? I would calculate the deviation from the maximum value (e.g. temperature), feed the result in an integrator which I can tune by calibratable factors depending on the deviation and something else I'm currently not sure of. The integrator output would be the maximum I allow for the original control variable.
I would have to try this in a simulation but I already suspect, that I need some mechanism that is much faster. Maybe like an ad hoc low limit for the control variable. Do you have other ideas which I may try or read?
The thing about 'limit controls' is that they generally run with a finite offset, unless the plant runs right up against the limit to be handled. An algorithm that includes integration, without some sort of specific provision, can integrate the output away from the active control region, this action (technical term: windup) needs to be blocked in some way so that the limit control is ready to take prompt action as soon as the violation occurs. Aside from this, it's more or less the same question as for a regulatory loop, that is, what do you want the response to be?
One other common problem with limit handling is that minor violations mean small control error, so the control response can be too sluggish if the situation needs to be addressed promptly. In a situation like that I always consider a discrete option, such as applying a single step change to an appropriate handle.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Sat, 20 Oct 2012 14:04:04 +0800, Bruce Varley wrote:

Ah. "Limit governor" means what I thought it means.

I think it really boils down to your "what do you want the response to be?".
Or, if you want to be egg-headed about it, what is your cost function?
Linear control of a linear plant (which is what we'd all like to do because it's easy) implies Gaussian disturbances and an error-squared cost function. If your cost function looks like falling off a cliff -- i.e. if exceeding your limit means you break a machine or foul a batch or otherwise do something really costly -- then both sense and the math will have you running well away from that limit (well, _really_ good sense may have you asking for something more positive than a control system to keep from the "cliff"). On the other hand if reaching the limit just means that operation is a bit less efficient, or that output quality degrades by a non-fatal amount, then it makes sense to ride much closer to that limit.
--
Tim Wescott
Control system and signal processing consulting
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload


Yep, in the real world of process control the limit game is always very messy. For example, you can run your plant closer to measurable 'limits' - which may be illusory in terms of real impact- and that may improve the production economics. But the increased wear that results may cause the maintenance department grief. It then becomes a political game between the two departments (and managers). Control people can't always stay above the fray.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Sun, 21 Oct 2012 10:46:26 +0800, Bruce Varley wrote:

Motion control is the same. I'm sure I've asked some variation of this question of more than one manager or customer:
"Do you want your users a teeny bit disappointed all of the time, or do you want them Really Pissed very occasionally?".
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Am Samstag, 20. Oktober 2012 17:12:09 UTC+2 schrieb Tim Wescott:

Did you have another name for this?

The cost function is a cliff, i.e. the machine would not break if I don't c ross the limit. Because you reduce the operation area the more you stay awa y from the cliff, a mechanism which allows me to enlarge the operation is w hat I would like to investigate.
There are physical contraints, which needs to be taken into account, certai nly. E.g. the system response (PT2) defines the last point in time where th e limit governor may react. I could make measurements in order to figure ou t how much time I have under different circumstances.
But I would appreciate if I would be able to design structure and parameter s depending on the system response, first. Unfortunately, for the phrase "l imit governor" I didn't find much literature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Mon, 22 Oct 2012 16:12:35 -0700, pt wrote:

Nope. I've only had to do it once, and I'm from a motion control background. So it's just "that there problem" to me.

The "PD in front of integrator" method that I suggested lets you tune the controller (by forcing which PD controls the integrator, instead of selecting the minimum or maximum) independently for each PV that needs to be limited.
Then you put it all together.
Assuming, of course, that you're not putting this into an operating plant, in which case you know a lot more than I do about how to deploy such things.
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Am Dienstag, 23. Oktober 2012 02:09:11 UTC+2 schrieb Tim Wescott:

Your approach with the integrator which realises smooth transitions between different limits is great.
I just don't understand why you write here "instead of selecting the minimum or maximum" and in your first post "feeding into a block that took the minumum of all the inputs".
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Tue, 23 Oct 2012 11:18:17 -0700, pt wrote:

Sorry about that. The picture inside my head is quite clear -- really, here, just let me open up my skull and... It's hard to translate from concept to expository text, sometimes.
If you try to realize this thing with multiple controllers, or with a controller that cuts in and out, then tuning becomes unmanageable.
So, in the control rule where you have (essentially) a selector that says "if the output of controller 1 is least, use it", you replace that rule with "ignore everything but the output of controller 1". Then you have a plain old PI controller than you can tune in the plain old way.
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
<snip>
The cost function is a cliff, i.e. the machine would not break if I don't cross the limit. Because you reduce the operation area the more you stay away from the cliff, a mechanism which allows me to enlarge the operation is what I would like to investigate.
If it's a case of things breaking then the situation requires a lot more knowledge and understanding of the situation on the ground than you'll get from an open newsgroup posting, unfortunately. A solution that's simple and understandable is likely to be needed, and regulatory algorithms may be strictly deterministic, but their response is dependent on the inputs in complex ways, and unexpected conditions can cause unexpected outputs. I rarely see breakage prevention implemented without some sort of discrete, 'trip' action being applied.
If this is a real plant, then remember that the solution that you implement has to make all the stakeholders comfortable, not just yourself. Practical operating people tend to be a lot more comfortable with a simple, defined action that they can understand than a control response that you can't categorically illustrate without making assumptions about the input behaviour.
If there's any sniff at all of 'safety hazard' here then it's a totally different ballgame again.
Your call obviously, but I'd sleep better at night with a trip in place. That's an important element of your objective function.
There are physical contraints, which needs to be taken into account, certainly. E.g. the system response (PT2) defines the last point in time where the limit governor may react. I could make measurements in order to figure out how much time I have under different circumstances.
But I would appreciate if I would be able to design structure and parameters depending on the system response, first. Unfortunately, for the phrase "limit governor" I didn't find much literature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Am Dienstag, 23. Oktober 2012 07:19:51 UTC+2 schrieb Bruce Varley:

t

n is

t

and

Thank you for sharing your concern. I have set up several algorithms dealin g with limiting system states. They all started very simple and end up with several extras. I don't expect a limit governor to stay simple but it's wo rth to just try something else like the usual stuff.
What do you mean by "discrete, 'trip' action"?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Am Samstag, 20. Oktober 2012 17:12:09 UTC+2 schrieb Tim Wescott:

Did you have another name for this?

The cost function is a cliff, i.e. the machine would not break if I don't cross the limit. Because you reduce the operation area the more you stay away from the cliff, a mechanism which allows me to enlarge the operation is what I would like to investigate.
There are physical contraints, which needs to be taken into account, certainly. E.g. the system response (PT2) defines the last point in time where the limit governor may react. I could make measurements in order to figure out how much time I have under different circumstances.
But I would appreciate if I would be able to design structure and parameters depending on the system response, first. Unfortunately, for the phrase "limit governor" I didn't find much literature.
One area that sounds like what you're on about is compressor antisurge control. It's about preventing cumulative damage to major pieces of rotating equipment. The modern approach uses custom devices and algorithms, one company involved is Compressor Control Corporation. Strategies are aimed at getting the max out of the equipment but also avoiding the surge condition pretty well entirely. They include both regulatory and discrete move elements.
The algorithms are proprietary, and aspects are probably covered by IP, but the CCC website may give a hint or two. There are certain to be publications in the public domain as well, later revisions of texts like Liptak may include some information.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Am Samstag, 20. Oktober 2012 08:04:08 UTC+2 schrieb Bruce Varley:

Provisions against windup would not be the problem. I don't understand "run with a finite offset". What do you mean by this?

In other words you implement a trigger which reduces the control variable if certain conditions are fulfilled? This is how I solved the limit problem in the past. I hoped that using a limit governor or limit control would have some more capabilities.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.