It turns out that the extra logic to clamp the output at 30% provided some decent information about the process open loop response. Based on a first-order with deadtime model, I suggest some controller gains below. Before the numbers, I want to make clear some assumptions and requirements:
A1. The PV and CV data provided came from the PID loop instruction, or were not altered by filtering or other manipulations.
A2. The critical PID configuration information is, as stated: independent gains, PV scaling 0 - 4095, PID scan (task) period 250 ms, PID loop update time 0.5 sec (needs to be corrected)
A3. Process response for the first 15 seconds of the trend would continue into the future according to first order expectation in the absence of additional control action. The trend chart implies this is an OK assumption.
A4. Process response is not significantly asymmetric -- that is, response to CV increase is comparable to CV decrease. This is probably OK for a heat exchanger.
A5. Process load conditions are typical for normal operations (e.g., fluid flow rates are typical). Probably OK since this data came from what was described as normal operation.
A6. The PID instruction is in a 250 ms periodic task (as indicated), and does not have pre-conditions on the rung for normal operation. In other words, the PID instruction is being scanned every 250 ms. Also, not critical since no derivative action, but the PV update time (i.e., from an analog or other input) is equal or faster than 250 ms.
Requirements for change:
R1. Make sure the loop update time parameter in the PID configuration matches the period at which the instruction is scanned. From what has been stated, this must be 0.25 seconds per assumption A6.
R2. Logic manipulating the PID action should be eliminated or minimized in normal operation. In this case, it is recommended to increase the .MAXO limit on that 10 second timer to more than 30% so that it is not affecting normal response.
That said, these are two sets of suggested gains in units of AB PID independent gains:
PI, No overshoot, sluggish response: Kp = 6, Ki = 2, Kd = 0
PI, Some overshoot with damping: Kp = 15, Ki = 5, Kd = 0
If you cannot meet response requirements, and the process measurement is not noisy, you could introduce derivative action to help counteract the process deadtime:
PID, aggressive (Cohen-Coon): Kp= 48, Ki = 6.5, Kd = 62
[These are based on FOWDT model values -- process gain: 0.023 %/%, deadtime: 4.5 sec, time constant: 3 sec.]
Disclaimer: This analysis is from "some person on the Internet" with limited information, and comes with no guarantees. Make sure any safety-related process or control limitations are sufficient to protect personnel and equipment.
A1. The PV and CV data provided came from the PID loop instruction, or were not altered by filtering or other manipulations.
A2. The critical PID configuration information is, as stated: independent gains, PV scaling 0 - 4095, PID scan (task) period 250 ms, PID loop update time 0.5 sec (needs to be corrected)
A3. Process response for the first 15 seconds of the trend would continue into the future according to first order expectation in the absence of additional control action. The trend chart implies this is an OK assumption.
A4. Process response is not significantly asymmetric -- that is, response to CV increase is comparable to CV decrease. This is probably OK for a heat exchanger.
A5. Process load conditions are typical for normal operations (e.g., fluid flow rates are typical). Probably OK since this data came from what was described as normal operation.
A6. The PID instruction is in a 250 ms periodic task (as indicated), and does not have pre-conditions on the rung for normal operation. In other words, the PID instruction is being scanned every 250 ms. Also, not critical since no derivative action, but the PV update time (i.e., from an analog or other input) is equal or faster than 250 ms.
Requirements for change:
R1. Make sure the loop update time parameter in the PID configuration matches the period at which the instruction is scanned. From what has been stated, this must be 0.25 seconds per assumption A6.
R2. Logic manipulating the PID action should be eliminated or minimized in normal operation. In this case, it is recommended to increase the .MAXO limit on that 10 second timer to more than 30% so that it is not affecting normal response.
That said, these are two sets of suggested gains in units of AB PID independent gains:
PI, No overshoot, sluggish response: Kp = 6, Ki = 2, Kd = 0
PI, Some overshoot with damping: Kp = 15, Ki = 5, Kd = 0
If you cannot meet response requirements, and the process measurement is not noisy, you could introduce derivative action to help counteract the process deadtime:
PID, aggressive (Cohen-Coon): Kp= 48, Ki = 6.5, Kd = 62
[These are based on FOWDT model values -- process gain: 0.023 %/%, deadtime: 4.5 sec, time constant: 3 sec.]
Disclaimer: This analysis is from "some person on the Internet" with limited information, and comes with no guarantees. Make sure any safety-related process or control limitations are sufficient to protect personnel and equipment.
Last edited: