PID characterization: Gathering open loop data
At this stage you are going to be driving your process between two fixed levels of input drive. You need to determine drive (control) levels that will drive your process output to a high level short of maximum output and a low level above minimum output. As a suggestion use the normal operating level for one of the two points and something well away for the other. If your process could be operated anywhere in its range, select 10% and 90% or 20% and 80%. Your process drive arrangement will have some form of adjustable input. If it only has an on/off input, like a contactor driving a large heater, then the duty cycle (the percentage of the time it is on) will be the adjustment. Make a copy of OPENLOOP.SPT and alter it to allow manual control of the process and to display the process output. You can then use it to find, by trial and error, the SPLat output settings that give the high and low outputs.
Just to re-iterate: You are looking for two input levels to your process that will produce non-saturated outputs as far apart as practical. Once you have your process interfaced to the SPLat, and you have determined the drive levels that give you a nice pair of non-saturated outputs, you are ready to collect open loop response data. The idea here is to drive the process input between the two drive levels and then record the process output as it varies with time. We will later analyse those records at work out the process’s time constant(s).
Call the two drive levels LowDrive and HiDrive.
Here is the procedure for collecting the open loop data. Steps 7-9 are required only if you know for sure that your process is asymmetrical.
- Hook everything together, SPLat driving process, process feeding back into SPLat and SPLat being logged by PIDassist.
- Set SPLat to LowDrive and let the process stabilise.
- Set the log file name to “rising.csv”.
- Clear the log file and immediately switch the SPLat to HiDrive.
- Watch the rising output of the process and monitor it until it has settled at its high output level. You should know by now approximately where it will settle, but expect it to be a bit different (that doesn’t matter). Be very sure it has stopped rising before you stop this run. Be on guard for external influences that may affect the final value, like room temperature changes, mains voltage fluctuations etc.
- Once it has settled, stop logging. Make a backup copy of the log file.
- Set the log file name to “falling.csv”.
- Clear the log file and immediately switch the SPLat to LoDrive.
- Capture the data for decreasing output.
- Turn off the process or otherwise make safe.
You now have some data to analyse.
It is very likely that you will have to repeat the above process several times before you get it right. It’s called Muphry’s Law (if anything will go wrong it will go wrong, including the spelling of Murphy)!