O9009: Resuming Subprogram
When automatic operation is paused by the user, halted due to an issue, or interrupted by a power outage, the system saves the current line number being processed along with the real-time positions of the axes. It can then resume from this point. For this feature to be valid, PRM400 must be activated (set to 1). Additionally, the spindle start and stop M codes should be entered into parameters PRM403-PRM405. When the system detects a request to resume from the midpoint, it validates the G codes from the beginning of the selected program up to the line to be executed. Subsequently, it loads the required positions of the axes along with the selected tool and spindle state into variables #8050~#8067 and calls the subprogram O9009.cnc. O9009 is reserved for this operation and cannot be changed. All necessary preparations for resuming from the midpoint should be made within the 'O9009' program.
|
Address |
Variable |
Description |
Format |
|
16030~16031 |
#8015 |
Desired operation 1: Starting from the saved point 2: Stop->Run transition 3: Run->Stop transition 4: Sim->Run transition 5: Stop->Sim transition
|
0 |
|
16100~16101 |
#8050 |
X axis position for resuming operation |
0.0000 |
|
16102~16103 |
#8051 |
Y axis position for resuming operation |
0.0000 |
|
16104~16105 |
#8052 |
Z axis position for resuming operation |
0.0000 |
|
16106~16107 |
#8053 |
4th axis position for resuming operation |
0.0000 |
|
16108~16109 |
#8054 |
5th axis position for resuming operation |
0.0000 |
|
16110~16111 |
#8055 |
6th axis position for resuming operation |
0.0000 |
|
16112~16113 |
#8056 |
7th axis position for resuming operation |
0.0000 |
|
16114~16115 |
#8057 |
8th axis position for resuming operation |
0.0000 |
|
|
|
|
|
|
16120~16121 |
#8060 |
Spindle status for resuming operation (0: STOP/1: CW/2: CCW) |
0 |
|
16122~16123 |
#8061 |
Spindle RPM for resuming operation |
0 |
|
16124~16125 |
#8062 |
Tool number for resuming operation |
0 |
|
16126~16127 |
#8063 |
Spindle 2 status for resuming operation (0: STOP/1: CW/2: CCW) |
0 |
|
16128~16129 |
#8064 |
Spindle 2 RPM for resuming operation |
0 |
|
16130~16131 |
#8065 |
Laser/plasma start command for resuming operation (0: None / 1: Present) |
0 |
|
16132~16133 |
#8066 |
Laser/plasma status for resuming operation 0: Off 1: Piercing 2: Lead-In 3: Cutting 4: Lead-Out |
0 |
|
16134~16135 |
#8067 |
Plasma AHC status for resuming operation 0: Off / 1: On |
0 |
Sample resuming start subprogram for CNC router (O9009.cnc):
O9009(RESUME-START-STOP)
(--- RESUME ----------------------------)
N100 IF #8015 <> 1 THEN GOTO 200
N120 G53 G90 G00 X#2000 Y#2001 Z0.
N125 G43 H#100 (ACTIVATE TOOL LENGTH OFFSET)
N130 IF #8062 <= 0 THEN GOTO 800
N135 M6 T#8062 (GET TOOL)
N140 IF #8060 <> 1 THEN GOTO 150
N145 M03 S#8061 (SPINDLE CW START)
GOTO 170
N150 IF #8060 <> 2 THEN GOTO 160
M04 S#8061 (SPINDLE CCW START)
GOTO 170
N160 IF #8060 <> 0 THEN GOTO 810
M05 (SPINDLE STOP)
N170 G53 G90 G00 X#8050 Y#8051
N180 G53 G01 Z#8052
N190 M00
N199 GOTO 900
(--- STOP-> RUN TRANSITION-----------------)
N200 IF #8015 <> 2 THEN GOTO 300
G40 G69
N220 G53 G90 G00 X#2000 Y#2001 Z0.
N225 G43 H#100 (ACTIVATE TOOL LENGTH OFFSET)
N230 IF #8062 <= 0 THEN GOTO 800
M6 T#8062 (GET TOOL)
N240 IF #8060 <> 1 THEN GOTO 250
M03 S#8061 (SPINDLE CW START)
GOTO 270
N250 IF #8060 <> 2 THEN GOTO 260
M04 S#8061 (SPINDLE CCW START)
GOTO 270
N260 IF #8060 <> 0 THEN GOTO 810
M05 (SPINDLE STOP)
N270 G53 G90 G00 X#8050 Y#8051
N271 G53 G90 G01 Z#8052
N280 (M00)
N299 GOTO 900
(--- RUN-> STOP TRANSITION----------------)
N300 IF #8015 <> 3 THEN GOTO 400
N310 M05 (SPINDLE STOP)
G40 G69
N399 GOTO 900
(--- SIM-> RUN TRANSITION -----------------)
N400 IF #8015 <> 4 THEN GOTO 500
N420 G53 G90 G00 Z0.
N425 G43 H#100 (ACTIVATE TOOL LENGTH OFFSET)
N430 IF #8062 <= 0 THEN GOTO 800
M6 T#8062 (GET TOOL)
N440 IF #8060 <> 1 THEN GOTO 450
M03 S#8061 (SPINDLE CW START)
GOTO 470
N450 IF #8060 <> 2 THEN GOTO 460
M04 S#8061 (SPINDLE CCW START)
GOTO 470
N460 IF #8060 <> 0 THEN GOTO 810
M05 (SPINDLE STOP)
N470 G53 G90 G00 X#8050 Y#8051
N480 G53 G01 Z#8052
N499 GOTO 900
(--- STOP-> SIM TRANSITION -----------------)
N500 IF #8015 <> 5 THEN GOTO 900
N510 G53 G90 G00 Z0.
N520 G53 G90 G00 X#8050 Y#8051
N530 (M00)
N550 (M03) (SPINDLE START)
N599 GOTO 900
(--- ALARMS---------------------------------)
N800 ALM 10 (WRONG TOOL COMMAND ALARM)
N805 GOTO 900
N810 ALM 11 (SPINDLE ROTATION COMMAND ALARM)
N815 GOTO 900
N900 G90 G43 H#100
N999 M99 (RETURN)
%
