SINUMERIK 840C: Converting 840D Conditional Branching

David Krause2 min read
Other TopicSiemensTechnical Reference
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

A SINUMERIK 840D program calculates the difference between R24 and R25, branches forward when the result is positive, and otherwise displays an operator message, pauses, and branches backward. Porting this sequence to an 840C requires translating both the branch syntax and the message/pause behavior; the available evidence does not provide a complete, verified one-to-one conversion.

840D Logic to Preserve

N5 ABBRUCH:
N10 R1=R24-R25
N15 IF (R1>0) GOTOF FRAESEN
MSG ("R25 TOO LARGE")
N20 M0
N25 GOTOB ABBRUCH
N30 FRAESEN

The intended decision is explicit: calculate R1 = R24 - R25. If R1 > 0, continue at FRAESEN. Otherwise, issue the message, execute M0, and return to ABBRUCH. Preserve that behavior even if the 840C implementation uses different commands or label conventions.

840C Elements Requiring Manual Verification

840D element Required 840C behavior Evidence-supported lead
R1=R24-R25 Subtract the two R parameters and retain the result Review R50 and R51
IF (R1>0) GOTOF FRAESEN Conditionally branch to the machining path Review @126
MSG and M0 Notify the operator and pause execution Review K9002
GOTOB ABBRUCH Return to the comparison path No exact 840C syntax is supplied

The evidence identifies @126, R50, R51, and K9002 as relevant 840C manual entries, but it does not define their syntax or prove a direct mapping. Confirm each entry in the manual for the installed 840C configuration before editing the production program.

Conversion and Verification Procedure

  1. Document the original state flow: subtract, test for a positive result, branch to machining, or display a message and stop before returning to the test.
  2. Use the 840C manual entries for @126, R50, R51, and K9002 to build the equivalent conditional and operator-notification sequence. Do not assume that 840D labels, GOTOF, GOTOB, or MSG are accepted unchanged.
  3. Test both decision outcomes without machining: one case where R24-R25>0 and one where that condition is false.
  4. Verify the positive case reaches the machining path. Verify the other case presents the intended notification, executes the stop, and returns to the comparison path only after the permitted restart action.

Acceptance Criteria

Accept the conversion only when the calculation uses the intended R parameters, both branches reach the correct destinations, the non-positive path cannot enter machining, and the operator message and stop occur in the required order. The evidence is insufficient to publish executable 840C replacement code; doing so without the applicable manual definitions would introduce unsupported syntax and behavior.

FAQ

Can GOTOF and GOTOB be copied directly from 840D to 840C?

The evidence does not confirm that they can. Recreate the forward and backward control flow with syntax verified in the applicable 840C manual.

Which 840C entries should I check for this conversion?

Review @126, R50, R51, and K9002. Their exact roles and syntax must be confirmed from the manual before use.

How do I test the converted 840C condition safely?

Test one case where R24-R25>0 and another where the condition is false, initially without machining. Confirm the first reaches the machining path and the second issues the notification, stops, and returns to the comparison path.

Back to blog