OT : where would I start learning more control theory on my own?

nyanpasu

Member
Join Date
Aug 2018
Location
Canada
Posts
79
I am currently enrolled in a 3-year technical program at a collegiate institution. This is my last year. I also work in a co-op fashion for an integrator. During work and my studies I have noticed that the most interesting parts of the job for me have been programming and process control. Particularly, I am doing this process strategies class right now that I really enjoy.

I would go on to study the subject further in university but unfortunately, that is impossible for me due to financial constraints. So this is as far as I can go in my formal education. I start with an understanding of processes pretty similar to Jacques Smuts' book, Process Control for Practitioners (the class I wrote about is very similar in scope and content). As for mathematics, I know just enough calculus to know what a derivative and an integral are, and I know the basic rules to solve them, but that's about it (so I do not know very much calculus at all). We never went any farther with those than something like i = CdV/dt. So I guess that's where I'd need to start.

I'm pretty handy at teaching myself with the right resources. The trick is finding those resources. It seems I would need a much better understanding of differential equations and linear algebra than I have now before being able to understand formal process theory texts and lectures so I would start there before delving into formal control theory.

So I am wondering if any of you good folks have resources or ideas that would allow me to progress bit by bit in my understanding of process control theory, either in the required maths for the immediate or control texts for later. I am willing to spend a fair amount of money on this. I am bilingual in French and English so resources in either language are welcome.

Thank you very much for any help!
 
The book that got me started was
"Digital Control System Analysis and Design" by Phillips & Nagle
The book is good about converting systems in the s domain to the z domain. The first few chapters are warm up. Chapter 4 + 6 are good. 8 talks about PID design. Chapeter 8 is OK but I think it misses the fine points. Ignore the section on root locus.
Chapter 9 is pure gold.
Chapter 10 gets into linear quadratic control. It goes through all the derivation but doesn't really help on how to determine the cost function.
Chapter 10.8 covers least squares system identification. This is the first way I did it but there are better ways. I don't like doing everything in the z-domain because of the quantized errors due to poor resolution feed back. This is the chapter that showed me that the authors didn't really have any practical experience at using these algorithms.
The rest of the book is very digitally oriented.
Despite the flaws, what I really found valuable is the examples. I worked through the examples then tried expanding on them. For instance, the authors show how to do pole placement using Ackermann's method. The example is simple and it generates a proportional and derivative gain. It works. However, they did not provide an example setup the array for when you want to compute the gains when using and integrator or when the system is an integrating system like when doing position control. I figured it out.
At the end it gets into Kalman filters.

There is always my YouTube channel, Peter Ponders PID. There are other YouTube channels but most are too simple.

What you need is a math package like Matlab or Scilab. Python will work too but some of the examples in the book are written in Matlab. To really understand you need to solve the problems symbolically. This requires software where Mathematica, wxMaxima, Maple, etc. If you look at my videos you can see what I mean. I use Mathcad but it is old and obsolete. I just happen to have about 25 years of Mathcad files so I am not going to get rid of it.

Learn symbolic math. My Mathcad does not have all the built in functions like Matlab. I had to do a lot from scratch. The advantage I have over those that use Matlab is I understand what is happening from the ground up. You can see it in the videos.

Pandiani, a forum member, has bought Mathcad and works through my videos . Pandiani has been working at it. Years ago he was a student. Now he has the equivalent of a master's degree and is head of instrumentation at his power plants.

I learned everything on my own but the control guru , Doug Cooper, gave me some hints about how to do system identification in a better way.

Learn how to do system identification quickly. Nothing else matters until you understand how to determine the gains and time constants of whatever you are controlling. In real life the transfer function is not provided to you.
 
Last edited:
Oh boy, when I remember this!
Like it was yesterday. I still feel the excitement.

I'm not sure I'd able to thank Peter enough for all his contribution. I learned a lot thanks to him and from him directly. I had a pretty good theoretical background back then, but it all starts to make sense after reading Peter's posts here on the forum and his Mathcad worksheets. Now it is even better, very high quality practical control examples can be found on his youtube channel.

If you want to get a grasp on theory, please have a look at Steven Brunton Control Boot camp on youtube. I spent my summer vacation at the seaside watching his and Peter's videos and refreshing my knowledge.

Good luck with your learning.
 
Last edited:
Thanks Pandiani, Steve Brunton looks very interesting already watched the Kalman and car cruise control, but will go back to the beginning.
Are you the person to take on Peters suggestion of doing the worlds PID from home??.
 
Are you the person to take on Peters suggestion of doing the worlds PID from home??.
Do this seem crazy too you? Why? It is like having one person by Expertune or some similar software, sitting at home and having many people send in data for the Expertune to analyze and supply gains. It doesn't take long to analyze the data. The problem with Expertune is that is supports a limited number of models and techniques although it does support many PLCs and DCSs.
Motion control systems are much different from temperature control systems. However, I can calculated the controller gains for both with little problem. The internet makes it easy to tune systems around the world. I have a video where we are helping to tune a system in NZ. We also help tuning system in China. All from Battle Ground, Washington. ( BTW, there was no battle after people thought about it ). I have been up late at night and early into the morning tuning motion controllers in Finland.

The big challenge is collecting the data. Right now I only need a .csv file of time, control output and feedback.

I have a huge problem with the way control theory is taught in colleges. One needs to get past the "this gain does this, and that gain does that" part in in first few minutes and look at what the gains really do, the gains place the closed loop poles. The way I see adjust gains is completely backwards from most of you. Most of you tweak gains and watch the response. I calculate a model. I chose what kind of response I want. Then I calculate the gains.

It isn't that hard. I have provided examples that I didn't have when I was learning.
 
Do this seem crazy too you? Why?

No it doesn't seem crazy, but l can't understand why someone running a plant would pay some else to set the gains.
Admittedly there can be a financial advantage in getting the plant to optimum performance, but l would hope the onsite person would have it running pretty well. If they have to get all the required data, they may as well buy the software and read Control Guru and do it themselves (y)
Now motion in hydraulics that's another story, as l have no experience at that, but by reading what you say and the products you have, controlling it is obviously a different breed of fish.
 
No it doesn't seem crazy, but l can't understand why someone running a plant would pay some else to set the gains.
If they know how, they wouldn't. However, few people no how. Sure, they can guess but it won't be optimal. What if there is significant dead time? Then a PID by itself will not help.
When you look at a system, do you know if it is an integrating or non-integrating system, how many open loop poles there are and if the dead time is going to be significant? Getting back to the original topic. I know temperature controls systems are non-integrating. I know the thermal mass, or time constant of the plant will not change depending on how how it is heated to the PID time constants can be the same. The problem for controlling this system is the difference between heating with the dampers or steam. It is also important to know of the control signal to the valve and dampers controls the position or the velocity of the valve and dampers. How the dampers and steam valve are control is very important because if the the control signal controls the speed or how fast the valve or dampers open or closes, the speed must be integrated to position. This adds and extra 90 degrees of phase lag. So the question is, how many people know what questions to ask and what to do when they get the answer?

Admittedly there can be a financial advantage in getting the plant to optimum performance, but l would hope the onsite person would have it running pretty well. If they have to get all the required data, they may as well buy the software and read Control Guru and do it themselves (y)
Yes, but it is obvious that isn't what happens. Actually, the control guru is trying to sell auto tuning software called Control Station, yet he explains how to estimate the controller gains on his website. The formula for the controller's integrating time constant and derivative time constant are on his website. They are not functions of the system gain or dead time. That is how I know that the OP will not need to change the controller time constants. No one else seems to have known this.

Now motion in hydraulics that's another story, as l have no experience at that, but by reading what you say and the products you have, controlling it is obviously a different breed of fish.
Yes, because there are more poles and two are under damped. Extreme cases are like trying to tune a mass on the end of a Slinky. It can't be done with a PID.
 
The PID l have been involved with haven't had feed forward and l can see the reasons why and the advantages of having it (from more of your talks and post's) so as l said, looking forward to gaining more of an in depth knowledge.
So if people read Control guru completely (and other stuff like your site) they end up having all the formulas to put into excel and make there own software (or long hand) to give optimal PID gains (subject to the right input data).
So Control Station must be using quite advanced theory if they can get the gains, without the need for the OP to alter other parameters.
So more learning coming up (subject to being able to understand it).
Thanks for the guidance.
 
Last edited:

Similar Topics

Its a S7-200 part # 6ES7 216-2BD23-0XB0 A customer sent me one of these to extract the program out of. I have zero experience with Siemens S7...
Replies
5
Views
2,165
I am currently a senior in a vocational school, for the past year I’ve been working on RSLogix and really found a passion for it. I want to become...
Replies
5
Views
1,827
I've been doing control systems design and PLC/HMI programming for about 3 years at my current company and I've really come to love it. However...
Replies
17
Views
4,002
Hi all, noobie here to plctalk! I currently work as a robot programmer/operator, I program a ABB IRC5.15 linishing/polishing robot and a CLOOS...
Replies
10
Views
2,948
I have recently been tasked at a new job to integrate all the automated cells at our plant to have remote access to the production data (viewing...
Replies
18
Views
5,456
Back
Top Bottom