O9009: Resume Subprogram
When automatic operation is paused by the user, stopped due to an issue, or interrupted by a power failure, the system saves the processed line number and the current positions of the axes. The system can resume from the saved point. To enable this feature, PRM400 parameter must be activated (set to 1). Additionally, the spindle start and stop M codes must be entered into PRM403-PRM405 parameters. When the system detects a request to restart from the midpoint, it applies the G codes from the beginning of the selected program up to the line where the operation should resume. Then, the positions of the axes, along with the selected tool and spindle status, are loaded into variables #8050~#8067, and the O9009.cnc subprogram is called. The O9009 subprogram is dedicated to this operation and cannot be altered. All necessary preparations for starting from the midpoint must be made within the O9009 subprogram.
|
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) % |
