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 do | Difficulty |
|---|---|---|
| You pressed NC STOP | Just press NC START. The program carries on from where it was. | Easy |
| You retracted the tool in JOG after NC Stop | REPOS back to the contour first, then NC Start. | Medium |
| You pressed RESET | You need a block search. NC Start now starts the program from the beginning. | Hard |
| An alarm came up and needed a Reset | Clear the cause of the alarm first, then block search. | Hard |
| Power failure / machine switched off | Reference the axes, then block search. The interruption point may be gone. | Hard |
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
- Go to the Machine operating area.
- Select JOG mode on the machine control panel.
- Select the machine function REPOS.
- Select the axis you want to move. (On a lathe, the axis keys; on a mill, select the axis then use the direction key.)
- Use the − or + direction key to approach the interruption point by the remaining distance shown on screen.
- Switch to AUTO mode.
- Press NC START to carry on machining.
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:
| Mode | What it does | When 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 approach | The 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 approach | The 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 EXTCALL | Programs 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 calculation | No 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. |
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.MPFN1 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.
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.
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.
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.
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)