On a reversed cooling loop with the process 5 °F above setpoint, an output below 400 counts points to the output side: the span the block assumes for its inputs, the action direction, and the scaling from CV to analog card. The setpoint and the thermocouple reading are already in the same units, so rescaling the input would rail the output.
The thermocouple input is not the problem. Your panel writes its setpoint, the thermocouple card reports about 65 °F, and data view confirms both, so the setpoint and the process variable already sit in the same units. A loop output parked below 400 counts is an output-side question: which way the loop acts, what span the block assumes for its inputs, and what range the control variable works on.
A cooling tower fan runs on a reversed loop. A reversed loop with the process 5 °F above setpoint has to push its output up, so a number that sits still near the bottom of the span is wrong. Check the input span, the action direction and the output scaling, in that order. Rescaling the thermocouple value to 16-bit counts would put one operand on a count scale and leave the other in degrees, and the loop would rail its output on the first scan.
What each symptom points to
On a loop like this one, each behavior has a short set of causes. Work through them in this order:
- The CV stays below 400 counts while the process sits above setpoint. The loop sees almost no error or refuses to act on it. Check the span the block assumes for its inputs first, then the action direction.
- The CV falls while the process warms. The action is set backwards for cooling. A reversed loop raises its output as the process climbs, so the block is acting direct and its action setting needs to change.
- The CV jumps to a rail after a scaling change. The two operands are on different representations, one in degrees and one in counts. Undo the change before touching anything else.
- The CV moves correctly but the fan barely responds, or the output card's value disagrees with the CV. The scaling instruction between the CV and the analog output is set to the wrong range.
- The CV climbs while the process is warm and settles once the tower returns to setpoint. The loop is healthy. A small CV at light load is the correct steady reading.
Why the thermocouple value needs no rescaling
A PID block compares its two inputs and acts on the difference. In this loop both inputs carry degrees F: the setpoint written from the panel, 65 reported by the card, the same numbers data view shows. The panel display, the card register and data view all read 65, which is how the chain should look; when a display and its register ever disagree, displaying a thermocouple temperature on an HMI panel walks through that job. The process error here is 5 °F above setpoint, and that is a real, usable error.
Converting the process variable alone to a 0 to 16383 count leaves the setpoint in degrees, so the block compares a count anywhere on the 0 to 16383 scale against a setpoint of 60. The difference is no longer a temperature, and the output rails to one end. One-sided scaling is what breaks this kind of loop, not what fixes it.
The low output usually comes from one level down. In the integer convention, the block's setpoint and process variable live on the same 0 to 16383 count scale as its output. A block left at that raw span treats an error of 5 as 5 counts out of 16383, and 5 / 16383 x 100 = 0.03% of span. A proportional term working on 0.03% of span moves the CV a few counts, which is exactly what an output parked below 400 looks like while the tower sits warm. The lever is the block's own input range setting: set it to the engineering range the card and the panel display, so the setpoint and the reading mean degrees inside the block too.
What the CV number is measured on
The 16-bit register is storage size. The working range is the scale the block is configured for. In the common integer convention the control variable leaves the block on a 0 to 16383 count scale, and PLC makers' PID programming notes describe passing it through a scaling instruction so it matches the analog output's input range. Check the documentation for your block, because other blocks work in percent, 0 to 100.
Read the CV against its own configured range and the number in this article falls into place: 400 counts of 16383 is 2.44% of span, a near-minimum command. On a percent block a reading of 400 cannot occur, because the value clamps at 100, so a CV of 400 that moves smoothly is a count-scale value. Percentage conversions between a panel and PLC math have their own traps; entering a percentage on an HMI and applying it in PLC math covers them.
Set the action for a cooling fan
Reverse acting has a plain definition: an increase in the control output results in a decrease in the process variable. The refrigeration example in the PID help of several PLC families is the same shape as a cooling tower fan: more output, colder process. With the process sitting 5 °F above setpoint, a correctly set reversed loop raises its CV until the fan brings the water down.
Test the direction before changing a setting. Leave the block in automatic, watch the CV in data view, and let the process sit above setpoint. A CV that climbs is a loop responding to its error. A CV that falls while the process warms has the action set backwards; change the action setting in the PID block to reverse, one change, with the original value written down. Flipping the action on a running loop can step the fan to full speed or drop it to a stop, so make the change with the tower lightly loaded and be ready to stop the fan.
Example: a 65 °F process against a 60 °F setpoint with the CV below 400
Inputs: the panel writes a setpoint of 60 °F; the thermocouple card reports a process variable of 65 °F, confirmed in data view; the CV reads below 400 in a 16-bit register, all from the loop in this article; the integer convention tops the CV scale at 16383 counts, per the convention cited above.
Rule: the process error is how far the process variable sits above the setpoint, and the CV share of span is the CV divided by the full-scale count, times 100.
Arithmetic:
- Error: 65 °F - 60 °F = 5 °F above setpoint.
- CV share: 400 / 16383 x 100 = 2.44% of span.
Result: the process is 5 °F warm while the loop commands 2.44% of its output span, a near-minimum fan command.
Decision and threshold: on a reversed loop, a process above setpoint must push the CV up. If this CV holds at or below 400 counts while the process stays 5 °F warm, the loop is blind to its error. Check the span the block assumes for its inputs first, because 5 counts of a 16383-count span is 0.03% of span and gives the loop almost nothing to act on; then the action direction; then the scaling instruction ahead of the analog output. If the CV is climbing through 400, the reading was taken while the integral term was still winding up, and the loop will settle wherever it holds setpoint, which can legitimately be a few hundred counts, like the 400 you are watching, at light load.
Trace the CV to the fan
The output path has three links: the block's CV, the scaling instruction, and the analog output channel that commands the fan. Watch all three while the loop calls for cooling. When the CV climbs and the card's command value follows in the proportion the scaling sets, the PLC side is correct. When the CV climbs and the card's value sticks, the scaling instruction is set to the wrong range and the fan never sees the command; the checks in fixing a 4-20 mA analog output stuck at one value cover that stage. When the card's value moves and the fan still does not respond, the fault sits past the PLC, in the starter or drive receiving the command and how it reads that signal. Fix the stage where the number first stops making sense and leave the stages upstream of it alone.
The fix, in order
- Leave the input side in degrees F. Data view already shows the setpoint against a 5 °F error, and one-sided scaling would rail the output. This step is settled.
- Open the PID block and read two things: the span it assumes for its inputs, and the range it assigns its CV, 0 to 16383 counts or 0 to 100 percent. Set the input span to the engineering range the card and panel display when it is left at the raw count default.
- Run the direction test with the process above setpoint. Set the action to reverse if the CV falls while the process warms, and record the original setting before you change it.
- Trace the CV through the scaling instruction to the analog output and the fan's command input. Match the scaling to the output card's configured range.
- Return the loop to automatic and watch one warm stretch end to end: CV up as the process sits above setpoint, card command following, fan responding, tower pulling back down. A CV that settles low afterwards is the loop holding setpoint on a light load.
Recommendation: Keep the thermocouple value and the panel setpoint in degrees F exactly as they are, and work the output side in this order: set the block's input span to the engineering range, run the direction test and set reverse action so a warm process raises the CV, then match the CV's scaling instruction to the analog output card. Rescale an input only when the block demands counts on both operands, and convert the setpoint write and the card reading with one shared scaling.
Questions
Does a PID output below 400 counts mean the loop is broken?
Read it against the process state. 400 of 16383 counts is 2.44% of span, a near-minimum command. That value is correct once the loop has pulled the tower back to setpoint and holds it with little cooling asked of the fan. It is wrong when the process sits 5 °F warm and the CV will not climb. Check one more thing then: whether the block is in manual mode or carries an output limit, because a block in manual follows its forced value and ignores the error.
When should a thermocouple input be scaled for a PID loop?
Scale it when the block is configured to take its setpoint and process variable as counts over a fixed span and the card delivers engineering units, or the reverse. Either set the block's input range to the engineering span the panel and card display, or convert both operands with one shared scaling, limits included. Scaling the process variable alone, with the setpoint left in degrees, compares counts with degrees and rails the output.
Is a cooling tower fan loop direct acting or reverse acting?
Reverse acting. An increase in the control output has to lower the process variable, the same shape as a refrigeration circuit: more fan, colder water. Labels vary between vendors, so verify the behavior rather than the name: with the process variable above the setpoint, the CV should rise. If it falls as the process warms, switch the action setting in the PID block and record the original value first.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.