Split-Range Control: Handing Off Between Two Valves Without a Bump at the Split Point
One PID driving a heating and a cooling valve stalls or hunts at the changeover. Where to put the split point in mA, what the gain does when you move it, and why an ANSI/FCI 70-2 Class IV valve is never really shut.
A reactor jacket had a steam valve for heat and a chilled-water valve for cooling, both driven off a single temperature controller. On paper it was textbook split range: controller output 0–50% opens the cooling valve, 50–100% opens the steam valve. In practice the temperature sat about a degree below setpoint and never quite got there, and the utility bill was ugly. When we put a scope on both valve positioners, the answer was obvious — around the 50% mark the chilled water valve was still 8% open while the steam valve had already cracked. The loop was heating and cooling at the same time, and the controller was happily holding output at the one place where that overlap was worst.
That's the whole story of split-range control. The concept is trivial: take one controller output and fan it out to two (or more) final control elements, each responsible for a sub-range of the output span. The trouble all lives at the seam.
What the split actually is
You have controller output (CO) running 0–100%. You slice that span and assign each slice to a valve, with a signal characterizer per valve that re-scales the slice back to a full 0–100% stroke for that element. The classic heat/cool arrangement:
- CO 0–50% → cooling valve strokes 100% → 0% (fully open at CO=0, closed at CO=50)
- CO 50–100% → heating valve strokes 0% → 100% (closed at CO=50, fully open at CO=100)
So at CO=50 both valves are (nominally) shut and the process is coasting. Below 50 you're cooling, above 50 you're heating. The controller doesn't know or care that two valves exist — it sees one output and one PV. All the split-range logic is downstream of the PID block, usually a pair of scaling/characterizer blocks (a SPLTR or CHARC block in a DCS, or just two scale-and-clamp rungs in a PLC).
Keep the mA figures in your head while you commission, because that is what you will be reading on a meter. On a 4–20 mA output, 1% of span is 0.16 mA, so a split at 50% sits at 12.00 mA and a deliberate 2% gap either side of it is 0.32 mA wide — about one and a half times the 0.1 mA you can comfortably resolve with a hand-held meter, and well inside the dither band of a sloppy positioner. On the feedback side, NAMUR NE 43 fixes the bands you should trust: 3.8–20.5 mA is the valid measuring range, and a reading at or below 3.6 mA is a signal fault, not 0% travel. A positioner feedback of 3.7 mA is a broken wire masquerading as a closed valve, and in split range that lie hides exactly the overlap you are hunting for.
pH control is the same pattern with acid on one half and caustic on the other. Pressure control does it with a supply valve and a vent valve. Anywhere you need to push a process variable in both directions and no single element can do both, split range is the cheap answer.
"Closed" is a leakage class, not zero
Before you argue about overlap, get honest about what a shut valve passes. Seat leakage classes come from ANSI/FCI 70-2 (IEC 60534-4 covers the same ground): Class II allows 0.5% of rated valve capacity, Class III 0.1%, Class IV 0.01%, and Class V and VI are tighter still — Class VI is specified as a bubble count rather than a percentage, which tells you how small the numbers have got.
A general-purpose globe valve supplied to Class IV at a 0% signal still passes up to one ten-thousandth of its rated flow. On a jacket that is usually nothing. On a steam valve sized for a worst-case heat-up into a small jacket held at temperature by chilled water, 0.01% of rated capacity is a real heat leak your cooling valve pays for all day, and no amount of characterizer tuning removes it. If the trend shows the cooling valve never fully closing on a loop that should be coasting, check the leakage class on the steam valve datasheet before you re-tune anything.
The split point is not 50%
The default is to put the changeover at 50%, and that's usually wrong. The split point should land where the process actually sits at steady state most of the time. If your reactor spends its life needing a little cooling because the reaction is exothermic, put the split at 60 or 70% so that the normal operating output lives comfortably inside the cooling valve's range with room to modulate, instead of parked right at the seam where a small disturbance flips you between two valves with different dynamics.
Sitting on the split point is the failure I see most. When CO oscillates a few percent around the changeover, every cycle you hand control from one valve to the other. The two valves have different gains, different stroking speeds, different installed characteristics — so the loop's behavior changes every time it crosses over, and a tune that was fine on one side chatters on the other.
Moving the split is not free, and the price is arithmetic you can do before you touch the plant. Each characterizer maps its slice of CO onto a full stroke, so its gain is 100 divided by the slice width. At a 50/50 split both characterizers run a gain of 2.0: 1% of CO buys 2% of travel on whichever valve is active. Move the split to 70% and the cooling half drops to 100/70 = 1.43 while the heating half rises to 100/30 = 3.33. That is a 2.3:1 gain ratio between the two halves created purely by where you put the breakpoint, before the steam and water sides contribute any process-gain difference of their own. A PID gain that is right on the cooling half is then 2.3 times too aggressive the moment output crosses 70%.
So an off-centre split and a single fixed tuning set do not go together. If you move the split, plan on gain scheduling in the same change.
Overlap and gap: pick your poison, then measure it
Real valves don't seat at exactly the same signal. Two things go wrong at the seam:
- Overlap — both valves are partly open near the split. You heat and cool simultaneously, burn utilities, and give the controller a soft, low-gain region it likes to hide in (my reactor above). Wasteful, and it makes the loop sluggish right where you cross zero.
- Gap (deadband) — neither valve does anything for a band of output around the split. The loop goes open-loop across that band; PV drifts until CO clears the gap, then a valve slams and you overshoot. Cyclical hunting.
You choose between these by where you set the two characterizer breakpoints. My default is a small deliberate gap, not overlap, because simultaneous heating and cooling is almost always the more expensive mistake — and a modest gap costs you a bit of response speed you can win back with tuning. But a gap is genuinely bad on fast, tight loops (compressor surge, some pressure jobs) where any open-loop band is a liability; there overlap, or better yet valve-position control, wins.
Where the metal actually seats is a field measurement, and there is a standard test for it: ANSI/ISA-75.25.01, Test Procedure for Control Valve Response Measurement from Step Inputs. Step the characterizer output in small increments across the split and record the positioner feedback, not the commanded signal. Two numbers come out that matter here — the deadband, the signal change you have to make before travel starts at all, and T63, the time for the valve to reach 63% of the commanded step. Measure both on each valve on each side of the split. A valve with 1.5% deadband cannot honour a 2% gap, and a valve whose T63 is three times its partner's will always bump the handoff no matter where you put the breakpoint.
The gain jump is the part people forget
Even with a perfect split, the process gain on the heating side is rarely the same as on the cooling side. A steam valve into a jacket and a chilled-water valve into the same jacket can differ in process gain by a factor of several. Add the characterizer ratio from an off-centre split and a single PID tuning set has no chance of being right on both halves — tune it snappy for cooling and it'll be unstable on heat, or vice versa.
Options, in the order I reach for them:
- Characterize the valves so each one delivers roughly linear installed gain over its slice. Half the gain mismatch is really inherent valve characteristic. The terms are defined in IEC 60534-1: an equal-percentage trim gives equal percentage changes in flow coefficient for equal increments of travel, so its gain climbs with opening, while a linear trim does not. An equal-percentage steam valve and a linear water valve on the two halves of one loop will never behave alike, and fixing that in the characterizer is free.
- Gain scheduling on the PID — one set of tuning constants below the split, another above. Most modern controllers support this directly; it's the honest fix when the two processes genuinely differ, and it is mandatory once the split is off centre.
- Split the loops entirely — separate heating and cooling controllers with an offset between their setpoints, coordinated so they don't fight. More config, but when the two sides have wildly different dynamics it's cleaner than torturing one loop.
Don't try to average the two into one mediocre tune. You'll get a loop that's lazy on one side and twitchy on the other, and the operators will end up running it in manual.
Commissioning checklist
A few things worth confirming before you hand the loop over:
- Tag the two valves apart. One controller, two final elements: under ISA-5.1 the controller is TIC-101 (T for temperature, I indicate, C control) and the valves are TV-101A and TV-101B. Two valves sharing one tag is how a positioner calibration record ends up applied to the wrong half of the split.
- Failure directions. On loss of signal, which way does each valve go? Steam should usually fail closed, cooling might fail open or closed depending on what protects the process. The positioner fail action and the characterizer's 0% end have to agree, or a comms drop parks you somewhere dangerous.
- Direction of action. Get the controller action (direct/reverse) right for the process, then confirm each characterizer sends its valve the correct way. It is easy to wire a split so that raising output opens the cooling valve — reversed, the loop runs away.
- Bumpless at the seam. Ramp CO manually through the split point and watch both feedbacks. The handoff should be smooth, no jump in total heat/cool duty as one valve takes over from the other.
- Clamp and don't let a slice overrun. Each characterizer output must clamp hard at 0 and 100 — in IEC 61131-3 that is the standard
LIMIT(MN, IN, MX)function, one call per characterizer, not an IF chain someone will edit wrongly later. A math error that lets the cooling calc go slightly negative can wrap or peg a valve depending on how the analog output block handles out-of-range. - Make simultaneous-open a diagnostic, not an operator alarm. Both feedbacks above a few percent for longer than the slower valve's stroke time is worth logging, but ISA-18.2 (published as IEC 62682) defines an alarm as something that requires operator response, and there is nothing the operator can do about a leaking seat at 3 a.m. Route it to maintenance and keep it out of the alarm count.
- Anti-windup still applies. When one valve saturates fully open and PV still won't move, the PID integrator winds up just like any saturated loop — and here it winds you deep into the wrong half before it recovers. Make sure external reset or back-calculation is fed from the actual valve limit, not the controller's own 0–100%.
If you only remember one thing: put a scope on both positioner feedbacks around the split point during commissioning and trend them for a while in normal operation. Almost every split-range complaint — sluggish, hunting, expensive — shows up as the wrong picture at the seam, and you can't see it from the controller faceplate alone.