Find which layer freezes when a PLC counter stops updating

6 min read · Published November 7, 2026

Find the first value in the chain that stops changing: the module's live count, the PLC total, or the HMI display. That value names the layer to repair. Record all of them before you power-cycle the PLC, because the cycle restores the line and wipes the evidence.

A total that stops climbing while the line speed still shows a number is one symptom hiding three possible faults. The count chain runs from encoder pulses to the counter module's live count, from the live count to a PLC tag, and from the tag to the HMI display. The failed layer owns the first value in that chain which stopped changing, so read all three levels in the same minute and the repair target names itself. Watch the module's live data view during a short, safe jog before touching anything else, and write the values down before you power-cycle the PLC, because the cycle restores the line and wipes the evidence.

What the frozen chain tells you

Speed and total feet usually start at the same encoder and travel through different logic. The speed on screen is a rate, computed from how fast the count moves over a time base. The total is the accumulated count. When the update path stalls anywhere upstream of the display, the speed holds its last computed number and the total holds its last accumulated number.

That is why a speed reading above 0 at standstill and a total that ignores its reset are the same fault seen from two windows. Both numbers on screen are the last values the path delivered, held in place. A live speed reading shows the screen refreshing. It leaves the counter module untested.

The live data view in the module's configuration software is the split point. Open it while the encoder turns and compare it with the PLC and screen values.

First value that stops changing Failed layer Where the repair is
Module live count, with the shaft turning Input path Encoder cable, input assignment, counting mode, module
PLC total, with the live count climbing Program Transfer rung, accumulation logic, reset branch
HMI display, with the PLC total climbing Display path Tag binding, refresh, comms to the panel

Symptoms and what each points to

  • Total frozen, speed still showing a number. Both values come from the same count through different logic, so an upstream stall freezes both, each at its own last value. Points at the count path or the program.
  • Speed above 0 with the machine stopped. The correct reading at standstill is 0. Anything else is the last speed the path delivered before it stalled. Points upstream of the display.
  • Total shown but the reset is refused. The reset command runs the same chain in reverse, from the screen into the program to the counter's reset. With the path stalled, the total never rewrites, so the reset looks refused. Points at the same stall.
  • A PLC power cycle restores everything. The cycle reinitializes the module and the program. With the encoder still sending, the fault lives in what the cycle restarts: the module or the program data path.
  • No error lights or messages anywhere. A stalled count raises no flag and a stalled transfer raises no flag, so a quiet rack is what this fault looks like. That is the reason the live data view is the test. Values that flicker or time out instead of freezing are a different problem: why an HMI shows an intermittent PLC communication timeout.

The checks in order

  1. Stop the machine through its normal stop, then record five values: the module live count, the PLC tag holding the count, the PLC total, the HMI speed, the HMI total.
  2. Jog the line under the machine's own safe procedure and watch the live count in the configuration software. De-energize the circuit before touching any encoder wiring.
  3. Apply the table above and work only on the layer it names.
  4. Live count flat with the shaft turning. Confirm the encoder shaft really turns, then the cable into the module, then that the channel pair lands on the inputs the configuration assigns, and the encoder signal ground to the module ground. Compare the configured counting mode with the encoder as wired. Pulses measured at the encoder say the encoder works; they say nothing about what reaches the module inputs, so watch the input state change in the live view while the shaft turns.
  5. Live count climbing, PLC total flat. Trace the rung that moves the count into the total, then the accumulation logic around it, then the reset branch. A reset bit held on, or a transfer that stopped executing, holds the total flat while the count climbs.
  6. PLC total climbing, HMI flat. Check the tag the screen is bound to, its refresh setting, and the link to the panel. A value that moves but reads wrong is a scaling fault: fix the scaling when an HMI value reads ten times too small.
  7. Reset path. Follow the reset command from the screen button to the program to the counter's reset input. If you clear the total on purpose, save the previous count before a PLC counter reset.

Example: two lockups in 24 hours on a take-up winder

Inputs, from the fault record and the installation:

  • Machine: a take-up winder, quadrature encoder on the shaft, counter module in the PLC rack, HMI showing line speed and total feet.
  • Fault count: 2 lockups in 24 h.
  • At each lockup: total static, speed holding a number above 0 at standstill, reset refused, no module or PLC error, PLC power cycle restored all three readings.
  • Expected speed at standstill: 0, by the machine's own definition.

The rule in words: the average spacing between faults is the elapsed time divided by the number of events, and the layer to repair is owned by the first static value in the chain of live count, PLC total, HMI display.

Arithmetic: 24 h ÷ 2 lockups = 12 h between faults on average. The next freeze is about half a day out, so the capture has to be ready, not lucky.

Run the check on demand. Stop the winder. If the HMI shows a speed above 0 with the machine stopped, the path is stalled right now and the fault is present without any product moving. Open the live data view and jog. A live count that climbs while the total stays flat puts the repair in the program. A live count that stays flat while the shaft turns puts it in the input path. A total that climbs while the display stays flat puts it in the display path.

Decision: at one fault per 12 h on average, one jog sets the repair target, and power cycling is recovery only.

Recover without losing the evidence

Write down the five values before you cycle power. The cycle brings the line back and it reinitializes the module, so whatever state stalled is gone. Record, cycle, then confirm during a short run that the total climbs, the reset takes, and the speed returns to 0 at standstill.

Stop power cycling as the standing response. A fault that returns after power cycles has earned instrumentation. Put a stale-data alarm on the total tag, one that trips when the value stops changing while the machine-run bit is on; stale data alarms that flag frozen PLC tags do exactly this job. If your total reaches the screen from a meter over Modbus RTU instead of an encoder, the same first-static-value rule applies, and troubleshooting a frozen Modbus RTU totalizer with stale values starts on the meter side.

Make the healthy total readable

After the repair, put the total where the people who use it stand, because an operator who can read the number notices a freeze sooner. The mechanics are in how to display a PLC counter value where operators can see it. For letter height, plan 20 ft of viewing distance per inch of capitals for fast reading; 30 ft per inch is the FHWA planning figure. A total read from 40 ft across the bay needs 2 in capitals at the 20 ft per inch figure.

Recommendation: at the next freeze, jog safely and read the module's live count before you cycle power, because the first static value in the chain names the layer to repair. A count that stays flat with the shaft turning means wiring and configuration. A climbing count with a flat total means the program. A climbing total with a flat display means the panel path. Cycle power only after writing the five values down, and at two lockups in 24 h, add a stale-data alarm so the next freeze reports itself.

Questions

Why does the line speed show a number with the machine stopped?

Because the display holds the last value it received. The correct reading at standstill is 0, so anything else means the update path stalled at some point and the number on screen is the speed from that moment. The machine state and the screen are telling different stories, and the screen is the stale one.

Is power-cycling the PLC an acceptable fix?

It is acceptable recovery. It reinitializes the counter module and the program, so the line runs again, while the encoder and its wiring come through the cycle unchanged. With the fault recurring twice inside a day, the cycle is hiding the cause. Write down the five live values first, then cycle, then instrument the total tag.

What if the module count moves but the total still freezes?

The module is counting and the repair belongs in the program. Work through the transfer, accumulation and reset logic in order, as described in the checks below, until you find the branch that holds the total flat while the count climbs.

How do I catch the next freeze without watching the screen?

Add a stale-data alarm on the total tag: a rung that trips when the value stops changing over a set time while the machine-run bit is on. The alarm reports the freeze to a maintenance screen instead of waiting for an operator to notice, and the five-value check can then run at the fault, on demand.

Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.

Keep reading

Build your signAsk for a quote