Outstanding. I can't wait. I have one just finished project that needs to be modelled. Perhaps your plant simulation can evolve to the point where you can provide all the autotuning methods as options with adjustable parameters.
I just did a cooling tower for ammonia refrigeration, and I need to smooth out the PV in my crude code, but the system is complex enough, and my knowledge of refrigeration is limited enough that I don't know what to apply as feedforward, for example.
I have a system that consists of two condenser assemblies, each consisting of four fans and two pumps, plus a spare pump that can be valved to either side. One of the four fans on each bank of coils is VFD controlled and monitored via analog signals and run command.
I don't have flow/power curves for the fans, but I can acquire room temps, vessel levels, outside air temp, and humidity as well as status and load levels of three rooms full of compressors.
My PV is discharge pressure of the condenser and the target is 160 PSI but that is adjustable, and I may need to add a setpoint scheduler in order to achieve optimal performance year round without overwhelming the SCADA GUI with details for the operator, but giving the same flexibility they have now.
Another goal is to reduce short cycling operations of d.o.l. starters to the (6 total) belt driven 10HP fans.
My use of PIDs usually goes out the window when I encounter systems with this many variables and I can always whip out code that handles all the what-ifs quite nicely. It's always an improvement but never good enough for me. If I can benefit from PID when the load of a system becomes more predictable, I tend use manual mode a lot and swap in logic that is more like "Select Case" with each case being whatever seems like it might work (and usually does okay).
All that time spent, should be auto-matable.
Radio buttons, tickboxes, and fill inthe blanks about the system model.
My condensing tower SCADA allows the tech to set a priority for each DOL device, and I have a 12 step sequencer advances in steps every 15 seconds. Then, the CV is bumped in the direction of the sign of the error, like P gain with 1 bit resolution
The CV bump value (adjustable) is added to the VFD command (sent to both fans and adjustable) and there's a limit trap to roll it over and add/subtract from the displayed sequence step number. The operator can set any device to turn at any step number, and GEQ keeps them on in ladder logic.
I get the feeling that the pumps do a better job of cooling than the fans, but since they're d.o.l., I also prevent short cycling of them with on/off delay timers. I need to do visual observations and shorten these delays which can confound my logic.
I can keep the PV between +/- 5psi after recovering from start up and initial load, but there seems to be too little work accomplished by the fans. I think I would have been better off with one of the pumps on a VFD, and that is certainly something I could change.
I can screenshot charts from the IFix for the affected parameters and try to figure out patterns of cause and effect.
I think I also need to find a way to detect when product enters the spiral freezers to add load to the system.
[/ramble #1]
OkiePaulC.