Slow Acting Long Time Interval PID Tuning

@GrizzlyC, I am curious: how much noise in the temperature measurement e.g. how much in the raw signal, how much in the 10s-filtered signal?
 
@GrizzlyC, I am curious: how much noise in the temperature measurement e.g. how much in the raw signal, how much in the 10s-filtered signal?

No noise at that 10 second or even 5 second time its pretty smooth. The raw signal is pretty noisy still usually bouncing a couple hundredth of a degree up or down a second.
 
Ive got a new tank with the following parameters in it

p = 10
i = 80
d = 5

Execution time = 5sec

Initial results are showing the valve is winding down before the PV crosses the SP. Ill post the results once I get enough data.
 
...
Initial results are showing the valve is winding down before the PV crosses the SP. ...


Woo hoo!


Whatever you do, don't tell anyone you got the answer from here. You'll be the local guru, and seeing a good result is, I suspect, already enough for @Mispeld; it certainly is for me.


P.S. we should have a pool how the valve will behave when the process gets to steady-state; my estimate is 93% of the time at 3, 7% at 4, i.e. 3.07 mean.
 
Ive got a new tank with the following parameters in it

p = 10
i = 80
d = 5

Execution time = 5sec


I think @Mispeld is right and that Td should be 0.


Is this a different tank? Because if it's the same tank, and not that my model is Truth, but it predicts the following result

Kc10_Ti80_Td5_Ut5.png

With an update time of 45s it's a bit better:

Kc10_Ti80_Td5_Ut45.png
 
not that my model is Truth, but it predicts the following result...


Summary


Get rid of that Td!




TL;DR


How fast can the valve move? I.e. how many percent can the valve move in one PIDE update time of 5s?



I wonder, with a Kc of 10, Td of 5min, and update time of 5, the standard 0.01 change in PV would change the error by 0.01 and derivative action would therefore change the CV by



Kc * 60 * Td * deltaE / updatetime = 10 * 60 * 5 * 0.01 / 5 = 6%.


On the next execution, the PV would be the same so the change in error would be -0.01, i.e. same magnitude but opposite sign,. and derivative action would move the valve back to its original setting, minus any change due to P or I, of course, but now it's spent 5s at 6% more open than necessary.



In my model such as it is, that 6% change in CV translates to a instantaneous change in valve position, and is then used as part of the next process model timestep.


However, in real life, that valve movement only starts at that point, and I suspect that even valve gets to the 6% change by the next PIDE update time, that the integral of its position is only half of the commanded 6%, and the effect will not be quite as severe as my modeling indicate.


Note also that a 45s update time cuts that 6% by a factor of 9, to .67%, which might not even move the valve to the next whole percent position.


Cf. https://literature.rockwellautomation.com/idc/groups/literature/documents/wp/logix-wp008_-en-p.pdf


xxx.png
 
Last edited:
Maybe he has DSmoothing := TRUE?

From memory this adds a filter of 1/10th your derivative time constant to your derivative term, but I couldn't find the reference to this calculation.




Wow, that is an interesting idea. So if a derivative term is calculated as 10% CV movement at an update, DSSmoothing only adds 1/10th of that, i.e. 1% CV, on that update, and then accumulates 9% for the next update, where it will cause 0.9% CV on the next update, leaving 8.1% in the accumulator, etc., along with accumulating any other D-driven CV changes on each scan?
 
Why does the CV change in 1% steps in post #98?
If the calculations are done in floating point, the output should have much finer resolution.


I can see the control output changing in steps if the feedback resolution is poor.


Changing the update rate to 5 seconds almost make the control output look like PWM. Changing to 1 second updates would provide more resolution.


BTW,in China they call the OP the landlord and each post is a floor.
So post #98 is called floor #98.
 
Wow, that is an interesting idea. So if a derivative term is calculated as 10% CV movement at an update, DSSmoothing only adds 1/10th of that, i.e. 1% CV, on that update, and then accumulates 9% for the next update, where it will cause 0.9% CV on the next update, leaving 8.1% in the accumulator, etc., along with accumulating any other D-driven CV changes on each scan?

Sorry, I mean..
Derivative component becomes something like Td.s / (1 + 0.1 Td s)

So a first order filter with one tenth the time constant of the derivative.
 
Why does the CV change in 1% steps in post #98?


...

I can see the control output changing in steps if the feedback resolution is poor.


Summary


That is the reason why.


TL;DR


The OP stated early in this thread that the valve "tends to not move or get stuck in position if [they] send it micro increment adjustments," so they post-process the CV from the PIDE instruction and convert (round?) it to integer percentage values. They also offset the CV at 0% to be around 7ma output to the valve positioner (just under 20%), which is just before the valve actually opens, as determined by bench testing.
 
Last edited:
They also offset the CV at 0% to be around 7ma output to the valve positioner (just under 20%), which is just before the valve actually opens, as determined by bench testing.
That use to be a problem with hydraulic valves. The answer was to super impose dither signal. This could be as much as adding or subtracting 20% of the full range of the control signal on top of the actual signal. The dither kept the valve from every really stopping so valve didn't suffer from the stick slip or Stribeck friction.


https://qualityhydraulics.com/blog/valves/what-dither-versus-pwm


I would plot the control output without the dither so it is possible to see what the PID is doing. The dither can be added or subtracted every 1 second or 0.1 second or every scan. The dither basically gets filtered out by the valve. If the dither is too fast the valve will not respond at all so it may stick anyway.
 

Similar Topics

Hey guys, I have a Controllogix and I am tying to control a PID loop for Chlorine (CL2). The trouble is the mixing point is 15 minutes away from...
Replies
16
Views
6,752
Anyone have issues with RSLinx being very slow to open. It sometimes will say "Checking Activation" at the bottom for what seems like an...
Replies
2
Views
132
Hi All, we've recently upgraded from FTView SE v10 to v12. Since the upgrade we've been having a problem where the HMI is slow to update tags in...
Replies
0
Views
87
Hi, I have some problem with View Point which I'm using to manual control of conveyors. On begin when in network was only PLC and HMI View Point...
Replies
0
Views
69
Hi. Importing a 2014 aapck in 2023: no problem using it, adding windows, works very well, no problem whatsoever. Creating a new project: as...
Replies
2
Views
742
Back
Top Bottom