Program Interrupted on Siemens SINUMERIK: Resuming with REPOS and Block Search

3 August 2026

Mentor CNC Editör Ekibi

The program stopped. The first thing you need is not panic but one question

A tool broke, an alarm came up, the power went, or you stopped it yourself. The part is half finished and the machine is waiting. Running the program from the top now wastes time and drags the tool over finished surfaces for nothing.

But on a SINUMERIK, how you get back to where you were depends on a single thing: how did the program stop?

How did it stop?What you have to doDifficulty
You pressed NC STOPJust press NC START. The program carries on from where it was.Easy
You retracted the tool in JOG after NC StopREPOS back to the contour first, then NC Start.Medium
You pressed RESETYou need a block search. NC Start now starts the program from the beginning.Hard
An alarm came up and needed a ResetClear the cause of the alarm first, then block search.Hard
Power failure / machine switched offReference the axes, then block search. The interruption point may be gone.Hard
The difference in one sentence.A program stopped with NC STOP continues from where it was when you press NC START. A program stopped with RESET starts from the beginning on NC Start; to get back to the point it stopped at, you have to do a block search.

Case 1 — you retracted the tool: REPOS

The program stopped with NC Stop and you moved the tool away from the contour in JOG — to look at the cutting edge, clear chips or take a measurement. Now you need the tool back exactly where you left it. Rather than eyeballing it back, use the function the control has for this.

What does REPOS do?

When the program is interrupted the control stores the coordinates of the interruption point. As you retract the tool, the remaining distance of each axis back to that point is shown in the actual value window as a “Repos offset”. The REPOS function takes you back along that offset.

Step by step

  1. Go to the Machine operating area.
  2. Select JOG mode on the machine control panel.
  3. Select the machine function REPOS.
  4. Select the axis you want to move. (On a lathe, the axis keys; on a mill, select the axis then use the direction key.)
  5. Use the or + direction key to approach the interruption point by the remaining distance shown on screen.
  6. Switch to AUTO mode.
  7. Press NC START to carry on machining.
You cannot overtravel the interruption point.In REPOS the axis travels up to the interruption point and stops there; keep pressing the direction key and it will not go past. That is a safety feature, not a fault. The feedrate override and rapid traverse override must also be active — at zero, the axis will not move at all.
You do not have to travel all the way back.If a Repos offset is left over, switching to AUTO and pressing NC START makes the control close the remaining distance itself, at the programmed feedrate and with linear interpolation. That is reassuring, but note what it means: that move is a straight line. If a clamp, a vice jaw or a wall of the part lies between the tool and the interruption point, the tool will hit it. When in doubt, bring the axes back one at a time with REPOS, in a safe order.

Case 2 — Reset was pressed: block search

An alarm came up and you pressed Reset, or you cancelled the program. NC Start now runs the program from the top. The way back to where you were is a block search: telling the control “carry on from this line of the program”.

First define the search target

SINUMERIK gives you three ways to say where you want to go:

  • Interruption point — makes the point where the program stopped the target directly. On a program cancelled with Reset this is the practical route; you do not have to hunt for a line number.
  • Search pointer — shows the program levels. You enter the line in the main program and the line in the called subprogram separately. This is what you need with nested subprograms.
  • Simple target — a line number, a block number or a piece of text to search for.

Then choose the search mode — this is the decision that matters

You can reach the same target in different modes, and the difference between them decides whether the machine crashes. In current SINUMERIK Operate the modes are:

ModeWhat it doesWhen to use it
With program test
(SERUPRO)
The NC starts the selected program in program test mode. When it reaches the target block it stops at the start of that block.The safest option. Every modal state is genuinely calculated. If you are unsure, pick this.
With calculation — with approachThe end position of the block before the target block is found with NC START. From there the program runs exactly as in normal machining.The classic, reliable route. The tool reaches the target along the program’s own path.
With calculation — without approachThe end position of the target block, or the next programmed position, is approached using the interpolation type valid in the target block.When you want to control the approach path yourself.
With calculation — skip EXTCALLPrograms called with EXTCALL are not processed, so the search is much faster. But the modal functions inside those programs will not be active.On very large CAM programs run from external storage, when the search takes minutes.
Without calculationNo calculation is carried out up to the target block; it is skipped.Fastest and riskiest. Spindle speed, feed, coolant, compensation and work offset may not be active.
What “without calculation” really means.The control does not read the lines up to the target. So the spindle speed, feed, coolant, tool radius compensation (G41/G42), work offset (G54) and plane selection (G17) written in those lines may not be active. The tool can plunge into the material without the spindle turning, or cut without compensation and ruin the part. Use this mode only when you know exactly what you are doing and have restored the missing modal states by hand.

Block search in large CAM programs

In die and mould work the program that comes out of CAM usually does not fit in the control’s memory. So the main program is kept small and the geometry lines are read block by block from external storage with EXTCALL:

Call.MPF
N1  G54
N2  T1 D1
N3  M3 S15000
N4  CYCLE832(0.05,112003)
N5  EXTCALL “CAM_Rough”
N6  T2 D1
N7  M3 S20000
N8  CYCLE832(0.005,112001)
N16 EXTCALL “CAM_Finish”
N10 M30

With a structure like this, when the program is interrupted the real interruption point is not in the main program but inside the called subprogram. The main program may have called CAM_Finish at N16 while the program actually stopped at block 3044 of that subprogram.

That is why the search pointer shows two levels: the call line in the main program and the real line in the subprogram. You have to give both. If you pick the interruption point as the target, the control fills in both levels for you — which is the practical route.

What do you lose by skipping EXTCALL?The “skip EXTCALL” mode speeds the search up enormously because the control does not read that huge geometry file. The price is that any modal state defined inside that file will not be active. Geometry programs are usually nothing but coordinate lines, so this often causes no trouble — but if the subprogram starts with something like G90, you lose it. Look at the first few lines of the subprogram and decide.

Overstore: correcting a value before the program starts

You have done the block search and reached the target — but before carrying on you want to change something. Reduce a tolerance, drop the spindle speed, run an auxiliary function.

In Siemens’ own words, Overstore gives you “the option of executing technological parameters (for example, auxiliary functions, axis feed, spindle speed, programmable instructions, etc.) before the program is actually started”.

A typical use

The example in the source document is this: the surface finish is not holding, so the compressor tolerance has to come down. Instead of opening and editing the program, one line is typed into the Overstore window:

CYCLE832(0.02)

Press NC START and that line runs, activating a tolerance of 0.02 mm. The main program then carries on machining with that value. The program itself has not been touched.

Do not confuse Overstore with editing the program.Overstore does not change the program; it only executes a command for the moment. If you want the correction to be permanent, you have to edit the program in the editor. The advantage of Overstore is that you can intervene quickly, with the machine standing ready, without disturbing the program.

The first NC Start after a block search: the riskiest moment

When the block search finishes the machine is ready to move, but the tool is not at the target position. On that first NC Start the axes will travel to the target, and the path they take is decided by where the tool happens to be, not by the program.

Check these before pressing NC Start

  • Is the tool still in the material? If so, retract it to a safe height in Z first.
  • Is the spindle turning, is the coolant on? In “without calculation” mode they may not have come on. Set them by hand from MDI or with Overstore if needed.
  • Is the right tool in the spindle? If the search target sits in another tool’s section, the tool change may not have happened.
  • Are the work offset and compensation active? Look at the active G codes on screen: are G54 and G41/G42 what you expect?
  • Does the tool path pass an obstruction on the way? A clamp, a vice, a hold-down bolt, a finished wall of the part.
Always make that first move under control.Turn the feedrate override right down and switch Single Block on. Step through the first few blocks one at a time and watch where the tool goes. If it heads somewhere you did not expect, NC STOP immediately. The first move after a block search is one of the most common ways of breaking a tool on a CNC.

Common mistakes

Pressing Reset and then running the program from the top

It is the most common answer and the most expensive one. On a half-finished die the tool travels through air — lost time. Worse, with the roughing already done the tool can plunge into material somewhere it was never meant to.

Eyeballing the tool back after retracting it

Winding back to “about the same place” with the handwheel leaves a mark on the contour. REPOS exists for exactly this, and it will not let you overtravel the interruption point.

Always using “without calculation”

It is fast, so it becomes a habit. But with the modal states missing it risks plunging without spindle, cutting without compensation and running on the wrong work offset. When in doubt, use with program test (SERUPRO) or with calculation — with approach.

Trying to carry on without clearing the alarm

A block search does not clear an alarm. If the broken tool has not been changed, the pressure has not come up or the door interlock is open, the program will stop in the same place again.

Not using Single Block

The first move after a block search is always uncertain. Single Block and a low override cost a few seconds and save a broken tool and a scrap part.

Frequently asked questions

I pressed NC Stop and switched the machine off. Can I carry on tomorrow?

No. The interruption point is lost when the machine is switched off and you have to reference the axes again. In that case you need a block search. If you are going to leave a job half done, noting the line number you stopped at saves a lot of time later.

After the block search the tool approaches from the wrong direction.

Change the search mode. In with calculation — with approach the tool reaches the target along the program’s own path; in without approach it goes straight to the target position. If the approach path matters to you, choose the first.

I do not know which line the program stopped on.

On a program cancelled with Reset, select the interruption point as the target — the control knows the line. If that information has been lost, after a power failure for example, you have to look at the machined surface and find the line in the program that corresponds to it.

In REPOS the axis will not move at all.

Check the feedrate override and rapid traverse override first; at zero the axis will not move. The other possibility is that the axis is already at the interruption point — with no remaining distance there is no movement.

How do I give the interruption point with nested subprograms?

The search pointer asks for a line at each program level: the call line in the main program and the real line in the subprogram. The easiest way is to select the interruption point as the target; the control fills both levels in for you.

Is all of this the same on an 828D?

The concepts and the sequence are: the NC Stop / Reset distinction, REPOS, the search target and modes, Overstore. But softkey names and menu paths change with the control and the software version. The mode descriptions here are taken from the current SINUMERIK Operate manual; finding their equivalents on your own machine once and noting them down is the soundest approach.

Mentor CNC note: Block search and repositioning can make the machine move along an unexpected path. This page is for training and does not replace the machine builder’s manual. On the first move after a block search, turn the feedrate override down, use Single Block and watch the tool path. The behaviour of the search modes varies with the control version, the options that are active and the machine builder’s configuration. When you are not sure, taking the part off, moving the tool to a safe position and reworking the program is always cheaper.

Sources

  • Siemens AG — SINUMERIK 840D sl / 828D Operating Manual, “Block search mode” and “Overstore” sections (mode definitions and the Overstore function)
  • Siemens AG — SINUMERIK Operating Manual, “Repos (Repositioning)” section (REPOS steps, no overtravel past the interruption point, the override condition, automatic compensation of the remaining offset)
  • Siemens AG — SINUMERIK 828D Universal Operating Manual (methods of defining the search target)
  • Siemens AG — SINUMERIK Advanced CNC Operation and Programming, 05/2010 (NC Stop / Reset distinction, REPOS sequence, block search with EXTCALL structures, changing the CYCLE832 tolerance with Overstore)