Python PID Tuner

Good. Now there is another.
You have extra factors of 2 in your IMC gains that I don't think should be there.
Where did you get the equations for calculating the controller gains?

I didn't see any that had a simple FOPDT model with a tune comparison. It's just a general tuner... every system has different requirements but this might be useful as a starting point.
I think they are standard enough but I'll have to double check them, do you have a preferred method?
 
I have auto tuners written for motion controllers, FOPDT and SOPDT. I would prefer to use SOPDT over FOPDT because there really are always at least two poles ( time constanst ).

A python program
https://deltamotion.com/peter/py/SysID SOPDT.zip

A pdf that shows how I derive formulas for controller gains that work better with dead time. The times are in minutes so the dead time is quite long compared to the plant time constant.
https://deltamotion.com/peter/Mathcad/FOPDT/Mathcad - FOPDT I-PD.pdf

A simpler approximation of the dead time.
https://deltamotion.com/peter/Mathcad/FOPDT/Mathcad - FOPDT PI.pdf

You can PM me if you want to go deeper.

A SOPDT example that started in 2005 using Ron Beaufort's "hot rod" data.

I have many examples of how to derive the controller parameters. The better the approximation for the dead time the better the controller will be able to handle long dead times. However, this is a limit. At this point one needs to use a Smith Predictor.
https://deltamotion.com/peter/Mathcad/SOPDT/Mathcad - SOPDT SP vs FC 9deg db.pdf

All the calculations are shown. You can see I can derive then using my Mathcad.
I have been writing auto tuners for 20 years now. I mostly work on motion control.

I have a YouTube channel "Peter Ponders PID"
https://www.youtube.com/results?search_query=peter+ponders+pid
 
Last edited:
I have auto tuners written for motion controllers, FOPDT and SOPDT. I would prefer to use SOPDT over FOPDT because there really are always at least two poles ( time constanst ).

A python program
https://deltamotion.com/peter/py/SysID SOPDT.zip

A pdf that shows how I derive formulas for controller gains that work better with dead time. The times are in minutes so the dead time is quite long compared to the plant time constant.
https://deltamotion.com/peter/Mathcad/FOPDT/Mathcad - FOPDT I-PD.pdf

A simpler approximation of the dead time.
https://deltamotion.com/peter/Mathcad/FOPDT/Mathcad - FOPDT PI.pdf

You can PM me if you want to go deeper.

A SOPDT example that started in 2005 using Ron Beaufort's "hot rod" data.

I have many examples of how to derive the controller parameters. The better the approximation for the dead time the better the controller will be able to handle long dead times. However, this is a limit. At this point one needs to use a Smith Predictor.
https://deltamotion.com/peter/Mathcad/SOPDT/Mathcad - SOPDT SP vs FC 9deg db.pdf

All the calculations are shown. You can see I can derive then using my Mathcad.
I have been writing auto tuners for 20 years now. I mostly work on motion control.

I have a YouTube channel "Peter Ponders PID"
https://www.youtube.com/results?search_query=peter+ponders+pid

The FOPDT provides a good starting point especially if the second time constant is relatively small. These are only approximations anyway, no model is perfect.
As you've shown there are numerous methods to obtain a model and tune, so this is just a sample as to what's out there.

I'll have a look at your links with regards SOPDT, thanks.
 

Similar Topics

A simple PID simulator for my first steps with Python, might come in handy for some demos https://github.com/Destination2Unknown/PythonPID_Simulator
Replies
22
Views
10,796
Hello Guys, I want to establish profinet communication between siemens plc and my system using python programming. Which python lib can i use to...
Replies
12
Views
288
Hi! I'm trying to communicate with an old Kinetix 300 drive that is fully functioning. Is there any library I can use to monitor this drive with...
Replies
0
Views
419
Hi! I'm trying to communicate with an old Kinetix 300 drive that is fully functioning. Is there any library I can use to monitor this drive with...
Replies
0
Views
476
I have previously shared this elsewhere, so I apologize if you have already seen it. Here is a basic and quick introduction to Python for PLCs...
Replies
10
Views
2,232
Back
Top Bottom