Procedure for control system design

Pandiani

Lifetime Supporting Member
Join Date
Apr 2005
Location
Tz
Posts
718
Hello guys,

in one recent thread I have read about tranfer functions and ways of design controllers. In school we learned simple examples such as various electrical and mechanical systems (inverted pendulum, shock absorbers, DC motor and similar) and their representation in terms of transfer function in s-domain.

Procedure was:

1. using physical laws describe system with differential equations

(linear differential equations with constatnt coefficients, assumming systems are aproximately linear)

2. Finding Laplace transform of equation, assuming all initial conditions are zero and thus obtainig transfer function in s domain.



All that example had various assumptions and simplifications (otherwise, transfer function could not be obtained).

Once when we get transfer function, it is relatively easy to design controller using powerfull tools such as MATLAb and it's rltool (root locus).



Since all real systems are more or less nonlinear, obtaining transfer function is very hard.



I know that many of you are control process engineers and design various controllers and process systems
all the time can you please share your experience with me.

What procedure do you use?
Do you get process transfer function (identification, or obtain from manufacturer)?
Dop you design controllers using formal procedures you learned in school (root locus
for examples) or what?
I recently finished school and start working, I simply cannot find that many of control loops
are designed in s domain for example (or z domain for discrete systems).
Usually there are many things based on practicla experience then based on formal
procedures such as described in book "Modern control Systems" by Dorf and Bishop
 
Just my thoughts

I also learned the Laplace transform theory not long ago in one of my EE classes, and yes, the problems were very restricted to make them doable to a beginner. My background previously and currently makes me more of an end user of the systems which you have described. My systems designs utilize the equipment that others have designed, moreso than the actual design of say a temperature controller. Because of my job duties, I never have used L transforms other than in school. I would assume that most people on this site are in my category in that they may be familiar with Laplace transform, but they do not utilize it hardly ever. This community is made up more of the end users, who will design control systems using the equipment that you design. It sounds to me like you probably work in a small environment, meaning you don't have several experienced engineers at your disposal for questions and leadership. I don't know if such a place exists, but you should search the web for a group that is more tailored to your line of work, which is the design of PLC's, HMI's, temp controllers, and or anything of the sort. At the same time, there are some very experienced and intelligent people here, so I do think it's worth your time to drop in every now and again. Good luck with your search.

Russ
 
Ah, yes. You are running into the constant dilema between what we should do and what we actually do.

You are correct that, for all but the simplest systems, the system transfer function should be defined and design should proceed from there. But that poses an interesting dichotomy. They systems you can model with a high degree of confidence ('straightforward' systems with few nonlinearities) are probably systems you don't need to model at all as you gain experience. It's the complicated ones that need models. But your model probably won't be all-inclusive.

Having said that, something is always better than nothing. Think of your system model like a map. Let's say I want to go from Point A to Point B. I have no idea how to get to Point B. I can get a map that I know will get me to within a small radius of Point B but will not get me exactly there. Do I take the map? Of course I do. It will get me closer than I can get on my own. Better yet, as I travel along that map I may learn things that help me zero in on my destination.
You seem to be referring to developing a system transfer function as a means to an end. You develop the transfer function so you can use the tools at your disposal to determine filter gains. Think of developing the transfer function as an end unto itself. You will learn alot about a given process by developing a system model. Include everything you can in your model. Yes, you will miss things. Yes, there will be non-linear elements that will need linear approximations. But it's still better than nothing. Most importantly you will find out if the system is even controllable with the filter at your disposal.

Now, after that diatribe, I personally don't create transfer functions for the systems I work on. The biggest reason is I currently lack the educational background to be able to do it. A secondary reason is that the systems I work on are sufficiently simple that experience is enough of a guide to gain adjustment. That doesn't change the fact that I SHOULD develop transfer function for the systems I work on, for all the reasons I listed above.

Keith
 
Warning, geek speak alert.

Go to the user news groups
You can get there by using a news group reader or using google's news group interface.

These are the ones I monitor.
http://groups.google.com/group/sci.engr.control
http://groups.google.com/group/comp.dsp
http://groups.google.com/group/comp.arch.embedded

sci.engr.control is the one you where you want to post your question.

To do what you want to do requires some pretty intense math. I suggest you are prepared and acquire a math package such as Mathcad, Matlab, or the free Scilab. You said you have Matlab. Scilab is very good for free.

What procedure do you use?
First you must do what is called 'system identification' to find the plant or system transfer function. This envoles finding the best match between theoretical model and the actual data. See Levenberg-Marquardt, that will open your eyes to a whole new set of possiblities. Scilab has this function built in, Matlab probably does too.

Do you get process transfer function (identification, or obtain from manufacturer)?
Are you kidding. Most manufacturers are a clueless as the customers. Have you every wondered why so many machines don't work as intended? The customers should insist on this information before acceptance. If the designers don't know how the system works then how are the customers to fiquure it out?

Dop you design controllers using formal procedures you learned in school (root locus
for examples) or what?
I use pole polacement with some other tricks. The control guru, http://www.controlguru.com, uses another technique called internal model control. The internal model control takes dead time into consideration.

I recently finished school and start working, I simply cannot find that many of control loops
are designed in s domain for example (or z domain for discrete systems).
Again see the control guru site. There is an article that shows how I made a simple heat exchanger simulator. I will add second order and non-linearity to it as the summer progresses.

Usually there are many things based on practicla experience
Yes. Much isn't written in books. You may need to read several books on a topic before you understand.

Practice, practice. Make a simple first order model an then create a controller to control it and simulate the response. Satisfy that you can change the PID gains until you can get any response you want. Then try a second order controller and do the same and then third order controllers. Do this for both type 0 ( velocity, temperature ) and type 1 ( position ) control systems.

Finally, you can save your money and take a class. Don't take one that explains how to tune PIDs by guessing. You would want the high powered post graduate type class.
 
In practice most control systems are implemented using feedback loops only. All you have to know is if the control output is reverse acting or not, what the process variable is, and what the manipulated variable is. Then you can play with tuning until it works well enough to be accepted.

Is this the right way - probably not. However, the control algorithms employed will let you "get away" with this, even if you don't fully understand the process. The results are certainly not optimum, but in a great many cases are good enough for the application involved. And, in fairness, for many applications the incremental cost involved in creating an application specific model may not actually be justified by the incremental improvement in performance.

Now, I haven't done a LaPlace Transform since college. I have done some process modelling and implemented it in a control system that works quite well using simple algebra. This is the exception, though.

That doesn't mean you shouldn't continue to explore the technology - it is undoubtedly going to be beneficial to you.
 
Some modeling?

Tom Jenkins said:
I have done some process modelling and implemented it in a control system that works quite well using simple algebra. This is the exception, though.
Yes, but it took a lot of effort and knowledge by those that developed that simple equation you use. Someone, Advanced Areation Control, did the system identification and developed the system model. Once the model is known you can invert that to get the feedforwards.

SP * FEED FORWARDS * PLANT = PV

One can see that FEED FORWARDS = 1/PLANT if SP=PV.
 
Ok guys, thank you a lot. I visited controlguru.com and it seems it's excellent place for fusion of theoretical knowleadge with practical one. I think there will be more questions and hope you'll help to learn things better i.e. to acquire "feeling".
I work in maintance so there is no real engineering and work with one older engineer who hasn't got a lot of informations since he didn't design anything just maintain.
One interesting example:
in school we have dspace board which is supported by Matlab, so for excercises we make Matlab model transfre function G(s), and just download it to dSpace. dSpace enables voltage signals that you can measure and work with them (0-10V and similar). So we made PID in S7300 PLC (FB41) and control loop was over PLC. For setpoint we used potentiometer (0-10V) and simply we played with it. We design PID controller using all formal procedures. Since in real world there is no vailable G(s) so easy I'll try to make aproximation of some real process with some G(s) (I'm doing this just because I'm curious how that would be done in real world). I'll read that article about heat exchanger and I hope you guys will help me in my future dillemas.

Do you know any other links with useful articles (more from practice because I started to hate articles with integral form -Inf to +Inf)?

Thanks again
 

Similar Topics

I want to take backup from Omron MC04 CPU. I connected CPU online with "Work Online/Offline" option & succeed. But bit confused about available...
Replies
0
Views
492
Hi, I need to connect with Pacdrive Controller & I want to take backup using "PacDrive Backup Tool". Can anyone help me in this regards. 1. Backup...
Replies
0
Views
701
This is my first IO-Link project. I am having trouble figuring out how to draw this in ACAD-E. How to show the system as well as the wiring to...
Replies
6
Views
1,764
Hi all, Good day. I have experienced in Allen bradley but i'm very new to the siemens plC & sorru for asked basics. in my plant one of the...
Replies
2
Views
1,031
Dear Sir, We have Windows 10 Dell laptop with RSlogix Studio 5000 installed in it. Now we have purchased a ex-proof laptop with Windows 10 and...
Replies
2
Views
2,631
Back
Top Bottom