Prox stall detection shows the wrong state

8 min read · Published November 11, 2026

A no-motion stall detector trusts every edge on the prox input, real or false. Blips from a damaged sensor path reset the 15-minute window and hide a stall, while states under 0.5 s each can hide motion. Prove the input, repair the hardware, then check the timers against real transitions.

When a prox stall detector calls a running machine stalled, or a stalled machine running, the input signal is the suspect. The logic is usually innocent. The detector counts edges: a metal flag passes the sensor once per rotation, and every transition restarts the no-motion count. A false edge behaves exactly like a real one. Blips from a damaged sensor path reset the 15-minute window and hide a stall. ON and OFF states that each stay under 0.5 s across the whole window hide motion and show a running machine as stalled. The fault behind this exact symptom pair was hardware: a broken bulkhead fitting feeding the PLC pulses long enough to trick the logic. The repair order is the same every time: prove the input, fix the hardware, then check the timers against real transitions. The walkthrough below uses input X2, stall bit C10, and a 15-minute threshold entered from the HMI.

What each wrong reading points to

The two wrong states have different causes, and a third pattern points at wiring that moves. Match the reading you see against the table before editing anything.

What you observe What it points to First check
Stalled machine shown as running False edges on the input reset the no-motion count, so the 15-minute window never expires Watch X2 online and count edges per flag pass; inspect the sensor, cable, connectors and bulkhead fittings
Running machine shown as stalled ON and OFF each stay under 0.5 s across the window, or an inhibit bit blocks the timing Time one full cycle at normal speed; confirm C100 and C103 are OFF during the fault
Wrong state comes and goes with no repeatable mechanical cause An intermittent contact that opens only under vibration or cable movement Watch the input across a full shift and compare counted edges with physical passes

The trend of ON and OFF time per rotation is the fastest way to see which pattern you have, because a blip shows up as a state far shorter than the normal intervals. Logging switch states on a fixed interval is the same job described in HMI data logging at a 10-minute interval for switch states, and the interval guidance there carries over.

Check the prox input before the logic

Put the machine in a safe state first, then work the input.

  1. With the machine stopped and locked out, move the flag through the sensing area by hand if the machine design allows it. Compare the sensor's own indicator with the PLC input status for X2. Every pass should give exactly one ON and one OFF.
  2. Run the machine normally and watch a raw input monitor or the trend. Count the edges per pass. One extra edge inside the 15-minute window is enough to hide a stall, so the count matters more than the shape of the waveform.
  3. Inspect the physical path for looseness, damage, contamination and movement: the sensor, its cable, every connector, junction box and bulkhead fitting. The fault in this pattern lived exactly there: a broken bulkhead fitting was passing pulses long enough to trick the logic, and replacing the hardware ended the wrong states. If a panel-mount fitting needs replacing, pick it for the cable, the cutout and the environment; the selection criteria are set out in this industrial USB bulkhead fitting selection for panel mount guide.
  4. If the input is clean by hand but flickers only while the machine runs, look at noise. The open-collector output style used by many three-wire DC prox sensors can register induced noise as edges when the sensor cable runs beside switched load wiring, so separate the sensor cable from power conductors and follow the sensor maker's shielding instructions.

Repair or replace damaged hardware. Do not compensate in the logic for a physically bad signal.

Worked example: a 15-minute window against a blipping fitting

The case is a rotating cylinder flag on prox X2, the stall bit C10, and a 15-minute no-motion threshold the HMI writes into V2200.

Inputs, and where each comes from:

  • Stall threshold: 15 minutes, set at the HMI. This is the setup the symptom pair comes from.
  • One ON and one OFF edge per rotation, because the flag passes the sensor once.
  • False-stall boundary: ON and OFF each under 0.5 s across the whole window, the boundary documented for this exact logic pattern.
  • False-running cause: false edges from the sensor path; the hardware found was a broken bulkhead fitting.

Rule in words: the detector treats every edge as motion, so a stall stays hidden while at least one false edge lands inside every window, and running motion stays hidden while every ON and OFF state stays under 0.5 s.

Arithmetic:

  • Window in seconds: 15 min × 60 s/min = 900 s.
  • Blip rate that defeats the alarm: 3600 s/h ÷ 900 s = 4 blips per hour. A fitting that flickers once per 900 s resets the count forever and C10 never fires.
  • Fast side: ON under 0.5 s plus OFF under 0.5 s puts a full cycle under 1.0 s, so the flag passes more than once per second and the input carries more than 120 edges per minute, at 2 edges per cycle.

Result: 4 false edges per hour keep a stopped machine shown as running; clean cycling faster than one pass per second keeps a moving machine shown as stalled for the full window.

Decision: at a blip rate of 1 per 900 s or more, repair the input before touching presets. With a healthy input and a cycle under 1.0 s, the prox-plus-window pair is the wrong sensor for that speed and counted transitions take over.

Read the two timer paths in the listing

The logic behind both states is six rungs, printed as written:

  • Rung 43: STR X2 ANDN C100 ANDN C103 STRPD T24 TMRA T20 V2200
  • Rung 44: STRN X2 TMR T24 K5
  • Rung 45: STR T24 LD K0 OUT V1300
  • Rung 46: STRN X2 ANDN C100 ANDN C103 STRPD T25 TMRA T22 V2200
  • Rung 47: STR X2 TMR T25 K5
  • Rung 48: STR T20 OR T22 OUT C10

Read at face value: T20 is the accumulating no-motion timer for the ON state of X2, and T22 does the same for the OFF state. Both use the preset held in V2200, the word the HMI writes, and both are blocked while C100 or C103 is ON. Rung 48 turns the stall bit C10 on when either long timer completes. Rungs 44 and 47 run the short timers T24 and T25 with the constant preset K5, each in the opposite input state, and each long-timer rung carries a one-shot element keyed to its opposite-state timer: STRPD T24 in rung 43, STRPD T25 in rung 46. Rung 45 writes 0 into V1300 when T24 completes, so search the rest of the program for every use of V1300 before editing anything near these rungs, and record its online value during a normal cycle and a controlled stop.

The listing shows K5 as a constant and leaves its timebase to the controller's timer reference, so read the accumulated values of T24 and T25 online and confirm that a real transition moves the input from one long timer to the other, keeping the wrong path from timing out.

Check the inhibit bits and the HMI preset

Both long-timer rungs require C100 and C103 to be OFF. Either bit ON blocks its timing path and holds C10 off, which is one of the documented ways a stalled machine stays shown as running. Monitor both bits at the same time as X2, T20 and T22 while you reproduce the fault, and if one stays lit unexpectedly, trace what sets it in the program before changing anything.

Then read the preset. V2200 carries the no-motion delay entered at the HMI, 15 minutes in this setup, with the timer's units defined by the controller's timer instruction. If the value is entered on the panel in minutes and seconds, entering minutes and seconds into an HMI timer preset covers the conversion traps that put a wrong number behind a right-looking field. Confirm the online value of V2200 against the delay you intended before you judge the timers.

Repair the signal before tuning the timers

Recommendation: Prove the input before touching any preset. Watch X2 against the sensor indicator until every flag pass gives exactly one clean ON and OFF, replace the damaged fitting, connector or cable you find, and keep the 15-minute threshold at the delay the process needs. A longer preset leaves an intermittent input in place and delays every genuine stall alarm by the time you added. Filtering and debounce come last, only after the wiring is sound and only with the machine's valid cycle range in hand, because a filter that would hide a false blip also hides a real 0.5 s state.

Prove the detector end to end

Run the proof with real motion and real stops.

  1. Run the machine at its normal condition and watch the prox indicator, X2, the accumulated values of T20 and T22, and the trend together. The displayed state must follow actual motion through repeated cycles with no extra edges.
  2. Stop the machine under your approved procedure with the prox held ON, and confirm T20 accumulates to the V2200 preset and C10 turns on. At a 15-minute threshold that takes 15 minutes; budget the wait instead of shortening the preset for the test. Repeat with the prox held OFF and confirm T22 drives C10 the same way.
  3. Restore motion and confirm the state returns to running only after a real transition of X2.

That alarm is one stop detector. If the stops should be counted per shift, the same signal feeds PLC downtime tracking with automatic stop detection and shift totals. And if your normal cycle ever runs faster than one pass per second, a prox with a 15-minute no-motion window is the wrong pair for that speed; watch counted transitions instead, as in encoder count monitoring with PLC logic to catch lost motion, or use a purpose-built encoder-and-timer design such as this center pivot stall detector build and calibration write-up.

If the alarm must be visible away from the panel, the same stall state can feed a small shop-floor status screen running your own Android app or offline content; that is the job of our shop-floor signage.

Questions

Can I just raise the 15-minute preset to stop the false alarms?

No. A longer preset delays every genuine stall alarm and leaves the intermittent input in place, so the panel keeps showing wrong states at random. Repair the sensor path until every flag pass produces one clean transition, keep the preset at the delay the process needs, and add filtering only afterwards, with the machine's valid cycle range known.

How fast can the flag cycle before a running machine reads as stalled?

The boundary documented for this pattern is both states under 0.5 s for the whole window: a full ON and OFF cycle under 1.0 s, more than one flag pass per second. If your normal speed comes near that, move to a counted transitions check, or verify your controller's short-timer timebase before trusting the number.

Why could the fault not be reproduced during a short test?

An intermittent contact can stay closed for hours and open only under vibration, heat or cable movement, so a brief bench check passes clean. Watch the input across a full shift of normal running, compare every physical flag pass with the edges the PLC counts, and flex accessible cabling under your approved maintenance procedure while watching the input status.

What should I check about V1300 before editing these rungs?

Search the whole program for every reference to V1300 first: rung 45 writes 0 into it whenever the short OFF-state timer T24 completes, and the remaining uses of V1300 sit outside these six rungs, so nothing in the listing tells you what depends on it. Record its online value during a normal cycle and during a controlled stop, and confirm the write lands where the program expects.

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