![]() ![]() ![]() ![]() ![]() ![]() |
||
![]() |
||
![]() ![]() ![]() ![]() This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc. |
||
![]() |
![]() |
#16 | |
Member
|
Quote:
Don't you have a way to show your response? Doesn't TIA Portal have a way to show trends?
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
|
![]() |
![]() |
#17 | |
Member
|
Quote:
I noticed that your plots are labeled ITAE. What did you use ITAE for? Calculating optimum controller gains or optimum pole locations?
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
|
![]() |
![]() |
#18 | |
Member
![]() ![]() Join Date: Jun 2010
Location: Ireland
Posts: 110
|
Quote:
Those graphs are from the simulation with the values provided above (converted to Independent form) |
|
![]() |
![]() |
#19 |
Member
|
The didn't answer my question. Your graphs say ITAE. Did you use ITAE and did you use it calculate the gains directly or the poles. My suspicion is that you used ITAE to calculate the controller gains directly. That is not how ITAE is supposed to be used because the results will be different depending on whether you jump from 25 degree to 90 degrees or 25 degrees to 180 degrees. In other words, you solution will only work well for this one example.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
![]() |
![]() |
#20 | |
Member
![]() ![]() Join Date: Jun 2010
Location: Ireland
Posts: 110
|
Quote:
__________________
same same, but different... Website: https://pidtuningireland.netlify.app Github: https://github.com/Destination2Unknown YouTube: https://www.youtube.com/channel/UCjw...hVY32I2q2JZnBQ |
|
![]() |
![]() |
#21 |
Member
![]() ![]() Join Date: Jun 2010
Location: Ireland
Posts: 110
|
The simulator is available here:
https://github.com/Destination2Unkno...nPID_Simulator and windows exe here: https://github.com/Destination2Unkno...ases/tag/v1.01 The tuning package is available here: https://github.com/Destination2Unknown/pytunelogix
__________________
same same, but different... Website: https://pidtuningireland.netlify.app Github: https://github.com/Destination2Unknown YouTube: https://www.youtube.com/channel/UCjw...hVY32I2q2JZnBQ |
![]() |
![]() |
#22 |
Member
![]() ![]() Join Date: Jun 2020
Location: Somewhere
Posts: 23
|
Thank you all! Nice to get this discussion on PIDs going once in a while.
What bothers me the most at the moment is the adjustment of the PID controller in combination with the Smith predictor. Any good suggestions? |
![]() |
![]() |
#23 | |
Member
|
Quote:
The link is to a .pdf I made a few months ago when we were having a discussion about floating control vs Smith Predictor. The Smith Predictor wins hands down and is noise immune because you are actually controlling a model and using the model for feedback, not the noisy feedback. However that assume you can estimate a good model. NOTE! ALL THE WORK A DERIVATION IS SHOWN. YOU WON'T TIME THIS KIND OF DETAIL ANYWHERE ELSE. https://deltamotion.com/peter/Mathca...09deg%20db.pdf To estimate a model I use Nelder-Mead with differential equations to find the model with the lowest sum of squared errors, sse. I usually don't bother with FOPDT models since they are not as accurate as the SOPDT models The output of my python system identification tool Code:
sse = 250.3141656165739 sse = 250.31416493541923 sse = 250.31414761879358 final_simplex: (array([[ 3.75741204, 0.68461421, 2.84927027, 77.84024028, 0.35401924], [ 3.75741276, 0.68461511, 2.84926905, 77.84016508, 0.35401852], [ 3.75741085, 0.68461181, 2.84927089, 77.84033032, 0.35402135], [ 3.75741199, 0.68461453, 2.84926966, 77.84023678, 0.35401922], [ 3.75741296, 0.68461419, 2.84927032, 77.8401676 , 0.35401904], [ 3.75741189, 0.68461419, 2.84927023, 77.84025638, 0.35401937]]), array([250.31414491, 250.3141476 , 250.31414762, 250.3141638 , 250.31416494, 250.31416562])) fun: 250.31414490854445 message: 'Optimization terminated successfully.' nfev: 764 nit: 452 status: 0 success: True x: array([ 3.75741204, 0.68461421, 2.84927027, 77.84024028, 0.35401924]) printing plot RMS error = 0.436 The open loop gain = 3.757 PV/%CO Time constant 0 = 0.685 minutes Time constant 1 = 2.849 minutes Ambient PV = 77.840 in PV units Dead time = 0.354 Time units are the same as provided in input file The closed loop time constant = 0.285 The controller gain = 1.472 %CO/unit of error The integrator time constant = 3.534 minutes The derivative time constant = 0.552 minutes
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
|
![]() |
![]() |
#24 |
Member
![]() ![]() Join Date: Jun 2010
Location: Ireland
Posts: 110
|
Rarely is a Smith Predictor the answer, first port of call should be to reduce dead time where possible. Here's an example implementation in Logix.
Step Response: PRC.png Logix FBD Smith Predictor: Smith.PNG PIDE (Smith Predictor) in Auto SmithPredictor.png
__________________
same same, but different... Website: https://pidtuningireland.netlify.app Github: https://github.com/Destination2Unknown YouTube: https://www.youtube.com/channel/UCjw...hVY32I2q2JZnBQ |
![]() |
![]() |
#25 |
Member
|
If that is the response from a control logix, they are getting much better.
The next big hurdle with be model predictive control, MPC. I don't see that being implemented anytime soon on a PLC due to the lack of processing power but processing power is getting easier to come by. I would like to implement MPC on our motion controller. There are some applications that are now controlled crashes because all the physical devices are TOO SLOW. None of this makes any difference is you can't get a good model.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
![]() |
![]() |
#26 | |
Member
|
Quote:
Typing "reduce dead time" is a fairly easy thing to do. Actually reducing dead time is often a whole lot complicated. Granted, it is not the best course of action to jump to advanced control methods without first looking at the physical system. But quite often the physical system is what it is due to cost, logistics, time, etc. Sometimes there is just no choice and its good to have tools to deal with those times. Keith |
|
![]() |
![]() |
#27 |
Member
![]() ![]() Join Date: Jun 2010
Location: Ireland
Posts: 110
|
Yeah kind of but that's why it's rarely instead of never.
Also for a Smith Predictor to be worthwhile the DeadTime has to be greater than 2*Time Constant. And the model of the system has to be pretty accurate and preferably linear. The effectiveness and robustness of the Smith Predictor relies heavily on the accuracy of the model. The built-in IMC in Logix is an alternative: IMC_Param.png IMC.png or even a PID can be tuned to be somewhat effective: JustAPID.PNG
__________________
same same, but different... Website: https://pidtuningireland.netlify.app Github: https://github.com/Destination2Unknown YouTube: https://www.youtube.com/channel/UCjw...hVY32I2q2JZnBQ |
![]() |
![]() |
#28 | |
Member
![]() ![]() Join Date: Jun 2010
Location: Ireland
Posts: 110
|
Quote:
They also have an MPC module, it's a separate dedicated processor that fits in a ControlLogix rack. Comes with MPC builder, AOI etc but I haven't used it yet and don't know how good it is.
__________________
same same, but different... Website: https://pidtuningireland.netlify.app Github: https://github.com/Destination2Unknown YouTube: https://www.youtube.com/channel/UCjw...hVY32I2q2JZnBQ |
|
![]() |
![]() |
#29 |
Member
![]() ![]() Join Date: Jun 2020
Location: Somewhere
Posts: 23
|
Is there a possibility to make a continuous model of the process (FOPDT). So without step response. This would make life a lot easier.
|
![]() |
![]() |
#30 | |
Member
|
Quote:
In some applications a step response is not desirable. For instance tuning a hydraulic cylinder moving a 50 ton roll of steel on a platform. A step response would cause the steel roll to fall off the platform and cause damage. That would be the fastest way to get kicked out of the mill. In this case I used a M or W profile with gentle ramps. What I was testing was the picture in picture, not the auto tuning. https://www.youtube.com/watch?v=tCNAydm4xpw Here is an example where I use a swept sine wave. https://deltamotion.com/peter/Videos/ValveID.mp4 The advantage of step changes is that it has very high frequency components that are necessary to identify systems with a high frequency response. However, temperature systems do not have high frequency responses, neither due most hydraulic systems. Therefore the excitation doesn't need to have a lot of high frequency components. Most people that claim to have auto tuners use very crude ways of determining the model. They use the method you normally see on line and in text books. A step jump is used to determine the model by looking at only a few points. I use thousands of data points to get a model and you can see I don't care if it is linear or not as you can see in the ValveID video. I think there were about 3500 data points used in the ValveID video. I use differential equations for my models. Differential equations are MUCH more flexible than using state space or Laplace transforms. I have posted the ValveID video on YouTube because I have since made significant improvements to program.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
|
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Slow Acting Long Time Interval PID Tuning | GrizzlyC | LIVE PLC Questions And Answers | 141 | March 30th, 2021 07:04 AM |
PID tuning methods | OysterMan | LIVE PLC Questions And Answers | 4 | March 21st, 2021 11:59 AM |
Micrologix 1400 Timed Proportioned Output PID Tuning | Paul Begley | LIVE PLC Questions And Answers | 3 | January 13th, 2014 05:26 PM |
PID Tuning and Process Modeling | kdcui | LIVE PLC Questions And Answers | 14 | October 15th, 2009 02:27 PM |
PLC PID Auto Tuning Problem | monet | LIVE PLC Questions And Answers | 6 | May 26th, 2009 10:50 AM |