PID Tuning tool

#116 #125
Are you sure that is what destination unknown is using?

Guess we should ask Destination Unknown about it


Use software/modeling. My estimated positions are better than the feed back positions on a sample to sample basis.

https://www.youtube.com/watch?v=7Gmrc-dj_uc&t=14s

Could you please point out the differences between the system shown in the block-diagram (below) and the system in your video?

observerBD.png
 
#116 #125
Are you sure that is what destination unknown is using?

Guess we should ask Destination Unknown about it

Could you please point out the differences between the system shown in the block-diagram (below) and the system in your video?
Excellent! That looks good. I saved your picture because it looks good.
You have made a big leap forward.

The system you and I are modeling is a linearized model of a hydraulic cylinder with a load. This video shows how well the algorithms work even though the system is designed poorly. The system in the video was purposely designed to be impossible to tune well using just a normal PID. The damping factor is about 0.15 and the natural frequency is about 6.5 Hz. This means our old RMC100 and Rockwell's HYD02 and M02AS are not capable of controlling this system.
https://deltamotion.com/peter/Videos/NF-FOA.mp4

Notice that K2 is the second derivative gain. Most people don't like using the first derivative gain because it is noisy. However, none of this is possible without a good model derived by a good "auto tuning" program, the observer, and the extra K2 and Kj.

Now you seem to understand, each system is different. There is no one size fits all. A PID alone is often not the best solution.

You need to look at more of my Peter Ponders PID videos.
 
@destination unknown. Without a better explanation you graphs are meaningless.

With Process Variable Tracking Enabled there is jump in CV initially whereas with Process Variable Tracking Disabled the CV starts at zero initially.


Note:
In essence this is "Bump" transfer versus "Bumpless" transfer as in these plots it’s a change of setpoint and then a transition to Auto-Mode.
With Process Variable Tracking enabled the PID matches the SP to the PV internally which keeps the error at zero, and when you change to Auto the PID acts as if it was a normal SP change.
Whereas with Process Variable Tracking disabled the PID puts the product of -Kp*E into the I-term to keep the CV at zero initially i.e. bumpless transfer



PVT_NoPVT.png


PID controllers work with Dimensionless P Gain, which is actually (% of CV)/(% of PV).
So gains have to be recalculated when the scaling is changed to get the same response.

Code:
Example with a PV scale of 0-100:

 Kp = 1.5,  SP = 75,  PV = 15 so the Error = 60% of the range as 100*60/(100-0)=60%

P-Term -> 1.5*60=90

Code:
Example with a PV scale of 0-400:

Kp = 1.5,  SP = 75,  PV = 15 so the Error = 15% of the range as 100*60/(400-0)=15%

P-Term -> 1.5*15=22.5

0-100_v_0-400.png


Code:
Example with a PV scale of 0-400 and rescaled Kp 1.5->6:

Kp = 6,  SP = 75,  PV = 15 so the Error = 15% of the range as 100*60/(400-0)=15%

P-Term -> 6*15=90

0_400 GainsRescaled.PNG



The dependent and independent responses should be the same. I am assuming the small difference is rounding errors.

This is the case.
 
If my block-diagram is correct then there is some problem.
I attached MathCAD calculations for block-diagram with coefficients from video and get another-shape curves
The first equation for CO(s) doesn't look right and you skipped too many steps to follow.


Also, I don't usually combine the whole transfer function into one big function because the control output is limited in reality and Laplace transforms ignore this reality.
Learn to make proper trajectories.





My book about this is at work and I am now at home. It is turkey time ( thanks giving ) in the US.
 
With Process Variable Tracking Enabled there is jump in CV initially whereas with Process Variable Tracking Disabled the CV starts at zero initially.
Is process tracking your term for feed forwards?

Note:
In essence this is "Bump" transfer versus "Bumpless" transfer as in these plots it’s a change of setpoint and then a transition to Auto-Mode.
[/quote]
The old bump vs bumpless argument. Bumpless transfer doesn't apply to temperature systems. Temperature systems don't "bump". Motion systems do.

We still don't know what you are using as the open loop transfer function.

With Process Variable Tracking enabled the PID matches the SP to the PV internally which keeps the error at zero, and when you change to Auto the PID acts as if it was a normal SP change.
Whereas with Process Variable Tracking disabled the PID puts the product of -Kp*E into the I-term to keep the CV at zero initially i.e. bumpless transfer
This is all necessary because you don't have a proper target generator. In motion control the target starts from where the actual is otherwise there will be a bump. That is not good when moving a 50 ton coil of steel.

PID controllers work with Dimensionless P Gain, which is actually (% of CV)/(% of PV).
The P gain is not dimensionless. (% of PV) is wrong. What is the of %PV. What it should be (SP-PV). So if controlling a temperature system the P gain is (%CV/temperature_error)
 
Is process tracking your term for feed forwards?

Note:
In essence this is "Bump" transfer versus "Bumpless" transfer as in these plots it’s a change of setpoint and then a transition to Auto-Mode.

The old bump vs bumpless argument. Bumpless transfer doesn't apply to temperature systems. Temperature systems don't "bump". Motion systems do.

We still don't know what you are using as the open loop transfer function.

This is all necessary because you don't have a proper target generator. In motion control the target starts from where the actual is otherwise there will be a bump. That is not good when moving a 50 ton coil of steel.


The P gain is not dimensionless. (% of PV) is wrong. What is the of %PV. What it should be (SP-PV). So if controlling a temperature system the P gain is (%CV/temperature_error)

Process Variable Tracking is just where the SP is set to match the PV when in Manual Mode.

I should have said some PID controllers have a dimensionless P gain.
Logix for example: http://www.plctalk.net/qanda/showthread.php?t=63400


And some tuning methods calculate the gain in %/EU as apposed %/%:
https://controlguru.com/controller-gain-is-dimensionless-in-commercial-systems/
 
Process Variable Tracking is just where the SP is set to match the PV when in Manual Mode.
So there is a name for doing the obvious. Good. No one told me what you call this. I was just told years ago that this is what you should do. Someone came up with a name.

I should have said some PID controllers have a dimensionless P gain.
Logix for example: http://www.plctalk.net/qanda/showthread.php?t=63400
This is such a joke and a flaw in the RoKcwell PID system. This is one reason why so many people have problems setting up their Rockwell PIDs. When is the error a percent? A percent if what?

Our gains, Delta Motion RMCs, have units.

Yes, the controlguru is trying to explain that the true gain depends on the scaling of error in SP_count-PV_counts on the input and counts/% control output. In the end is is as I said. Error units/% control output. It looks like the gains have units of counts_in to counts_out but the counts in and counts out don't represent the same thing and they must be scaled. All that just confuses people.

The open loop gain on a temperature system should have units of degree/control output%. The closed loop gain should be the inverse.

For instance, if the open loop gain is 2 degree/% then I know I can output 100% to increase the temperature to 200 degrees above ambient and 100%. I can scale for any temperature in between.

So if the open loop gain has units of degree/%CV then how can the close loop gain, K have gain anything other than %/degree?

The only answer is all the mickey mouse stuff that Rockwell put you through scaling inputs and outputs.

Most Rockwell customers are totally clueless because they are not calculating gains. They just use trial and error.
 
The first equation for CO(s) doesn't look right and you skipped too many steps to follow.


Also, I don't usually combine the whole transfer function into one big function because the control output is limited in reality and Laplace transforms ignore this reality.
Learn to make proper trajectories.





My book about this is at work and I am now at home. It is turkey time ( thanks giving ) in the US.

It is seems like Simulink must to Learn to make proper trajectories too

simulink_obs.png
 
Do I need to do if for you?
It takes using the Dirac function of you want to keep EVERYTHING in the s-domain.

Eventually you will need to graduate to state space or better yet, differential equations. Serious control people use differential equations because then they can start simulating non-linear systems.

All this is easy for me since I have over 30 years of files and work to refer to.

Take the time to figure out how to make good usable ramps. You will have them for the rest of your life.


Making a good target generator for motion control is FAR MORE difficult than doing system identification and computing the controller gains.


Here is a complete 3rd order motion profile.
https://deltamotion.com/peter/wxMaxima/Seg1234567.html
 
Last edited:
So there is a name for doing the obvious. Good. No one told me what you call this. I was just told years ago that this is what you should do. Someone came up with a name.

This is such a joke and a flaw in the RoKcwell PID system. This is one reason why so many people have problems setting up their Rockwell PIDs. When is the error a percent? A percent if what?

Our gains, Delta Motion RMCs, have units.

Yes, the controlguru is trying to explain that the true gain depends on the scaling of error in SP_count-PV_counts on the input and counts/% control output. In the end is is as I said. Error units/% control output. It looks like the gains have units of counts_in to counts_out but the counts in and counts out don't represent the same thing and they must be scaled. All that just confuses people.

The open loop gain on a temperature system should have units of degree/control output%. The closed loop gain should be the inverse.

For instance, if the open loop gain is 2 degree/% then I know I can output 100% to increase the temperature to 200 degrees above ambient and 100%. I can scale for any temperature in between.

So if the open loop gain has units of degree/%CV then how can the close loop gain, K have gain anything other than %/degree?

The only answer is all the mickey mouse stuff that Rockwell put you through scaling inputs and outputs.

Most Rockwell customers are totally clueless because they are not calculating gains. They just use trial and error.


Logix PID -> 0-100:

0-100.png

Logix PID -> 0-400:

0-400.png


Logix PIDE:

PIDE.png


This is the Siemens Approach:

S.jpg
 

Similar Topics

http://www.pas.com/tunewizard I've been using this a lot lately, used to cost $10k but now it is free (hoping you will pay for support or buy...
Replies
15
Views
10,925
Hello, I am attempting to tune a PID loop on a process. The process involves a valve with electronic actuator that has quite a high deadband...
Replies
10
Views
2,072
so i have 4 25gpm wells feeding a 1000gal tank (T-1), with an additional 15gpm from a decant tank for 3hrs every 12hrs. P1 and P2 both controlled...
Replies
154
Views
35,518
Hi everyone, yet another PID problem. I'm hoping I understand enough of the process I'm controlling that my request for help is reasonable. If a...
Replies
113
Views
27,611
I haven't had to tune a PID loop in a very long time. It's actually a PI loop for a pulse width modulation s.v. What was the name of that tuning...
Replies
16
Views
4,073
Back
Top Bottom