BX Do-More Rung Jump: A Scan-Order Fault, Not a Coil

Brian Holt8 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

V2000 appears to jump from step 7 to step 9, C70 and its trap C303 turn on, and rung 29 looks false when viewed online. Treat this as a scan-order and multiple-writer problem first. A downstream transition can execute before the programming display refreshes, leaving only the final state visible.

Stop applying the usual quick fixes

Do not start by replacing the output module or rewriting the same rung repeatedly. The affected installation used a BX-DM1E CPU, one BX-16ND3 input module, one BX-12TA output module, and firmware 2.6.3. Both coils and a MOVE instruction on the right side of rung 29 appeared to execute, so the symptom was not limited to one physical output point.

Quick fix Why it does not isolate this fault
Delete and recreate rung 29 The rung was already entered again from scratch without clearing the symptom. Rebuilding a rung can remove an editing artifact, but it cannot stop valid downstream logic from executing in the same scan.
Clear PLC memory and reload This was also tried. A reload reproduces the same behavior when the sequence structure, writer order, and transition conditions remain unchanged.
Watch the green rung indication The programming display does not show every intermediate state of a fast PLC scan. A condition can become true, execute, and become false before the next screen update.
Reset traps with the start buttons The reset event is part of the operating sequence. It can erase the record needed to diagnose a start-related transition.
Replace the output module A module fault does not explain a simultaneous write of 9 to V2000 and the setting of internal control bits.

Get the machine state under control before changing hardware. Check the controller's active forces or overrides, but do not treat force removal as the answer unless the force list identifies one of the affected operands.

Recognize the same-scan sequence mechanism

A PLC evaluates ladder logic in program order. A value written by one rung is available to rungs evaluated later in that scan. If rung 21 writes 7 to V2000, a later transition may immediately write 8; rung 29 can then see V2000=8 and advance the sequence to 9 before the scan ends.

The operator sees the final state, not the intermediate values. At the next online refresh, V2000 contains 9, C70 is set, and the rung-29 conditions may already be false. That looks like an output executing through false contacts even though the rung was true earlier in the scan.

The reported rung-29 permissives were V2000=8, X14 true, and C69 true. X14 was observed true. The deciding measurement is therefore the state of C69 at the instant rung 29 executes, together with every instruction that writes V2000, C69, and C70. A screen capture taken after the scan cannot answer that question.

Map each symptom to a testable cause

Observed symptom Most useful explanation to test Test
V2000 goes from 7 to 9 Two or more transitions write the step register during one scan. Cross-reference every writer to V2000 and list them in execution order.
C70 and C303 set while rung 29 later looks false Rung 29 executed, then a later write changed one of its permissives. Latch pre-execution and post-execution snapshots around rung 29.
Trap bits on rungs 23-28 remain off The traps execute before the decisive state change, capture the wrong condition, or are reset during the event. Move the reset to the unused external button X8 and place traps immediately beside each writer.
The fault appears after 10-15 cycles An input or timer boundary occasionally aligns several valid transition conditions in one scan. Retain traps across cycles and record the first writer, not just the final state.
Only rung 29 appears affected The preceding sequence transitions converge at rung 29; the output hardware is not the common element. Trace the automatic cycle from rung 11 through rung 29 in actual scan order.

Prove which instruction writes the state

  1. Save the running program and record the controller model and firmware before editing. Confirm that the online project matches the controller program.
  2. Cross-reference V2000. Record every MOVE, copy, arithmetic result, or other instruction capable of changing it. Include instructions outside the visible automatic-cycle block.
  3. Cross-reference C69, C70, and C303. Look for normal coils, set/reset instructions, duplicated coils, initialization logic, and logic executed from another program block.
  4. Cross-reference every rung-29 output. Multiple outputs changing together point back to rung execution; one physical point changing alone points toward forcing, wiring, or the output circuit.
  5. Keep the trap reset on the unused external button X8. Do not reset any diagnostic bit from either start button or from normal cycle-complete logic.
  6. Add persistent traps immediately before and after each sequence-state writer. Capture the current step, the requested next step, and the permissives used by that writer.
  7. Run the cycle until the transition occurs, then stop resetting traps. Read the latched values before pressing another control.

Use traps as an event recorder, not as extra sequence logic. The required pattern is:

Before a transition:
  Latch the current V2000 state and its permissives

When the transition writes V2000:
  Latch a unique writer marker

After the write:
  Latch the resulting V2000 state

Give each writer its own marker. A single shared trap only proves that something happened; it does not identify which instruction ran first.

Reverse the transition order

Place later sequence transitions above earlier transitions. For this sequence, evaluate the transition out of step 8 before the transition out of step 7. When a lower rung changes V2000 from 7 to 8, the step-8 transition has already been scanned and cannot advance to 9 until the next scan.

Reverse only the state-transition rungs whose ordering controls advancement. Keep related machine actions positioned where their timing and interlocks remain clear. Review all cross-references after moving rungs because program order is part of the behavior.

This layout creates a minimum one-scan residence in each step without adding a guessed delay. It also makes the trap results easier to interpret: step 8 must be visible for at least one complete scan before rung 29 can act.

An alternative design snapshots the active step at the start of sequence evaluation and permits only one committed state change per scan. Use that pattern when several branches can request transitions. Do not add an arbitrary timer merely to hide the race; a timer changes machine timing while leaving multiple-writer ownership unresolved.

Check the cycle at each boundary

The automatic cycle begins around rung 11 and follows these operations:

  1. The operator presses and holds the start buttons while the die frame lowers.
  2. After the die frame is down, the carriage moves to the press area at rung 20.
  3. At the press, the operator presses the start buttons again to begin the trim cycle at rung 21.
  4. After trim dwell, rung 29 permits the press to lower.
  5. After the press lowers, the carriage can return to the operator position.
  6. At the operator position, the die frame opens and completes the cycle.

Test each transition with the machine in the same physical state that previously produced the jump. Pay particular attention to the second start-button event because rung 21 should load 7, while the bad event ends with 9 in V2000.

Stop here if reversing the transitions could command motion before a mechanical permissive has been reviewed. Make the change offline, inspect each moved rung's interlocks, and use the site's approved commissioning method before allowing automatic motion.

Verify the correction under repeated operation

  1. Confirm that rung 21 writes 7 when the second start command is accepted.
  2. Confirm that the next transition writes 8 and that this state remains active for at least one complete scan.
  3. Confirm that rung 29 executes only when V2000=8, X14 is true, and C69 is true at the same evaluation point.
  4. Confirm that rung 29 then writes 9 and sets C70, with C303 recording the event.
  5. Run more than the previously observed 10-15-cycle window without clearing the traps. A short successful test does not cover the original intermittent interval.
  6. Review the cross-reference again and leave one defined owner for each sequence-state write wherever practical.

If the jump remains, use the writer markers to divide the problem. A marker proving sequential writes from 7 through 8 to 9 confirms scan-order fall-through. If V2000 changes without any marked program writer, check forces, program-block execution, and project-to-controller identity before treating firmware as the cause.

Make the repair maintainable

Document program order as part of the sequence design. Keep transition conditions, state writes, and diagnostic markers together. Avoid scattering writes to V2000 across unrelated rungs, because each additional writer makes an online snapshot less meaningful.

Retain a manual trap reset that is independent of the automatic cycle. A maintenance trap should survive the start command, the faulted transition, and cycle completion. Remove temporary diagnostics only after the repaired sequence has passed repeated-cycle testing and the final cross-reference has been recorded.

FAQ

Why does a BX Do-More rung look false after its outputs operated?

The rung can execute earlier in the scan and a later instruction can then change one of its conditions. The online display shows a later snapshot, while latched outputs such as C70 retain the result.

Why does V2000 jump from 7 to 9 in one cycle?

When step transitions are arranged in forward scan order, one rung can write 8 and a lower rung can immediately see that value and write 9. Place later-step transitions above earlier-step transitions or commit only one state change per scan.

When should I stop troubleshooting and contact official support?

Stop when V2000 changes without a force or any marked program writer, or when the online project cannot be proven identical to the controller program. Send AutomationDirect official support the program, the BX-DM1E firmware version 2.6.3, retained trap states, and exact reproduction steps. Do not continue automatic operation when the unexplained transition can command press or carriage motion.

Back to blog