Friday Math Quiz

Peter Nachtwey said:
Was that you?
Good guess :) Unfortunately Mr. Cooper never replied to me directly.

I learned control theory on colledge almost exclusively by playing with MATLAB. We were encourage all the time to use built in functions and blocks, because "there's no point reinvent the wheel". I was the best student in my generation both in math and control theory. At that time I thought controller design is a "piece of cake", no matter whatever problem, I could guess gains and playing with responses and plots in MATLAB obtained controllers that produced very good process' responses.
Later, I had very inconvenient experience (I was still student) when one technician said "OK, this is AC motor, now can you tell what are zeros and poles?"

After finishing studies I discovered that my "superb" controllers had outputs that were impossible to be realized in practice (controller output would need to go mad in order to satisfy strict response requirements).

Now, I have started solving this control puzzle and I think I'm doing good especially with help from experienced guys like Peter and Keith.

My advice would be to try to implement as many MATLAB functions as needed and not to use built in ones, because benefits are both in understanding what is happening and improving programming skills.
 
Last edited:
This post reads like a homework problem

I also didn't get to this post till today, but it's identical to problems I worked out over the weekend for my Control Systems 1 class.

One thing I wonder, always have, and perhaps always will, how does one create a model of the system transfer function in real life. All of this makes great theory, and allows for better understanding of the system itself when the job is completed and the loop is responding as desired. But it would much better if I could become adept at modeling a system. Unfortunately for me, I am apparently very weak in this regard, as I've never yet been able to calculate proper gains prior to system implentation.
 
Last edited:
I second it.

Is it possible to come up with the transfer function of real system, when you have chart showing reaction of the plant on step disturbance? Is it possible to determine non linearities from such chart?

PaulB
 
You guys are definitely seeing the crux of the issue. Once you have the system transfer function there are alot of tools out there to help you manipulate the final control result. Getting that transfer function is kind of glossed over in most ewducational contexts.

I have a much lower education level than many of the contributors here. When I started working on motion systems all I had was my understanding of physical systems. So everything I did was based on the idea of how do I get energy from one point to another and what is in the way of doing this. Now I understand that the things in the way can be modeled as poles and that, based on the system model, you can make informed desisions of the gains you need.

Originally posted by russmatrin:

Unfortunately for me, I am apparently very weak in this regard, as I've never yet been able to calculate proper gains prior to system implentation.

That could be for a couple of reasons. It is possible your system model is off. You may not have all the elements accounted for. However, it is just as likely that you are asking the system to do too much. As Pandiani pointed out, with the CTM example, you can go as far left with the pole pair as you want and you will be able to calculate a gain set to satisfy that pole pair. However, in real life, sooner or later your output device will not be able to deliver anymore energy to the system. At this point the total system is non-linear and will not perform as modeled. I suspect Peter will continue on with these thoughts and will hint at a method for finding this point.

Originally posted by paulb:

Is it possible to come up with the transfer function of real system, when you have chart showing reaction of the plant on step disturbance? Is it possible to determine non linearities from such chart?

Yes, you can. It won't be perfect but it will usually be close enough to get you in the ballpark. However, you need to be able to recognise the presence of poles. For example, it is pretty easy to see if the basic system oscillates that it has at least two poles. But does it have three? Or more? And if it doesn't it oscillate that just means that all the poles are on the real axis. It may have many poles. I can pretty easily see if a system has two poles based on a graph. After that I can't see them. In fact, you can assume all systems have at least two poles since I don't know of any actuator that has instantaneous response. But in some cases the pole(s) contributed by the actuator can be ignored.

It has been my experience that the largest source of non-linearity in most complete systems is the control system itself. Typical control systems go into saturation well before reaching the 'saturation' of the physical system. Couple that with limited resolution and finite scan time and you have some pretty significant sources of non-linearity.

Keith
 
We covered system identification last year. Where were you?

One thing I wonder, always have, and perhaps always will, how does one create a model of the system transfer function in real life.

http://www.plctalk.net/qanda/showthread.php?t=27057&highlight=Advanced+Control

The Scilab code I posted works. This was a learning experience for me to because it involved finding the dead time. As it turns out it wasn't that hard.

I have written a couple of auto tuning programs. One for our second generation product, one for our third, many in Mathcad, and one in Scilab.
The theory works if it is properly applied.

One can buy tuning products such as Control Station, Bestune, Expertune or RSTune. They use the same techniques that I have shown on this forum.
 
The problem of finding the transfer function of a real system from input-output data is known as "system identification" and can be more difficult to solve than the control problem. There are linear system identification toolboxes for MATLAB and LabVIEW, as well as a free Java-based toolbox at http://www.ee.newcastle.edu.au/ident/index.html.

You can find data to play with at http://homes.esat.kuleuven.be/~smc/daisy/.

For nonlinear system identification, there are nonlinear-based methods, e.g., artificial neural networks or fuzzy logic. Peter (and several others on the site, I'm sure) can talk plenty about system identification, and has. Search the site.
 
rytko said:
The problem of finding the transfer function of a real system from input-output data is known as "system identification" and can be more difficult to solve than the control problem.
YES, once the PID tuning formulas are known the problem shifts to identification. System identification is now 99% of the problem because calculating the gains is easy.

The point of these exercises to get one thinking differently about PID tuning and realize the PID tuning is NOT the problem. System identification is.
Now when the tuning is not quite right you can think of the problem two ways. The most common way is to think in terms of changing a gain one at a time. The other ways is to have a model and think in terms of what model parameter is probably wrong and adjusting that. For instance the damping factor may be a little higher than what the system identification said it was. In this case you adjust the damping factor up a bit and recalculate all the PID gains and try again. This has a much better chance of getting results faster because all the gains are moved together. In this case one is manually refining the model. This involves truly knowing the system. Those that just tweak gains are not making any effort to understand the system.

For nonlinear system identification, there are nonlinear-based methods, e.g., artificial neural networks or fuzzy logic. Peter (and several others on the site, I'm sure) can talk plenty about system identification, and has. Search the site.
I will check these websites out. It will keep me out of trouble for a while.

[RANT]
Systems should come with transfer functions stamped on them. Those that don't are not really designed. They are mechanical kludges made by throwing a lot of metal together with no effort made to understand the machine they are designing and if it is controllable. Some unsuspecting PLC programmer is expected to fix it with software. You can tell that the mechanical engineers think I am a SOB.
[/RANT]
 
Originally posted by Peter Nachtwey:

Systems should come with transfer functions stamped on them. ...

Peter has held this position for a long time, and he is fundamentally correct. It is also rather Utopian, and Peter knows that too.

There are two fundamental reasons for this in today's environment. The first is cost pressure. As nasty as it sounds it is ultimately less expensive IN MOST CASES to patch up a poorly designed system after the fact that in it to perform a detailed analysis and design up front. Thus the mantra 'When in doubt, build it stout'. There are obvious exceptions to this case. These exceptions are where the cost of failure is extremely high, such as aircraft manufacture or petrochemical refining. However, there are enough guys like Peter out there who can turn a sow's ear into a silk purse that most companies don't worry about getting it right the first time. This position isn't right, it just is.

The second reason has to do with the burden of responsibility. As odd as it seems, in todays world it is better to say nothing than to say the wrong thing. And 'wrong' is defined by the most persuasive party. I can just see this discussion at a customer's facility:

Customer: 'What is going on with my machine? It's out of control!'

Machine Vendor: 'The machine reacts exactly as the transfer function indicates.'

Controls Vendor: 'Nuh uh!!! There's a pole at -4200 that you don't show in your transfer function!'

Customer: 'Is that true??'

Machine Vender: 'Well, yes. But the control system couldn't do anything about that anyway. The control system doesn't have the bandwidth to handle that. And it's a minor pole.'

Customer hears: 'Well, yes. Blah blah blah, blah blah.'

Since the customer doesn't know any better the Controls Vendor is 'right', even though he may not be. Since we can't all just play nice and the people writing the checks really don't know any better, some decide it is safer just to not say anything.

All of this is why system identification is a necessary part of control engineering, and why companies like ExperTune are around in the first place. If we couldn't get this kind of information in the '60's and '70's (arguably the hayday of engineering), why do we think we would be able to get it today?

Keith
 
kamenges said:
If we couldn't get this kind of information in the '60's and '70's (arguably the hayday of engineering), why do we think we would be able to get it today?
Back in the 60's and 70's they didn't have the design tools we have today. I know I couldn't do near as much as I do now without some king of symbolic processing software. The software is just a tool, what is missing is the knowledge to use the tools that are available.

BTW, I increase the gain on my worksheet I used to generate the .pdf file above. The work sheet shows the response with three poles located at -4*PI. If I move the poles to -70 then the control output goes rail to rail in saturation. If I reduce the sample time from 0.01 to 0.001 second then it still works well.
 

Similar Topics

Just for fun, no PLC application that I can see... What are the next 2 values in this series... 1, 3/2, 11/6, 25,12, ...
Replies
12
Views
3,923
Last Friday Peter got this thread going about PID tuning: http://www.plctalk.net/qanda/showthread.php?t=36407 One of the things that came up...
Replies
14
Views
8,593
Ok everyone, I should be able to do this, but it is eluding me today. I have been asked to change a servo axis such that it has a much slower...
Replies
22
Views
9,201
Retirement Milestone It’s been an amazing 42 year trip. I have had great fun, seen amazing technologies, met good friends, learned something new...
Replies
36
Views
7,412
I usually can find what answers I need in the archives but thought I'm tired, it's been one of those weeks and I could not find the answer last...
Replies
1
Views
1,927
Back
Top Bottom