ISA England Section - Technical Articles

Loop Optimisation

The Author

By Steve Lyons BEng (Premier Control)

 

Diagnose Loop Behavior to Find and Correct Problems with Final Control Elements, the Environment, and Upstream Systems Before You Tune the Controller.

 

Plant efficiency and consistent product quality depend on proper loop performance, but PID tuning is only the last step.

Before tuning a PID controller, it is wise to perform a series of tests on the loop to find any conditions that would compromise its performance, and correct those conditions if possible to make the tuning more effective.

Factors that require consideration are as follows:

1. Process gain: Is the control valve sized properly?
2. Is hysteresis or stiction excessive?
3. Is the dead time short enough?
4. Is there an excessive amount of noise in the loop?
5. How non-linear is the loop?
6. Asymmetry: Does the loop respond differently in one direction than in the other?
7. Is the loop optimally tuned?

These questions can be answered through a series of tests.

The Tests

Fig 1

Fig 1 shows a typical set of tests to establish if your hardware is correctly specified and performing satisfactorily.

Data is initially collected with the loop in auto as found. From this you can establish the variability in the loop, and whether the loop is cycling and at what frequency. It is also a good idea to make a setpoint change in auto to see what speed of response you get. This response can then be compared to the response after the optimisation work has been completed. 

Place the loop in manual and compare the variability to when it was in auto. Has the cycling in the loop stopped? If the answer is yes, then the problem lies within the closed loop. If the answer is no, then the cycling is being generated from another source further down the process. Does the PV measurement signal have excessive noise? A small filter may be required, especially if derivative is to be used.

In order to establish the linearity of the loop, a number of open loop steps require to be taken throughout the normal operating range. Any tuning must be done on the worst case scenario i.e the step with the largest process gain and longest dead-time (On fig 2 this would be the final step). This will ensure the loop is stable throughout its full operating range.

If the loop has a greater than 3:1 ratio in process gain then other measures such as characterisation, or gain scheduling must be considered.

Linearity Check

Fig 2

Reverse the direction of the valve to establish whether it has hysteresis. Excessive hysteresis will cause poor regulatory control and cycling. Hysteresis for a valve with a positioner fitted should be <1% and without a positioner <3%. Causes of hysteresis include gland packing too tight, poor air supply, loose linkages, positioner faulty, wrongly calibrated I/P, and the actuator too small.

Does the process act symmetrically i.e the same in both directions. Temperature loops usually heat up quicker than cooling down. That being the case, do you tune on the heating dynamics or the cooling dynamics of the process?

Hysteresis Check

Fig 3

To determine if your valve is suffering from stiction increase the controller output in small increments of 0.2%. If the PV measurement does not alter, and then changes significantly in one big step, the valve is showing signs of stiction. If this is excessive then cycling will occur and the problem needs rectifying (you should be looking for < 1% stiction) .

Stiction Check

Fig 4

To determine your optimum tuning parameters it is necessary to know your system dynamics. The ratio of deadtime to the process time constant is the critical factor in the speed of response. If the dead time is larger than the time constant, the process will be very difficult to control with traditional PID and other alternatives may have to be considered.

Think carefully what kind of response is required. On some loops overshoot may not be acceptable so applying Ziegler & Nichols quarter amplitude damping tuning would not be appropriate. Most loops are set on a fixed setpoint, and are required to respond to load changes. This being the case the tuning should be set to respond to load changes and not setpoint changes.

When the loop has been tuned to your satisfaction, then place it in auto and compare its performance to that previously.