PID vs floating control

There is no data

Exactly! That's a point.

You are arguing about a system without data about it.
I suggest that a biochemical reactor is a very complex system.
Until we see PV, CO, disturbances data (preferably for several days, including tricky situations), we will not be able to draw conclusions about the system, the "drift" of its parameters, or about structural changes. And without this, it is impossible to estimate the effectiveness / inefficiency of control system.
 
and tune the PID controller
Yes, how to tune the PID controller.
The floating control advocates use integrator control only and assume that NO amount of proportional or derivative gain will help. This is so very wrong.


What floating control tries to control the system by reducing the gains so integrator doesn't wind up too much. Another problem is the dead band. Although this is technically not part of the floating control, it does affect the results. The dead ban should be narrower than the noise. I have shown why above.


Basically, the floating control advocates are ignorant of control theory. Floating control may be "good enough" but it isn't optimal. The question I have and most of my customers have is now much do I save with optimal control over "good enough".
 
A bunch of years ago I designed and implemented my own floating regulation algorithm with excellent results, for me better than the PID instructions of the PLC that I used before and another algorithm with integer arithmetic that I implemented when the PLCs did not have PID instruction or floating point calculation.

My floating algorithm corrects the output proportional to the static error (I) and as a function of the square root of the variation of the error (D). There are 2 parameters to tune both effects

I did the square root thing to avoid the excessive correction that previous PIDs applied in case of strong variations in the error, for example with a step in the set point.

The algorithm worked well even in sharp variations, with minimal overshoot /undershoot.

I used it in a multitude of applications, temperature regulation in gas and electric kilns, conveyor speed regulation, pressure, flow, air/gas ratio, etc... with good results.

Acting on/off on electrical resistances and burners, on VFDs, motorized valves with floating control, without taking into account the position feedback.

If someone dares to implement something similar, you should be careful with the math operations, if it is integer arithmetic be careful to avoid overflow (remember the first launch of the Ariane V rocket), also that you lose precision by discarding the remainder in divisions .
 
I did not say that !!! : My floating algorithm corrects the output proportional to variation of the error (D).



Simplifying without taking into account the span of the measure or the output, or the cycle time or direction

e0 = last error, e1 = penultimate error

output variation = (ki * e0) + (kd * (e0 - e1)) ^ 0.5
 
I did not say that !!! : My floating algorithm corrects the output proportional to variation of the error (D).

WOW! WOW!! Easy...

Simplifying without taking into account the span of the measure or the output, or the cycle time or direction

e0 = last error, e1 = penultimate error

output variation = (ki * e0) + (kd * (e0 - e1)) ^ 0.5

output variation = ki * e(i) + kp * (e(i) – e(i-1)) = ki * (SP – PV(i)) + kp * (SP(i) – PV(i) – SP(i-1) – PV(i-1)))

Sum(0...i)(SP(i) – PV(i) – SP(i-1) – PV(i-1))) =

Sum(0…i)(SP(i)) – Sum(0…i)( (PV(i)) – Sum(0…i-1)( (SP(i-1)) + Sum(0…i-1) (PV(i-1))

Sum(0…i)(SP(i)) – Sum(0…i-1)( (SP(i-1)) = SP(i)

Sum(0…i-1) (PV(i-1)) – Sum(0…i)( (PV(i)) = – PV(i)

SP(i) – PV(i) = Error(i)

Thus

Actuator current position = ki * Sum(0...i)(Error(i)) + kp * Error(i)

And by the way, if this (ki * e0) is an I-term, and this (kd * (e0 - e1)) is a D-term, then what should the P-term look like?
 
Last edited:
If it is compared with PID, in my case the term P does not exist, that is why it is floating.

I have not said that my algorithm is PID, for now it does not have a name ...
 

Similar Topics

Situation: I have created an application that uses an AB PLC5/40 and a PID control Loop. I have changed from the integer control block to PD...
Replies
8
Views
7,088
Hi, I would like to assemble a simulator/practice booster pump system that uses PID to maintain steady water pressure under various outlet demands...
Replies
0
Views
82
Hello, I have a motor that we are sending a RPM Speed Output from 0-100% to the VFD. However, the Motor HP needs to be limited to 6000 HP and the...
Replies
3
Views
91
I have S7 1512C controler for controlling 48 PID temperature loop, the output is PWM. Please I need the best, most efficient way to write the...
Replies
13
Views
604
Hi all, I'm having trouble solving a problem I've been working on for several months, and thought you might like a stab at it. The machine runs...
Replies
22
Views
953
Back
Top Bottom