The gains came up negative in the spreadsheet because the Kp eXcel formulae in row 45 used (U44-U43) as a divisor, where U44=CO2=0 and U43=CO1=100, but there could still be summat amiss in the numerator.
Try 1%; it looks like it will take a long time to be stable.
It may effectively be an Integrating (Non-Self-Regulating) Process: it is a thermal capacitor (tank) and the heating element is adding heat, the accumulation of which is measured by temperature.
You must be kidding me.
If the heat is taken away the system will return to ambient temperature.
This is control basics 101. There are non-integrating ( type 0 ) and integrating systems and you should be able to tell the difference.
Velocity and temperature systems are non-integrating ( type 0 ) systems because when the power is taken away they return back to a steady state. Temperature systems return to the ambient temperature and velocity systems slow to 0 velocity.
Level and position control systems are integrating systems. Level control integrates the difference between the inflow and the outflow. Position control systems integrate velocity.
Gents, thank you for your time.
Here's a 1% step. I think this is all the time I can afford on the matter.
I'm going to see how well these gains work and post the results just for fun.
I'm going back to my old code that uses error windows for a defined diminishing output. As well as when error is negative and rate of PV is negative the ssr will output some. Clamping the output at 0 or 100 and waiting for error to flip is not looking good. Where is my high gain, zero lapped spool that never saturates...
Damnit all to hell I have a hard time giving up.
To counter act the error +/- flip being the thing that unclamps the CO min/max, tossing velocity into the calc seems like the thing to do. Only when trying to hold steady state. When ramping up this will not work. Does this seem right?
if Error > 0 and Error < 10
ITerm := IGain*Error*Velocity*-1;
elsif Error < 0 then