Why Does a Do-More PLC Miss Absolute Encoder Counts?

Brian Holt7 min read
AutomationDirectPLC HardwareTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Do-More PLC encoder counts can disappear before ladder logic sees them. First separate CPU scan time from input-module response, then choose a capture method that matches the encoder signal and required rate.

Stop Trying the Quick Fixes

Quick fix Why it fails Use instead
Look for a software interrupt The Do-More hardware described on April 7, 2015 did not support interrupts. An interrupt instruction cannot add a missing hardware capability. Verify the exact installed CPU and module documentation. For the hardware described here, move time-critical acquisition into suitable capture hardware.
Shorten the ladder scan A faster scan does not recover transitions rejected by the input module or lost between input-image updates. Compare encoder transition time with module response, filtering, update behavior, and the program's worst-case observation interval.
Read the input repeatedly Repeated instructions may read the same input-image value rather than sample the terminal again. Use hardware that captures or accumulates events independently of the normal scan.
Change the up/down counter logic A correct software counter still cannot count a transition that never reached its logic. Prove the acquisition path first, then test direction and rollover logic.

Get it running by reducing speed only when that creates a safe production window. Treat that as containment: it confirms a rate-related problem but does not correct the capture limitation.

Identify Where the Counts Disappear

The signal passes through several time domains: the encoder output, field wiring, input circuitry, module filtering and update, the CPU input image, and the ladder scan. The slowest stage sets the usable observation rate.

An ordinary discrete input must remain in each state long enough for the module to recognize it. Even a very fast PLC scan cannot see a pulse suppressed by the module response or filter. Conversely, a fast module does not help if the input image or counter logic is serviced too slowly.

First identify what “absolute encoder input” means in this machine:

  • If the encoder presents a multi-bit absolute position word, counting every observed word change is usually the wrong architecture. Read position and calculate displacement.
  • If the selected encoder output presents pulses or direction transitions, every required edge must reach a hardware counter or capture circuit.
  • If multiple discrete bits form the absolute word, they must be sampled coherently. Bits changing at slightly different times can create an intermediate position that never existed mechanically.

The module part number decides its electrical compatibility, response time, filter behavior, and capture features. Read those values from its datasheet before blaming CPU scan time.

Measure the Required Acquisition Rate

  1. Record the encoder interface, output code, electrical levels, counts or states per revolution, and maximum shaft speed.
  2. Calculate the maximum state rate. For a rotating shaft, use state rate = shaft RPM / 60 × reportable states per revolution. The corresponding state time is 1 / state rate.
  3. Compare the shortest state time with both input transitions: off-to-on and on-to-off. Use the slower published response and include any configured or fixed filter.
  4. Read the PLC diagnostics for maximum scan time, not only average scan time. Include conditional routines and communications that extend the interval between counter executions.
  5. Observe the signal at the encoder and at the input terminal with suitable test equipment. Confirm amplitude, reference, noise, and pulse width against the encoder and module specifications.

A count-rate calculation does not prove the input can accept that rate. Published response and measured waveform decide whether the signal reaches the input image. If the encoder changes faster than the program observes it, several positions can collapse into one sampled change.

Select the Capture Method That Fits the Signal

Signal and requirement Preferred method Key limitation
Absolute position word; only current position is required Read a coherent position value The acquisition interface must transfer all bits as one valid value.
Absolute position word; accumulated motion is required Calculate signed change between consecutive coherent positions Movement between samples must remain below the ambiguous rollover distance.
Every pulse or direction edge must be preserved Use a compatible high-speed counter, capture input, or external accumulator Its electrical and frequency ratings must exceed the measured requirement.
Only ordinary inputs are installed Reduce the signal rate or change the input architecture Software cannot reconstruct unobserved transitions.

For a wrapping absolute position, use modular displacement logic rather than incrementing once whenever the word changes:

Current = read coherent encoder position
Delta = Current - Previous

if Delta > HalfRange:
    Delta = Delta - FullRange
if Delta < -HalfRange:
    Delta = Delta + FullRange

Total = Total + Delta
Previous = Current

Obtain FullRange from the encoder configuration or datasheet; HalfRange is half that span. This method resolves rollover only when actual movement between samples is less than half the range. It cannot recover multiple turns, reversals, or other motion hidden between samples.

Apply the Fix in a Controlled Sequence

  1. Record the installed CPU, input module, encoder interface, wiring arrangement, and present filter settings.
  2. Run at a reduced speed where no counts are lost. Record the maximum PLC scan and compare indicated motion with a known mechanical movement.
  3. Increase speed in controlled steps. Capture the encoder waveform and note the rate where the PLC result first diverges.
  4. If the waveform is already wrong at the input terminal, correct electrical compatibility, reference, wiring, or signal conditioning using the product specifications.
  5. If the terminal waveform is valid but the ordinary input misses it, replace that acquisition path with compatible high-speed capture or external counting hardware. Do not spend the shift searching for an interrupt on the 2015 hardware described here.
  6. If the PLC receives a coherent absolute value, replace change-counting logic with direct position or modular displacement logic.
  7. Retain temporary speed reduction until the permanent capture method passes full-rate testing.

Interrupt capability had been developed for future hardware at the time, but no model or release was identified. Confirm interrupt or capture support for the exact cataloged hardware and installed software before planning around it.

Verify the Repair Under Worst-Case Motion

Test the complete range of motion, not an unloaded bench pulse. Run forward and reverse at maximum required speed, cross the encoder rollover point in both directions, and exercise acceleration, deceleration, stop, and restart conditions.

  • Compare PLC position or accumulated counts with a known mechanical distance or independent reference.
  • Repeat the test while communications and conditional logic create the highest normal scan load.
  • Watch for one-count direction errors, large jumps at rollover, frozen values, and discrepancies that grow with speed.
  • Power-cycle only after retention and startup behavior have been defined. A correct running total can still restart incorrectly if initialization overwrites the previous position.
  • Document the measured maximum signal rate, input method, filter state, worst scan, and acceptance result.

Passing at low speed proves the logic path, not the rate margin. The repair passes only when repeated worst-case runs produce the expected motion without accumulated error.

Frequently Asked Questions

What happens if I shorten the Do-More PLC scan?

You may improve observation of values already present in the input image, but you will not recover pulses blocked by input response or filtering. Compare the measured pulse width with the module specifications first.

What happens if I add an interrupt to the existing program?

The Do-More hardware described on April 7, 2015 did not support interrupts, so program changes cannot activate one. Check the exact CPU and module documentation before using a newer hardware feature.

What happens if an absolute encoder changes several positions per scan?

A change-based software counter can register one observation while multiple positions occurred. Read the absolute value and calculate displacement, or move acquisition into hardware that captures every required event.

What happens if the input module is slower than the encoder?

Short states can be rejected or merged before the CPU sees them. Use a compatible faster capture path, reduce the encoder signal rate, or reduce machine speed as temporary containment.

When should I stop troubleshooting and call official support?

Stop if the exact module response, filter behavior, coherent-word handling, or hardware capture support cannot be determined from the official documentation. Also stop if the measured signal exceeds a published input rating or remains unstable after wiring and reference checks. Contact official support with the CPU and module identifiers, encoder interface, waveform measurements, calculated state rate, and maximum scan time.

Back to blog