PID loop tuning

P.S another option would be to write a few rungs to disable the PID on startup and keep the valve closed until it gets to, say, 10-20PSI below the setpoint, then open the valve to around where it will end up, which should be discoverable empirically, then let the PID start updating, assuming the instruction will have a bumpless transition.
 
Non-linearity is the problem, and that in the flow equation contributes, but a bigger effect, and the primary reason the system is resistant to tuning, is the non-linearity in the CV to Cv relationship i.e. the valve characteristic.

I may not move things forward, but I can spin some tires none the less.


Is this flow coefficient introduced as an additional term to the PID terms or modifying the gains?

Can you/Peter break down Peter's formals a little more?
I'm having trouble seeing the difference between the non-linear and linear formulas.

Q=Kv(CV)*sqrt(Pin-Pout)
Q=Kv*CV*sqrt(Pin-Pout)


With Kv as the valve's flow function and the valve being quick opening. What would Kv be? Or would the sqrt() describe the quick opening curve and Kv be some gain?



dP/dt = β*(Qin(t)-Qout(t))/Volume


Side note, this one looks like how an overrunning load of a cylinder is calculated.
Would this beta function be yet another term?
 
the difference between the non-linear and linear formulas.

Q=Kv(CV)*sqrt(Pin-Pout)
Q=Kv*CV*sqrt(Pin-Pout)

Those are two different versions of the same formula, one general, one specific, that are both modeling flow as a function of [PID output CV] and [pressure differential across the valve], one general, one specific:

  • Kv(CV) is a general statement of the valve flow coefficient function that is dependent on stem position CV (PID output, 0-1 or 0-100%) i.e. it does not say what how the Kv function varies with CV, e.g. it could be linear, or not.
  • Kv*CV is a specific linear form of that function
    • i.e. Kv(CV) = Kv*Cv, where the blue Kv is the function, and the brown Kv is a constant.
With Kv as the valve's flow function and the valve being quick opening. What would Kv be? Or would the sqrt() describe the quick opening curve and Kv be some gain?

The square root is from Bernoulli (or maybe Navier-Stokes i.e. energy balance, i.e. it is the driving force (pressure differential) of the flow, but for compressible flow I think @PeterN made a typo and it should be sqrt(Pin**2 - Pout**2), although if the pressures are close then sqrt(Pin-Pout) will be close enough because (Pin**2-Pout**2) = (Pin-Pout)*(Pin+Pout), and (Pin+Pout) will be relatively constant and can be shifted into the Kv constant, and the (Pin-Pout) term will dominate any variation in the product.

Kv*CV is not quick opening, Kv(CV) could be quick opening, but the quick opening has nothing to do with the sqrt(Pin-Pout) term.

dP/dt = β*(Qin(t)-Qout(t))/Volume

That is simply a differential equation that can be used to model the pressure; it's analogous to [rate of accumulation = in - out], where pressure is more or less a proxy for accumulation.
 
Last edited:
Way off topic

Is this flow coefficient introduced as an additional term to the PID terms or modifying the gains?
The flow coefficient is part of the open loop gain.



Can you/Peter break down Peter's formals a little more?
It gets complicated but here is a thread between Norm Dzeidic and myself about computing the maximum speed of a hydraulic actuator.

https://forum.deltamotion.com/t/the-vccm-equation/378
At the end of the thread an engineer in China shows how he calculates the maximum velocity of the actuator.


Side note, this one looks like how an overrunning load of a cylinder is calculated.
It is part of what is needed to be known. Hydraulic cylinders can cavitate with overhauling loads and fast stops.



Would this beta function be yet another term?
It can be. Most of the time we deal with relatively low pressures. The bulk modulus of oil increases as the pressure increases. I once did a simulation for Sandia. It was for a diesel fuel injection. In this case the pressure in the header was about 40,000 psi so the bulk modulus of the fuel changed a lot. The bulk modulus is also a function of temperature.


BTW, I like Mathjax and being able to enter formulas in LaTeX.
 

Similar Topics

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,150
Hi all, splitting out from this thread because it's a somewhat different question to the original. I have to migrate some code from a Micrologix...
Replies
17
Views
4,062
Long time listener, first time caller. I have a Micro850 PLC controlling the temperature in seven fermentation vessels at a local brewery. Each...
Replies
2
Views
2,577
I am using PID instruction in RS Logix 5000 with independent equation. I am confused about its tuning. Please somebody explain under listed...
Replies
1
Views
4,917
Hi all, I'm working on this small batching project and this is my first time when i have to develop PID loop tuning screen on my HMI. I was just...
Replies
0
Views
1,690
Back
Top Bottom