![]() ![]() ![]() ![]() ![]() ![]() |
||
![]() |
||
![]() ![]() ![]() ![]() This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc. |
||
![]() |
![]() |
#106 | ||
Member
|
Quote:
I have derived the FOPDT and SOPDT gains using pole placement and IMC method. I don't see pole placement. The IMC method does not generate a derivative time constant for FOPDT systems. Quote:
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
||
![]() |
![]() |
#107 | |
Member
![]() ![]() Join Date: Jun 2010
Location: Ireland
Posts: 110
|
Quote:
For the FOPDT IMC: td = tc*dt/(2tc+dt) and I used a scaled back version of derivative for the conservative tune (for noisey systems)
__________________
same same, but different... Website: https://pidtuningireland.netlify.app Github: https://github.com/Destination2Unknown YouTube: https://www.youtube.com/channel/UCjw...hVY32I2q2JZnBQ |
|
![]() |
![]() |
#108 | |
Member
|
Quote:
Where is the derivation? Look at pages 1 and 2 of this https://deltamotion.com/peter/Mathca...0-%20FOPDT.pdf I show how the gains are derived. The pdf was first generated for my contribution to the controlguru.com website in 2005. There was an article about controlling an heat exchanger. https://controlguru.com/validating-o...r-fopdt-model/ https://controlguru.com/a-discrete-t...eat-exchanger/ If the feed back is noisy you don't change the gains because that changes the response ( the closed loop pole locations ). You should 1. clean up the wiring. 2. Sample with a higher resolution analog input. 3. Sample at constant intervals.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
|
![]() |
![]() |
#109 | |
Member
![]() ![]() Join Date: Jun 2010
Location: Ireland
Posts: 110
|
Quote:
Its' a fairly common tuning rule, for example: https://www.semanticscholar.org/pape...fc227/figure/2 https://controlguru.com/pid-with-co-...irred-reactor/
__________________
same same, but different... Website: https://pidtuningireland.netlify.app Github: https://github.com/Destination2Unknown YouTube: https://www.youtube.com/channel/UCjw...hVY32I2q2JZnBQ |
|
![]() |
![]() |
#110 | |
Member
|
Quote:
Are they just guessing like Z-N until they find something that works? There is NO NEED for a PID on a FOPDT system. A FOPDT system has only one open loop pole so only ONE closed loop gain is required to place it. That is the proportional tern. The integrator does not count because it has its own pole so a FOPDT closed loop system has two poles. One from the system itself and one from the integrator. It is possible to add extra poles but these are usually low pass filters. Adding a Pade approximant to simulated dead time will also add a pole. Basically, show me the math! BTW, using the Pade approximation is better than using a Taylor series but it complicates the math and it does add the need for a derivative function.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
|
![]() |
![]() |
#111 | |
Member
![]() ![]() Join Date: Jun 2010
Location: Ireland
Posts: 110
|
Quote:
Again FOPDT is an approximation, so in reality the system is of a higher order hence the need for a D term.
__________________
same same, but different... Website: https://pidtuningireland.netlify.app Github: https://github.com/Destination2Unknown YouTube: https://www.youtube.com/channel/UCjw...hVY32I2q2JZnBQ |
|
![]() |
![]() |
#112 | |
Member
|
Quote:
I have done the math long ago. https://deltamotion.com/peter/Mathca...PDT%20PIDx.pdf Yes, there is a derivative gain but look how complicated the formulas for the gain are? My formulas are not the same as the ones you have shown. Notice that the derivative time constant is negative but it still works even though the dead time is 10 times the open loop time constant so that a Smith Predictor isn't required if the dead time isn't too much longer than the open loop time constant. I have done it all before and I show the math whereas other people just copy bogus formulas.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
|
![]() |
![]() |
#113 |
Lifetime Supporting Member
![]() ![]() Join Date: Mar 2004
Posts: 181
|
The derivation for the IMC PID tuning cited by Destination Unknown can be found in Table 2 of the nearly 40 year old article, Ind. Eng. Chem. Process Des. Dev. 1986, 25, 252-265.
Its derivation is detailed within and can be viewed here: https://folk.ntnu.no/skoge/publicati...6/Rivera86.pdf The tuning rules developed back then have subsequently been amended as 'SIMC' rules. (Google Skogestad PID SIMC for more...) |
![]() |
![]() |
#114 | |
Member
|
Quote:
Row C is an underdamped second order system like a hydraulic system which I am very familiar with. I will check that out. It is taking a while to get familiar with the symbols used in the document because much of it was written long ago.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
|
![]() |
![]() |
#115 |
Member
|
BTW, the FOPDT controller gains did not include a derivative time constant. You can see from my math that if one used a second order Pade approximation, the formulas for the gains gets significantly more complicated.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
![]() |
![]() |
#116 |
Member
![]() ![]() Join Date: Jun 2010
Location: Ireland
Posts: 110
|
Here's an extract that shows the derivation for the IMC rules (FOPDT):
IMC.jpg And the final form of the AutoTuner (SOPDT example): AutoTuneSOPDT.jpg
__________________
same same, but different... Website: https://pidtuningireland.netlify.app Github: https://github.com/Destination2Unknown YouTube: https://www.youtube.com/channel/UCjw...hVY32I2q2JZnBQ |
![]() |
![]() |
#117 |
Member
|
The formulas for the controller gains in #116 look reasonable. However, in step 4 they admittedly fudged things. I spent some time trying to do the math without fudging. The document is right. You don't end up with a PID. I failed to have a good/easy solution without fudging.
The authors made a decision to sacrifice purity for simplicity. Also, the documents technique is a little different from the method used to generate the formulas for row A and B above. It looks like they inverted the plant transfer function and added a low pass filter. Inverting the plant transfer function results in generating the feed forward gains. The document then adds a low pass filter or the response will have a first order response. I would like to have a copy of the data used to generate the plot in #116 Our motion controller supports using PIs and PIDs but we also go beyond to improve response. As long as the customer doesn't need to deal with the added complexity but only benefits then all is good. The response shown in the last plot is not that good. There is way too much over shoot. In my last plot the dead time was 10 times longer than the plant time constant. OT but somewhat related. I have been working on python code to use .json files in addition to .csv files. Currently I can import a .csv file with the first line being text to describe the columns of time, output, and PV and then as many rows of numbers of time, output and PV. I am also working on importing accelerometer data acquired from test systems and then using FFTs and IFFTs to filter the data. For some reason our software group exports motion data in xml or gzipped xml format. Since I do most of my work in python now I need to covert this data to python dictionaries or .json files.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
![]() |
![]() |
#118 | |
Lifetime Supporting Member
|
Quote:
Have discovered the pandas module? Not that it is difficult write code to parse CSVs using Python, but pandas does that and so much more.
__________________
_ Brian T. Carcich i) Take care of the bits, and the bytes will take care of themselves. ii) There is no software problem that cannot be solved with another layer of indirection. iii) Measurement is hard. iv) I solemnly swear that I am up to no good ![]() v) I probably have the highest ratio of forum posts to actual applications in the field (but no longer ∞ ![]() vi) Hakuna matata. vii) Bookkeeping. |
|
![]() |
![]() |
#119 | |
Member
|
Quote:
What I am really trying to do is make some utilities for extracting the data I want out of our motion controller's .rmcplots ( xml ) and ,rmcplotx ( gzipped xml ) files. There is a bunch of 'junk' in them but I am usually only interested in the motion data for processing using python.
__________________
"Living is easy with eyes closed, misunderstanding all you see...." Strawberry Fields Forever, John Lennon |
|
![]() |
![]() |
#120 |
Lifetime Supporting Member
|
XML? Yeah, been there, done that: "neither human- nor machine-readable
![]() I feel your pain.
__________________
_ Brian T. Carcich i) Take care of the bits, and the bytes will take care of themselves. ii) There is no software problem that cannot be solved with another layer of indirection. iii) Measurement is hard. iv) I solemnly swear that I am up to no good ![]() v) I probably have the highest ratio of forum posts to actual applications in the field (but no longer ∞ ![]() vi) Hakuna matata. vii) Bookkeeping. Last edited by drbitboy; October 8th, 2022 at 08:56 AM. |
![]() |
![]() |
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 06:04 AM |
PID tuning methods | OysterMan | LIVE PLC Questions And Answers | 4 | March 21st, 2021 10:59 AM |
Micrologix 1400 Timed Proportioned Output PID Tuning | Paul Begley | LIVE PLC Questions And Answers | 3 | January 13th, 2014 04:26 PM |
PID Tuning and Process Modeling | kdcui | LIVE PLC Questions And Answers | 14 | October 15th, 2009 01:27 PM |
PLC PID Auto Tuning Problem | monet | LIVE PLC Questions And Answers | 6 | May 26th, 2009 09:50 AM |