Why a Loop That Is Too Fast Is Worse Than One That Is Too Slow

Why this matters

A slow loop generates a comfort complaint. A fast loop generates a parts invoice. Both look like "the control is not working right" on the ticket, and techs routinely respond to both by speeding the loop up, because a system that reacts quickly feels like a system that is working. The asymmetry runs the other way: too slow costs you a callback you can talk your way through, too fast costs you contactor contacts, compressor starts, actuator gear trains and valve stem seals, spent continuously and invisibly until something fails early and nobody connects it back to a setting somebody changed.

The three numbers that decide how fast a loop may run

Everything in this article rests on three measurable quantities. All three are measured at the sensor the controller is actually using, not at the equipment.

Dead time is the delay between the actuator moving and the sensor showing any change at all. Nothing happens, then something happens. In a duct it is mostly transport: the warmed air has to travel from the heater to the sensor. In a hydronic loop it is the water's travel time plus the mass it has to warm on the way.

Time constant is how long the reading takes to cover about 63 percent of its eventual change once it starts moving. Sixty-three percent is not arbitrary, it is where a first-order exponential response sits after one time constant, and it is a useful handle because the reading covers about 95 percent of the change in three of them.

Correction interval is how often the controller re-reads and re-decides. On a staged control that is the anti-short-cycle timer plus the differential. On a modulating control it is the loop's scan or integral update rate.

Dead time and time constant belong to the process and the sensor. The correction interval is the only one of the three you get to set, which is exactly why it gets set wrong.

The gate

Set the correction interval, per loop, at or above the dead time plus one time constant, both measured at the controlling sensor under the load condition you care about. If you cannot meet that, you must reduce the gain instead, and the section below states by how much.

The reason is arithmetic rather than judgment. If the loop re-decides every T seconds and the lag is L seconds, the loop issues L divided by T corrections before the first one becomes visible. Each of those corrections is made on evidence that already reflects none of the corrections before it. The loop is not responding to the process, it is responding to its own untouched error, repeatedly.

Case one: the duct heater that fails the gate

An electric duct heater with the discharge sensor mounted four feet downstream, average duct velocity around 500 feet per minute. Transport delay is length divided by velocity, which gives 4 divided by 500 of a minute, about 0.5 seconds. That division is only valid in a duct where the stream is genuinely mixed at the sensor; in a stratified duct the parcel arriving at the sensor is not the parcel the heater warmed, and the effective delay is both longer and variable.

Add the sensor's own response. A bare element in moving air responds in seconds. The same element inside a stainless well with an air gap around it responds in minutes, because you have inserted thermal mass and a poor conductor between the air and the thing being measured. Call this installation 30 seconds of total lag for the worked example. Measure yours, do not borrow that number.

The controller's scan is set to 5 seconds. Thirty divided by five is six: the loop issues six corrections before the first one shows up in the reading. If each correction is sized to close the whole observed error, the loop has applied roughly six times the correction the process needed. The heater overshoots, the reading finally arrives high, the loop slams the other way with the same blindness, and the discharge oscillates around setpoint without ever settling on it.

At the equipment, that reads as a heater staging on and off roughly every four minutes. Sixty divided by four is 15 cycles per hour. Over a 10-hour run day that is 150 cycles where a stable loop at the same load would have made 30 to 40, using the conventional part-load target of three to four cycles per hour. The comfort complaint is mild. The contactor is being asked to make and break under load four to five times more often than the equipment was selected for, and contactor life is counted in operations, not in hours.

Case two: the slab loop that passes the gate and still disappoints

Same building, radiant slab. Heat entering the slab has to move through the pour before the surface changes, and the space sensor sees the surface indirectly. Measure it and the dead time plus one time constant lands in the range of hours, not seconds; call it two hours for this example.

The installer set a three-hour correction interval, driven by an outdoor reset schedule. Three hours against a two-hour lag: 120 divided by 180 is 0.67, less than one, so the feedback from each correction arrives before the next one is issued. The gate passes.

What the customer gets is a system that takes half a day to recover from a setback and cannot chase a sunny afternoon. That is a real complaint and it has real answers, mostly load-side: outdoor reset, a longer anticipation window, not letting the slab set back far in the first place. What it does not have is a hardware cost. Nothing in that system is cycling more than it was designed to. The loop is under-performing and it is not consuming anything.

Same gate, two outcomes, and the outcomes are not symmetric. That is the whole claim of this article.

Gain is the other half of the gate

The gate above assumes each correction tries to close the whole error. Most do not, and that is the escape hatch when you genuinely cannot slow the interval down, for example on a controller whose scan rate is fixed.

If the loop corrects a fraction g of the observed error every interval, then across the L divided by T blind corrections it applies about g times L divided by T of correction before any feedback arrives. Keeping that product at or below 1 keeps the loop from overshooting on the blind stretch, which means g is capped at T divided by L. In case one, 5 divided by 30 is one sixth, so no single correction may close more than about 17 percent of the observed error. That is the step size the rule requires; a rule that says "slow it down" without naming the gain leaves the reader to supply full gain, which is what produced the hunting in the first place.

This is where proportional and reset earn their names in plain terms. Proportional response is that fraction: how hard the loop pushes for a given error, right now. Reset, the integral term, is a slow accumulator that keeps nudging while an error persists, which is what removes the steady offset a proportional-only loop settles into. Reset is the term that most often gets wound too fast, because a lingering offset is visible and annoying and turning reset up makes it disappear on the bench. It reappears as hunting in the field, at a different load, three weeks later.

What flips this

A process with no meaningful dead time. Measure the current through a resistive load at its own terminals and the reading changes as fast as the load does. There is nothing to be blind about, and a fast loop is fine.

A staged control with a hard minimum off-time. Here the protective timer, not your interval, sets the floor, and it is not yours to shorten. If the loop wants to cycle faster than the equipment's minimum off-time allows, the answer is capacity control or a wider differential, never a shorter timer.

A safety device in the cycle. If the hunting is bounded by a high limit, a pressure switch or a rollout switch opening, stop treating this as a tuning problem. Establish why that device opened, on evidence, before you change anything: a limit that opens because the process genuinely reached its trip condition is doing its job, and replacing it or widening the loop to stop it from opening reaches the same end state as jumpering it, one step slower and with a part number on the invoice.

How to verify you got this right

Log the controlling sensor's reading and the output state together, at a sample interval no longer than a quarter of your correction interval, for at least ten full cycles. Two readings tell you the answer.

Count the cycles per hour at a steady load and compare them against the equipment's own stated minimum off-time and the three-to-four-per-hour part-load convention. More than double that convention at steady load is a hunting loop, whatever the space temperature says.

Measure the actual lag once, directly. Step the output by a fixed amount with the load steady, start a timer, and record when the reading first moves (dead time) and when it has covered about two thirds of its total change (one time constant). You now have the two numbers the gate needs, for this installation, instead of a rule of thumb.

Where reading the output state means opening an enclosure that contains line-voltage terminals, work from the controller's own status display or its data log first. If you must meter live because de-energizing would introduce a greater hazard or is genuinely infeasible, that is the narrow condition 29 CFR 1910.333(a)(1) permits energized work under, and it comes with a meter and leads rated for the circuit's category and available fault current, plus the shock and arc-flash protection the assessment calls for under NFPA 70E-2021. If you are instead proving the circuit dead before working on it, that is live-dead-live against a known source, NFPA 70E-2021 120.5.

References

  • 29 CFR 1910.333(a)(1) - live parts to be de-energized before work, and the narrow conditions under which energized troubleshooting is permitted
  • NFPA 70E-2021, 120.5 - process for establishing and verifying an electrically safe work condition
  • Manufacturer documentation for the specific control and the equipment it drives, for minimum off-time and permitted differential ranges
  • See related: How to Read a Control Sequence of Operation; What a Closed Loop Does That an Open One Does Not; What a Sensor Actually Reports