586,062 active members*
4,647 visitors online*
Register for free
Login
IndustryArena Forum > MetalWorking Machines > Haas Machines > Haas Mills > Program transfer "Empty Program"
Results 1 to 10 of 10
  1. #1
    Join Date
    Oct 2014
    Posts
    3

    Post Program transfer "Empty Program"

    I am trying to send a program from my laptop to CNC. I keep getting 2 alarms at once. the first is no program name and the second is program is empty. Gcode was generated with SolidCam.

    Specs:

    CNC: Haas Mini Mill 2001
    Connection Program: Predator DNC
    Baud: 9600
    Data Bits: 8
    Stop Bits: 1
    Parity: None


    These are the settings ive had to use because any other so not talk at all.
    The Longer programs i have give the errors listed and shorter programs do not even register. all programs start and end with % and second line is O1000

  2. #2
    Join Date
    Mar 2010
    Posts
    1852

    Re: Program transfer "Empty Program"

    Once in a while Predator will give me an error of empty program if there are not few blank lines above the beginning of the program. Put 3 or 4 blank lines in and put your cursor on line 1 or 2. For a 2001 mill you should have a 5 number program name. Instead of O1000 it needs to be O10000.

    You settings on Predator needs to match the settings on the mill, so verify both.

    Mike
    Two Haas VF-2's, Haas HA5C, Haas HRT-9, Hardinge CHNC 1, Bother HS-300 Wire EDM, BobCAD V23, BobCAD V28

  3. #3
    Join Date
    Jan 2014
    Posts
    4

    Re: Program transfer "Empty Program"

    If you have your laptop connected directly to the machine's RS-232 port you probably need a 'null' modem cable (RS-232 cable with the transmit and receive wires switched on one end).
    * I think, therefore I thwim *

  4. #4
    Join Date
    Oct 2014
    Posts
    3

    Re: Program transfer "Empty Program"

    I have tried all variations of spaces before the program and it still gives the empty program error and no program name.

    KayakBill, are you saying the send and receive wires are switched in my RS232 cable are switched?

  5. #5
    Join Date
    Jan 2014
    Posts
    4

    Re: Program transfer "Empty Program"

    I'm saying you might need a 'Null-Modem' cable. If you connect a computer's RS-232 port to another computer's RS-232 port you have to have a 'Null-Modem' cable for them to communicate. RS-232 ports were designed to connect to a MODEM so that computers could communicate via telephone. If you bypass the MODEM, you have to use a 'Null-Modem' cable, which is a RS-232 cable that has the transmit and receive wires switched on one end. These can be purchased anywhere that has computer supplies (Office Depot, OfficeMax, etc.) If you are not connected via your laptops RS-232 port to your CNC's RS-232 port than this would not apply to your circumstance.
    * I think, therefore I thwim *

  6. #6
    Join Date
    Oct 2014
    Posts
    3

    Re: Program transfer "Empty Program"

    I am using a USB to serial adapter.

  7. #7
    Join Date
    Feb 2010
    Posts
    1184

    Re: Program transfer "Empty Program"

    Quote Originally Posted by bhuff90 View Post
    I am using a USB to serial adapter.

    Is your serial cable straight through for all pins? meaning pin 1 goes to pin 1 etc.
    If yes, you still need a null modem. Look up RS232 connections in your manual, it's detailed there.

  8. #8
    Join Date
    Oct 2009
    Posts
    19

    Re: Program transfer "Empty Program"

    I will have a look at my machine tomorrow just check so try f4 scroll down and click transfer file from main prog to usb, I just write progs straight onto the usb stick on my laptop with notepad.
    I have some prog examples for you to copy & paste. "sadly in metric hope you can cope"





    %
    O99999 (MILL PROGRAM EXAMPLES)

    (TO SEARCH WHAT YOUR LOOKING OR TYPE IN)
    (THE RELEVANT N NUMBER THEN PRESS THE CURSOR)
    (DOWN KEY)

    (N1=SAFETY START LINE) (G40,G80,G00,ETC)
    (N2=WORK OFFSET) (G54,G55,ETC)
    (N3=TOOL CALL) (M6 T1,ETC)
    (N4=SPINDLE COMMANDS) (M03,M04,M05)
    (N5=CUTTER COMENSATION) (G40,G41,G42)
    (N6=DRILLING CYCLES) (G81,G82,G83,G73)
    (N7=BORING CYCLES) (G85,G86,G89, G76)
    (N8=TAPPING CYCLE) (G84, ETC)
    (N9=HOLE PATTERN CYCLES) (G70,G71,G72)
    (N10=CIRCULAR POCKET MILLING) (G12,G13)
    (N11GENERAL POCKET MILLING) (G150)
    (N12=ENGRAVING CYCLE) (G47P0, G47P1)
    (N13=EXAMPLE CUTTER COMP. PROGRAMS)
    (N19=COOLANT COMMANDS) (M08,M09,ETC)
    (N23=END OF PROGRAM EXAMPLE)
    (N24=VARIOUS OTHER COMMANDS)
    (N26=SUB PROGRAM CALLS) (M97,M98)
    (N28=,C AND ,R EXPLANATION)

    N1 (*******************************)

    (SAFETY START LINE)
    (G90=ABSOLUTE CO-ORDINATE PROGRAMMNING)
    (G00=RAPID LINEAR COMMAND)
    (G40=CUTTER COMPENSATION CANCEL)
    (G80=CANNED CYCLE CANCEL)
    (G98=INITIAL POINT RETURN)
    (G17=MILL MODE)
    (G21=METRIC)

    (SAFETY START LINE)
    G90 G00 G40 G80 G98 G17 G21

    N2 (*******************************)

    (WORK OFFSET)
    (WORK OFFSETS ARE USED TO SHIFT)
    (ALL TOOLS A UNIFORM AMOUNT)
    (G54-G59) (G110-G129) (G154P1-G154P99)

    (WORK OFFSET)
    G90 G00 G54

    N3 (*******************************)

    (TOOL CHANGE SEQUENCE)
    (M09=COOLANT OFF)
    (G53 Z0=USING THE MACHINES CO-ORDINATE SYSTEM GOTO Z ZERO)
    (M05=STOP SPINDLE)
    (M01=OPTIONAL STOP)
    (T1 M06=TOOLCHANGE TO TOOL 1, CHANGE NUMBER ACCORDING TO TOOL)
    (S1250=SPINDLE SPEED TO RUN TOOL AT)
    (M03=RUN SPINDLE IN A CW DIRECTION)
    (G43=TOOL LENGTH COMPENSATION)
    (H01=MUST ALWAYS BE THE SAME AS TOOL IN USE, LENGTH OFFSET TO LOOK AT)
    (D01=MUST ALWAYS BE THE SAME AS TOOL IN USE, DIAMETER OFFSET TO LOOK AT)
    (M08=COOLANT ON)

    (TOOL CHANGE SEQUENCE)
    G90 G00 M09
    G53 Z0 M05
    M01
    T1 M06
    G90 G00 X0 Y0 S1250 M03
    G43 Z50. H01 D01 M08

    N4 (*******************************)

    (SPINDLE COMMANDS)
    (M0?=SPINDLE DIRECTION OR STOP)
    (SPINDLE SPEED)

    (SPINDLE FORWARD)
    M03 S1000


    (SPINDLE REVERSE)
    M04 S1000


    (SPINDLE STOP)
    M05

    N5 (*******************************)

    (CUTTER COMPENSATION COMMANDS)

    (CUTTER COMP LEFT)
    G41


    (CUTTER COMP RIGHT)
    G42


    (CUTTER COMP OFF)
    G40

    N6 (*******************************)

    (DRILLING CYCLES)


    (G81 DRILLING CYCLE)
    (FEED IN, RAPID RETRACT TO R)
    (G98=INITIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDRATE)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G81 DRILLING CYCLE)
    G81 G98 Z-12. R3. F80. L0
    (ENTER HOLE POSITIONS)


    (G82 DRILLING CYCLE)
    (FEED IN, DWELL, RAPID RETRACT TO R)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G82 DRILLING CYCLE)
    G82 G98 Z-2. R3. F80. P0.2 L0
    (ENTER HOLE POSITIONS)


    (G83 WITH Q DRILLING CYCLE)
    (PECK DRILL, RAPID RETRACT TO R EVERY Q)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (Q=DEPTH OF EACH CUT/PECK)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G83 DRILLING CYCLE WITH Q)
    G83 G98 Z-60. R3. Q6. F80. P0. L0
    (ENTER HOLE POSITIONS)


    (G83 WITH I,J&K DRILLING CYCLE)
    (PECK DRILL, WITH CUT DEPTH REDUCING)
    (WITH RAPID RETRACT TO R EVERY PECK)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (I=DEPTH OF FIRST CUT/PECK)
    (J=REDUCE I BY THIS EVERY CUT/PECK)
    (K=MINIMUM CUT/PECK DEPTH)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G83 DRILLING CYCLE WITH I,J & K)
    G83 G98 Z-60. R3. I15. J5. K5. F80. P0. L0
    (ENTER HOLE POSITIONS)


    (G73 WITH Q DRILLING CYCLE)
    (PECK DRILL, RAPID RETRACT 0.5 EVERY Q)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (Q=DEPTH OF EACH CUT/PECK)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G73 DRILLING CYCLE WITH Q)
    G73 G98 Z-25. R3. Q5. F80. P0. L0
    (ENTER HOLE POSITIONS)


    (G73 WITH I,J&K DRILLING CYCLE)
    (PECK DRILL, WITH CUT DEPTH REDUCING)
    (WITH RAPID RETRACT 0.5 EVERY PECK)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (I=DEPTH OF FIRST CUT/PECK)
    (J=REDUCE I BY THIS EVERY CUT/PECK)
    (K=MINIMUM CUT/PECK DEPTH)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G73 DRILLING CYCLE WITH I,J & K)
    G73 G98 Z-25. R3. I15. J3. K3. F80. P0. L0
    (ENTER HOLE POSITIONS)


    (G73 WITH Q&K DRILLING CYCLE)
    (PECK DRILL, RAPID RETRACT 0.5 EVERY Q)
    (WITH RAPID RETRACT TO R EVERY K)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETARCT/RAPID TO POSITION)
    (Q=DEPTH OF EACH CUT/PECK)
    (K=RAPID RETRACT TO R EVERY)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G73 DRILLING CYCLE WITH Q & K)
    G73 G98 Z-60. R3. Q6. K18. F80. P0. L0
    (ENTER HOLE POSITIONS)


    (CANNED CYCLE CANCEL)
    G80

    N7 (*******************************)

    (BORING CYCLES)


    (G85 BORING CYCLE)
    (FEED IN, FEED OUT TO R)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDRATE)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G85 BORING CYCLE)
    G85 G98 Z-30. R3. F80. L0
    (ENTER HOLE POSITIONS)


    (G86 BORING CYCLE)
    (FEED IN, SPINDLE STOP)
    (THEN RAPID RETRACT TO R)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDREATE)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G86 BORING CYCLE)
    G86 G98 Z-30. R3. F80. L0
    (ENTER HOLE POSITIONS)


    (G87 BORING CYCLE)
    (FEED IN, STOP SPINDLE, MANUAL RETRACT)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDREATE)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G87 BORING CYCLE)
    G87 G98 Z-30. R3. F80. L0
    (ONCE BORE REACHES THE BOTTOM THE SPINDLE)
    (WILL STOP AND THE MACHINE WILL HAVE TO)
    (MANUALLY BE JOGGED OUT OF THE HOLE)
    (THEN CYCLE START WILL NEED TO BE PRESSED IN)
    (ORDER FOR THE PROGRAM TO CONTINUE)
    (ENTER HOLE POSITIONS)


    (G88 BORING CYCLE)
    (FEED IN, DWELL, MANUAL RETRACT)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (F=FEEDREATE)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G88 BORING CYCLE)
    G88 G98 Z-30. R3. P1. F80. L0
    (ONCE BORE REACHES THE BOTTOM THE SPINDLE)
    (WILL STOP AND THE MACHINE WILL HAVE TO)
    (MANUALLY BE JOGGED OUT OF THE HOLE)
    (THEN CYCLE START WILL NEED TO BE PRESSED IN)
    (ORDER FOR THE PROGRAM TO CONTINUE)
    (ENTER HOLE POSITIONS)


    (G89 BORING CYCLE)
    (FEED IN, DWELL, FEED OUT TO R)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (F=FEEDRATE)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G89 BORING CYCLE)
    G89 G98 Z-30. R3. P1. F80. L0
    (ENTER HOLE POSITIONS)


    (G76 FINE BORING CYCLE)
    (FEED IN, ORIENTATE SPINDLE)
    (SHIFT OFF BORE, RAPID RETRACT TO R)
    (SETTING 27=SHIFT DIRECTION)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (Q=SHIFT AMOUNT)
    (F=FEEDRATE)
    (I=SHIFT VALUE IN X BEFORE RETRACTING IF Q NOT SET)
    (J=SHIFT VALUE IN Y BEFORE RETRACTING IF Q NOT SET)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G76 BORING CYCLE)
    G76 G98 Z-30. R3. Q0.5 F80. P0. L0
    (ENTER HOLE POSITIONS)


    (G77 BACK BORING CYCLE)
    (FEED IN, ORIENTATE SPINDLE)
    (SHIFT OFF BORE, RAPID RETRACT TO R)
    (SETTING 27=SHIFT DIRECTION)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (Q=SHIFT AMOUNT)
    (F=FEEDRATE)
    (I=SHIFT VALUE IN X BEFORE RETRACTING IF Q NOT SET)
    (J=SHIFT VALUE IN Y BEFORE RETRACTING IF Q NOT SET)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G77 BORING CYCLE)
    G77 G98 Z-30. R3. Q0.5 F80. P0. L0


    (CANNED CYCLE CANCEL)
    G80

    N8 (*******************************)

    (TAPPING CYCLE)
    (INSERT J2-J9 TO RETRACT)
    (2-9 TIMES FASTER)
    (FOR L/H TAPPING CHANGE TO G74)
    (S=RPM TO TAP AT)
    (G98=INTIAL POINT RETURN)
    (Z=TAP DEPTH)
    (R=RETRACT/RAPID TO POSITION, PITCHx3)
    (F=FEEDRATE,PITCHxRPM)
    (J=TAP RETRACT SPEED)
    (L0=DON'T TAP AT PRESENT POSITION)

    (TAPPING CYCLE)
    S700 M05
    G84 G98 Z-10. R5. F700. J1 L0
    (ENTER HOLE POSITIONS)


    (CANNED CYCLE CANCEL)
    G80

    N9 (*******************************)

    (HOLE PATTERN CYCLES)
    (PROGRAM THE MACHINE TO THE X Y)
    (POSITION OF THE BOLT CIRCLE)
    (CENTER OR START OF ANGLE LINE)


    (BOLT HOLE CIRCLE)
    (I=RADIUS OF PCD)
    (J=START ANGLE, 0 IS AT 3 O'CLOCK)
    (L=NUMBER OF HOLES REQUIRED)

    (BOLT HOLE CIRCLE)
    G70 I40. J90. L8


    (BOLT HOLE ARC)
    (I=RADIUS OF PCD)
    (J=START ANGLE,0 IS AT 3 O'CLOCK)
    (K=ANGLE BETWEEN EACH HOLE)
    (L=NUMBER OF HOLES REQUIRED)

    (BOLT HOLE ARC)
    G71 I40. J45. K22.5 L4


    (HOLES ALONG AN ANGLE)
    (I=DISTANCE BETWEEN EACH HOLE)
    (J=ANGLE OF LINE,0 IS AT 3 O'CLOCK)
    (L=NUMBER OF HOLES REQUIRED)

    (HOLES ALONG AN ANGLE)
    G72 I20. J30. L6

    (CANNED CYCLE CANCEL)
    G80

    N10 (*******************************)

    (CIRCULAR POCKET MILLING)


    (ROUGH CIRCULAR POCKET CCW)
    (Z=POCKET DEPTH)
    (I=FIRST CIRCLE RADIUS)
    (K=RADIUS OF POCKET REQUIRED)
    (Q=CUTTER STEPOVER AMOUNT)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)


    (ROUGH CIRCULAR POCKET CCW)
    G00 Z3. (SAFE RAPID TO POSITION)
    G13 Z-6. I12. K40. Q12. D01 F250.
    G00 Z50. (SAFE RAPID TO POSITION)


    (ROUGH CIRCULAR POCKET CW)
    (Z=POCKET DEPTH)
    (I=FIRST CIRCLE RADIUS)
    (K=RADIUS OF POCKET REQUIRED)
    (Q=CUTTER STEPOVER AMOUNT)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)

    (ROUGH CIRCULAR POCKET CW)
    G00 Z3. (SAFE RAPID TO POSTION)
    G12 Z-6. I12. K40. Q12. D01 F250.
    G00 Z50. (SAFE RAPID TO POSITION)


    (ROUGH CIRCULAR POCKET CCW STEP DOWN)
    (G91=INCREMENTAL MOVEMENT)
    (Z=DEPTH OF EACH CUT/PASS)
    (I=FIRST CIRCLE RADIUS)
    (K=RADIUS OF POCKET REQUIRED)
    (Q=CUTTER STEPOVER AMOUNT)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)
    (L=NUMBER OF CUTS/PASSES TO TAKE)
    (ZxL=POCKET DEPTH)

    (ROUGH CIRCULAR POCKET CCW WITH STEP DOWN)
    G00 Z3. (SAFE RAPID TO POSITION)
    G01 Z0. F700. (FEED DOWN TO TOP OF POCKET)
    G13 G91 Z-6. I12. K40. Q12. D01 F250. L3
    G90 G00 Z50. (ABSOLUTE SAFE RAPID MOVE)


    (ROUGH CIRCULAR POCKET CW STEP DOWN)

    (G91=INCREMENTAL MOVEMENT)
    (Z=DEPTH OF EACH CUT/PASS)
    (I=FIRST CIRCLE RADIUS)
    (K=RADIUS OF POCKET REQUIRED)
    (Q=CUTTER STEPOVER AMOUNT)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)
    (L=NUMBER OF CUTS/PASSES TO TAKE)
    (ZxL=POCKET DEPTH)

    (ROUGH CIRCULAR POCKET CW WITH STEP DOWN)
    G00 Z3. (SAFE RAPID TO POSITION)
    G01 Z0. F700. (FEED DOWN TO TOP OF POCKET)
    G12 G91 Z-6. I12. K40. Q12. D01 F250. L3
    G90 G00 Z50. (ABSOLUTE SAFE RAPID MOVE)


    (FINISH CIRCULAR POCKET CCW)

    (Z=POCKET DEPTH)
    (I=RADIUS OF POCKET REQUIRED)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)

    (FINISH CIRCULAR POCKET CCW)
    G00 Z3. (SAFE RAPID TO POSITION)
    G13 Z-6. I40. D01 F250.
    G00 Z50. (SAFE RAPID TO POSITION)


    (FINISH CIRCULAR POCKET CW)
    G00 Z3. (SAFE RAPID TO POSITION)
    (Z=POCKET DEPTH)
    (I=RADIUS OF POCKET REQUIRED)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)

    (FINISH CIRCULAR POCKET CW)
    G00 Z3. (SAFE RAPID TO POSITION)
    G12 Z-6. I40. D01 F250.
    G00 Z50. (SAFE RAPID TO POSITION)

    N11 (*******************************)

    (GENERAL PURPOSES POCKET MILLING)
    (CREATE POCKET PROFILE AS A PROGRAM)

    (G150 CYCLE)
    (X=START POSITION OF CUTTER IN X)
    (Y=START POSITION OF CUTTER IN Y)
    (Z=DEPTH OF POCKET REQUIRED)
    (F=FEEDRATE)
    (R=RETRACT/RAPID TO POSITION)
    (Q=DEPTH OF EACH CUT/PASS)
    (I=X AXIS CUTTER STEPOVER AMOUNT)
    (J=Y AXIS CUTTER STEPOVER AMOUNT)
    (K=MATERIAL TO LEAVE FOR FINISH CUT/PASS)
    (P=PROGRAM NUMBER WHERE PROFILE IS SAVED)
    (D=TOOL NUMBER USING)
    (DELETE I OR J IN THE LINE BELOW)
    (DEPENDING ON WHAT WAY THE)
    (CUTTER IS GOING, I=X & J=Y)
    (DELETE G41 OR G42 IN THE LINE BELOW)
    (DEPENDING ON WHAT WAY THE)
    (CUTTER IS GOING, G41=LEFT & G42=RIGHT)

    (POCKET MILLING)
    G00 Z3. (SAFE RAPID TO POSITION)
    G150 X0 Y0 Z0 F0 R0 Q0 I0 J0 K0 P0 D01 G41 G42
    G00 G40 Z50. (CUTTER COMP OFF, SAFE RAPID TO POSITION)

    N12 (*******************************)

    (ENGRAVING CYCLES)

    (LITERAL STRING ENGRAVING CYCLE)
    (TEXT TO ENGRAVE WITHIN BRACKETS)
    (I=ANGLE OF ROTATION TO ENGRAVE ON)
    (J=SCALING FACTOR, SIZE OF ENGRAVING)
    (X=START POSITION OF ENGRAVING IN X)
    (Y=START POSITION OF ENGRAVING IN Y)
    (Z=ENGRAVING DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDRATE WHILE ENGRAVING)
    (E=FEEDRATE WHILE PLUNGING IN)
    G47 P0 (TEXT TO ENGRAVE) I0. J5. X0 Y0 Z-0.2 R1. F200. E50.


    (SEQUENTIAL NUMBER ENGRAVING CYCLE)
    (TEXT TO ENGRAVE WITHIN BRACKETS)
    (I=ANGLE OF ROTATION TO ENGRAVE ON)
    (J=SCALING FACTOR, SIZE OF ENGRAVING)
    (X=START POSITION OF ENGRAVING IN X)
    (Y=START POSITION OF ENGRAVING IN Y)
    (Z=ENGRAVING DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDRATE WHILE ENGRAVING)
    (E=FEEDRATE WHILE PLUNGING IN)
    G47 P1 (SERIAL No. ####) I0 J5. X0 Y0 Z-0.2 R1. F200. E50.

    N13 (*******************************)

    (EXAMPLE PROGRAMMING USING CUTTER COMP)

    (Y AXIS SLOT)
    G00 Z3.
    G01 Z-6. F200.
    G91
    G01 Y40. F300.
    G41 X5. D01
    (D## MUST MATCH CURRENT TOOL)
    (ENTER CUTTER RADIUS IN CURRENT D OFFSET)
    G03 X-10. R5.
    G01 Y-40.
    G03 X10. R5.
    G01 Y40.
    G01 G40 X-5.
    G90 G00 Z50.


    (X AXIS SLOT)
    G01 Z-6. F200.
    G91
    G01 X40. F300.
    G01 G41 Y-5. D01
    (D## MUST MATCH CURRENT TOOL)
    (ENTER CUTTER RADIUS IN CURRENT D OFFSET)
    G03 Y10. R5.
    G01 X-40.
    G03 Y-10. R5.
    G01 X40.
    G01 G40 Y5.
    G90 G00 Z50.


    (25 DIAMETER ROUND BOSS)
    G91 G00 X-10. Y30.
    G01 G90 Z-12. F250.
    G91 G01 G41 Y-17.5 D01
    (D## MUST MATCH CURRENT TOOL)
    (ENTER CUTTER RADIUS IN CURRENT D OFFSET)
    G01 X10.
    G02 J-12.5
    G01 X5.
    G01 G40 Y17.5
    G90 G00 Z50.


    (25 SQUARE BOSS)
    G91 G00 X-20. Y30.
    G01 G90 Z-12. F250.
    G91 G01 G41 Y-17.5 D01
    (D## MUST MATCH CURRENT TOOL)
    (ENTER CUTTER RADIUS IN CURRENT D OFFSET)
    G01 X32.5
    G01 Y-25.
    G01 X-25.
    G01 Y30.
    G01 G40 X-17.5
    G90 G00 Z50.


    (25.0 A/F HEX BOSS)
    G91 G00 X-15. Y30.
    G01 G90 Z-12. F250.
    G91 G01 G41 Y-17.5 D01
    (D## MUST MATCH CURRENT TOOL)
    (ENTER CUTTER RADIUS IN CURRENT D OFFSET)
    G01 X22.217
    G01 X7.217 Y-12.5
    G01 X-7.217 Y-12.5
    G01 X-14.434
    G01 X-7.217 Y12.5
    G01 X7.217 Y12.5
    G01 X3.
    G01 G40 Y17.5
    G90 G00 Z50.

    N19 (******************************)

    (COOLANT COMMANDS)

    (COOLANT ON)
    M08


    (COOLANT OFF)
    M09


    N23 (******************************)

    (END OF PROGRAM EXAMPLES)

    (LOAD/UNLOAD POSITION)
    G90 G00 M09
    G53 Z0 M05
    G53 X-204.2 Y0
    M30


    (HOME Z AXIS)
    G90 G00 M09
    G53 Z0 M05
    M01
    M30


    (HOME Y AND Z AXIS)
    G90 G00 M09
    G53 Z0 M05
    G53 Y0
    M01
    M30


    (END PROGRAM/RESET TO BEGINNING)
    M30


    (END PROGRAM)
    M02


    (REPEAT PROGRAM)
    M99

    N24 (******************************)

    (VARIOUS COMMANDS)


    (DWELL)
    (P=DWELL TIME 1.=1 SECOND)
    G04 P5.


    (CANNED CYCLE INITIAL POINT RETURN)
    G98


    (CANNED CYCLE R PLANE RETURN)
    G99


    (ABSOLUTE PROGRAMMING)
    G90


    (INCREMENTAL PROGRAMMING)
    G91


    (STOP PROGRAM W/O RESET)
    M00


    (OPTIONAL STOP W/O RESET)
    M01


    (GOTO BLOCK)
    (BLOCK No. N???? MUST BE IN PROGRAM)
    M99 P1234

    N26 (*******************************)

    (SUB PROGRAM CALLS)

    (LOCAL SUB PROGRAM CALL)
    (P=LOOK FOR LINE NUMBER IN CURRENT PROGRAM)
    M97 P1234


    (LOCAL SUBPROGRAM)
    (PLACE AFTER M30)
    (N=LINE NUMBER M97 IS LOOKING FOR)
    (M99=LEAVE SUB PROGRAM AND GO BACK TO MAIN PROGRAM)
    N1234
    (ENTER PROGRAM HERE)
    M99


    (EXTERNAL SUB PROGRAM CALL)
    (P=PROGRAM NUMBER TO LOOK IN MACHINE MEMORY)
    M98 P1234

    N28 (*******************************)

    (AUTOMATIC CHAMFER & RADIUS INFO)

    (AUTO RADIUS)
    (FOR AUTO RADIUS)
    (INSERT SHIFT,R AND AMOUNT)
    (ON THE END OF A G01 LINE)
    (THERE MUST BE A SUBSEQUENT)
    (MOVE FOR CALCULATION)


    (AUTO CHAMFER)
    (FOR AUTO CHAMFER)
    (INSERT SHIFT,C AND AMOUNT)
    (ON THE END OF A G01 LINE)
    (THERE MUST BE A SUBSEQUENT)
    (MOVE FOR CALCULATION)
    %

  9. #9
    Join Date
    Feb 2008
    Posts
    586

    Re: Program transfer "Empty Program"

    My DNC program is set up to send the % before and after the program. If I send a program with a % already in it, I get the empty program alarm. Try sending without the %.

  10. #10
    Join Date
    Mar 2010
    Posts
    1852

    Re: Program transfer "Empty Program"


    What in the world is all this?


    Quote Originally Posted by philippritchard View Post
    I will have a look at my machine tomorrow just check so try f4 scroll down and click transfer file from main prog to usb, I just write progs straight onto the usb stick on my laptop with notepad.
    I have some prog examples for you to copy & paste. "sadly in metric hope you can cope"




    %
    O99999 (MILL PROGRAM EXAMPLES)

    (TO SEARCH WHAT YOUR LOOKING OR TYPE IN)
    (THE RELEVANT N NUMBER THEN PRESS THE CURSOR)
    (DOWN KEY)

    (N1=SAFETY START LINE) (G40,G80,G00,ETC)
    (N2=WORK OFFSET) (G54,G55,ETC)
    (N3=TOOL CALL) (M6 T1,ETC)
    (N4=SPINDLE COMMANDS) (M03,M04,M05)
    (N5=CUTTER COMENSATION) (G40,G41,G42)
    (N6=DRILLING CYCLES) (G81,G82,G83,G73)
    (N7=BORING CYCLES) (G85,G86,G89, G76)
    (N8=TAPPING CYCLE) (G84, ETC)
    (N9=HOLE PATTERN CYCLES) (G70,G71,G72)
    (N10=CIRCULAR POCKET MILLING) (G12,G13)
    (N11GENERAL POCKET MILLING) (G150)
    (N12=ENGRAVING CYCLE) (G47P0, G47P1)
    (N13=EXAMPLE CUTTER COMP. PROGRAMS)
    (N19=COOLANT COMMANDS) (M08,M09,ETC)
    (N23=END OF PROGRAM EXAMPLE)
    (N24=VARIOUS OTHER COMMANDS)
    (N26=SUB PROGRAM CALLS) (M97,M98)
    (N28=,C AND ,R EXPLANATION)

    N1 (*******************************)

    (SAFETY START LINE)
    (G90=ABSOLUTE CO-ORDINATE PROGRAMMNING)
    (G00=RAPID LINEAR COMMAND)
    (G40=CUTTER COMPENSATION CANCEL)
    (G80=CANNED CYCLE CANCEL)
    (G98=INITIAL POINT RETURN)
    (G17=MILL MODE)
    (G21=METRIC)

    (SAFETY START LINE)
    G90 G00 G40 G80 G98 G17 G21

    N2 (*******************************)

    (WORK OFFSET)
    (WORK OFFSETS ARE USED TO SHIFT)
    (ALL TOOLS A UNIFORM AMOUNT)
    (G54-G59) (G110-G129) (G154P1-G154P99)

    (WORK OFFSET)
    G90 G00 G54

    N3 (*******************************)

    (TOOL CHANGE SEQUENCE)
    (M09=COOLANT OFF)
    (G53 Z0=USING THE MACHINES CO-ORDINATE SYSTEM GOTO Z ZERO)
    (M05=STOP SPINDLE)
    (M01=OPTIONAL STOP)
    (T1 M06=TOOLCHANGE TO TOOL 1, CHANGE NUMBER ACCORDING TO TOOL)
    (S1250=SPINDLE SPEED TO RUN TOOL AT)
    (M03=RUN SPINDLE IN A CW DIRECTION)
    (G43=TOOL LENGTH COMPENSATION)
    (H01=MUST ALWAYS BE THE SAME AS TOOL IN USE, LENGTH OFFSET TO LOOK AT)
    (D01=MUST ALWAYS BE THE SAME AS TOOL IN USE, DIAMETER OFFSET TO LOOK AT)
    (M08=COOLANT ON)

    (TOOL CHANGE SEQUENCE)
    G90 G00 M09
    G53 Z0 M05
    M01
    T1 M06
    G90 G00 X0 Y0 S1250 M03
    G43 Z50. H01 D01 M08

    N4 (*******************************)

    (SPINDLE COMMANDS)
    (M0?=SPINDLE DIRECTION OR STOP)
    (SPINDLE SPEED)

    (SPINDLE FORWARD)
    M03 S1000


    (SPINDLE REVERSE)
    M04 S1000


    (SPINDLE STOP)
    M05

    N5 (*******************************)

    (CUTTER COMPENSATION COMMANDS)

    (CUTTER COMP LEFT)
    G41


    (CUTTER COMP RIGHT)
    G42


    (CUTTER COMP OFF)
    G40

    N6 (*******************************)

    (DRILLING CYCLES)


    (G81 DRILLING CYCLE)
    (FEED IN, RAPID RETRACT TO R)
    (G98=INITIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDRATE)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G81 DRILLING CYCLE)
    G81 G98 Z-12. R3. F80. L0
    (ENTER HOLE POSITIONS)


    (G82 DRILLING CYCLE)
    (FEED IN, DWELL, RAPID RETRACT TO R)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G82 DRILLING CYCLE)
    G82 G98 Z-2. R3. F80. P0.2 L0
    (ENTER HOLE POSITIONS)


    (G83 WITH Q DRILLING CYCLE)
    (PECK DRILL, RAPID RETRACT TO R EVERY Q)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (Q=DEPTH OF EACH CUT/PECK)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G83 DRILLING CYCLE WITH Q)
    G83 G98 Z-60. R3. Q6. F80. P0. L0
    (ENTER HOLE POSITIONS)


    (G83 WITH I,J&K DRILLING CYCLE)
    (PECK DRILL, WITH CUT DEPTH REDUCING)
    (WITH RAPID RETRACT TO R EVERY PECK)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (I=DEPTH OF FIRST CUT/PECK)
    (J=REDUCE I BY THIS EVERY CUT/PECK)
    (K=MINIMUM CUT/PECK DEPTH)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G83 DRILLING CYCLE WITH I,J & K)
    G83 G98 Z-60. R3. I15. J5. K5. F80. P0. L0
    (ENTER HOLE POSITIONS)


    (G73 WITH Q DRILLING CYCLE)
    (PECK DRILL, RAPID RETRACT 0.5 EVERY Q)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (Q=DEPTH OF EACH CUT/PECK)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G73 DRILLING CYCLE WITH Q)
    G73 G98 Z-25. R3. Q5. F80. P0. L0
    (ENTER HOLE POSITIONS)


    (G73 WITH I,J&K DRILLING CYCLE)
    (PECK DRILL, WITH CUT DEPTH REDUCING)
    (WITH RAPID RETRACT 0.5 EVERY PECK)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (I=DEPTH OF FIRST CUT/PECK)
    (J=REDUCE I BY THIS EVERY CUT/PECK)
    (K=MINIMUM CUT/PECK DEPTH)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G73 DRILLING CYCLE WITH I,J & K)
    G73 G98 Z-25. R3. I15. J3. K3. F80. P0. L0
    (ENTER HOLE POSITIONS)


    (G73 WITH Q&K DRILLING CYCLE)
    (PECK DRILL, RAPID RETRACT 0.5 EVERY Q)
    (WITH RAPID RETRACT TO R EVERY K)
    (G98=INTIAL POINT RETURN)
    (Z=DRILL DEPTH)
    (R=RETARCT/RAPID TO POSITION)
    (Q=DEPTH OF EACH CUT/PECK)
    (K=RAPID RETRACT TO R EVERY)
    (F=FEEDRATE)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T DRILL AT PRESENT POSITION)

    (G73 DRILLING CYCLE WITH Q & K)
    G73 G98 Z-60. R3. Q6. K18. F80. P0. L0
    (ENTER HOLE POSITIONS)


    (CANNED CYCLE CANCEL)
    G80

    N7 (*******************************)

    (BORING CYCLES)


    (G85 BORING CYCLE)
    (FEED IN, FEED OUT TO R)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDRATE)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G85 BORING CYCLE)
    G85 G98 Z-30. R3. F80. L0
    (ENTER HOLE POSITIONS)


    (G86 BORING CYCLE)
    (FEED IN, SPINDLE STOP)
    (THEN RAPID RETRACT TO R)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDREATE)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G86 BORING CYCLE)
    G86 G98 Z-30. R3. F80. L0
    (ENTER HOLE POSITIONS)


    (G87 BORING CYCLE)
    (FEED IN, STOP SPINDLE, MANUAL RETRACT)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDREATE)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G87 BORING CYCLE)
    G87 G98 Z-30. R3. F80. L0
    (ONCE BORE REACHES THE BOTTOM THE SPINDLE)
    (WILL STOP AND THE MACHINE WILL HAVE TO)
    (MANUALLY BE JOGGED OUT OF THE HOLE)
    (THEN CYCLE START WILL NEED TO BE PRESSED IN)
    (ORDER FOR THE PROGRAM TO CONTINUE)
    (ENTER HOLE POSITIONS)


    (G88 BORING CYCLE)
    (FEED IN, DWELL, MANUAL RETRACT)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (F=FEEDREATE)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G88 BORING CYCLE)
    G88 G98 Z-30. R3. P1. F80. L0
    (ONCE BORE REACHES THE BOTTOM THE SPINDLE)
    (WILL STOP AND THE MACHINE WILL HAVE TO)
    (MANUALLY BE JOGGED OUT OF THE HOLE)
    (THEN CYCLE START WILL NEED TO BE PRESSED IN)
    (ORDER FOR THE PROGRAM TO CONTINUE)
    (ENTER HOLE POSITIONS)


    (G89 BORING CYCLE)
    (FEED IN, DWELL, FEED OUT TO R)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (F=FEEDRATE)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G89 BORING CYCLE)
    G89 G98 Z-30. R3. P1. F80. L0
    (ENTER HOLE POSITIONS)


    (G76 FINE BORING CYCLE)
    (FEED IN, ORIENTATE SPINDLE)
    (SHIFT OFF BORE, RAPID RETRACT TO R)
    (SETTING 27=SHIFT DIRECTION)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (Q=SHIFT AMOUNT)
    (F=FEEDRATE)
    (I=SHIFT VALUE IN X BEFORE RETRACTING IF Q NOT SET)
    (J=SHIFT VALUE IN Y BEFORE RETRACTING IF Q NOT SET)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G76 BORING CYCLE)
    G76 G98 Z-30. R3. Q0.5 F80. P0. L0
    (ENTER HOLE POSITIONS)


    (G77 BACK BORING CYCLE)
    (FEED IN, ORIENTATE SPINDLE)
    (SHIFT OFF BORE, RAPID RETRACT TO R)
    (SETTING 27=SHIFT DIRECTION)
    (G98=INTIAL POINT RETURN)
    (Z=BORE DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (Q=SHIFT AMOUNT)
    (F=FEEDRATE)
    (I=SHIFT VALUE IN X BEFORE RETRACTING IF Q NOT SET)
    (J=SHIFT VALUE IN Y BEFORE RETRACTING IF Q NOT SET)
    (P=DWELL TIME AT BOTTOM, 1.=1 SECOND)
    (L0=DON'T BORE AT PRESENT POSITION)

    (G77 BORING CYCLE)
    G77 G98 Z-30. R3. Q0.5 F80. P0. L0


    (CANNED CYCLE CANCEL)
    G80

    N8 (*******************************)

    (TAPPING CYCLE)
    (INSERT J2-J9 TO RETRACT)
    (2-9 TIMES FASTER)
    (FOR L/H TAPPING CHANGE TO G74)
    (S=RPM TO TAP AT)
    (G98=INTIAL POINT RETURN)
    (Z=TAP DEPTH)
    (R=RETRACT/RAPID TO POSITION, PITCHx3)
    (F=FEEDRATE,PITCHxRPM)
    (J=TAP RETRACT SPEED)
    (L0=DON'T TAP AT PRESENT POSITION)

    (TAPPING CYCLE)
    S700 M05
    G84 G98 Z-10. R5. F700. J1 L0
    (ENTER HOLE POSITIONS)


    (CANNED CYCLE CANCEL)
    G80

    N9 (*******************************)

    (HOLE PATTERN CYCLES)
    (PROGRAM THE MACHINE TO THE X Y)
    (POSITION OF THE BOLT CIRCLE)
    (CENTER OR START OF ANGLE LINE)


    (BOLT HOLE CIRCLE)
    (I=RADIUS OF PCD)
    (J=START ANGLE, 0 IS AT 3 O'CLOCK)
    (L=NUMBER OF HOLES REQUIRED)

    (BOLT HOLE CIRCLE)
    G70 I40. J90. L8


    (BOLT HOLE ARC)
    (I=RADIUS OF PCD)
    (J=START ANGLE,0 IS AT 3 O'CLOCK)
    (K=ANGLE BETWEEN EACH HOLE)
    (L=NUMBER OF HOLES REQUIRED)

    (BOLT HOLE ARC)
    G71 I40. J45. K22.5 L4


    (HOLES ALONG AN ANGLE)
    (I=DISTANCE BETWEEN EACH HOLE)
    (J=ANGLE OF LINE,0 IS AT 3 O'CLOCK)
    (L=NUMBER OF HOLES REQUIRED)

    (HOLES ALONG AN ANGLE)
    G72 I20. J30. L6

    (CANNED CYCLE CANCEL)
    G80

    N10 (*******************************)

    (CIRCULAR POCKET MILLING)


    (ROUGH CIRCULAR POCKET CCW)
    (Z=POCKET DEPTH)
    (I=FIRST CIRCLE RADIUS)
    (K=RADIUS OF POCKET REQUIRED)
    (Q=CUTTER STEPOVER AMOUNT)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)


    (ROUGH CIRCULAR POCKET CCW)
    G00 Z3. (SAFE RAPID TO POSITION)
    G13 Z-6. I12. K40. Q12. D01 F250.
    G00 Z50. (SAFE RAPID TO POSITION)


    (ROUGH CIRCULAR POCKET CW)
    (Z=POCKET DEPTH)
    (I=FIRST CIRCLE RADIUS)
    (K=RADIUS OF POCKET REQUIRED)
    (Q=CUTTER STEPOVER AMOUNT)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)

    (ROUGH CIRCULAR POCKET CW)
    G00 Z3. (SAFE RAPID TO POSTION)
    G12 Z-6. I12. K40. Q12. D01 F250.
    G00 Z50. (SAFE RAPID TO POSITION)


    (ROUGH CIRCULAR POCKET CCW STEP DOWN)
    (G91=INCREMENTAL MOVEMENT)
    (Z=DEPTH OF EACH CUT/PASS)
    (I=FIRST CIRCLE RADIUS)
    (K=RADIUS OF POCKET REQUIRED)
    (Q=CUTTER STEPOVER AMOUNT)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)
    (L=NUMBER OF CUTS/PASSES TO TAKE)
    (ZxL=POCKET DEPTH)

    (ROUGH CIRCULAR POCKET CCW WITH STEP DOWN)
    G00 Z3. (SAFE RAPID TO POSITION)
    G01 Z0. F700. (FEED DOWN TO TOP OF POCKET)
    G13 G91 Z-6. I12. K40. Q12. D01 F250. L3
    G90 G00 Z50. (ABSOLUTE SAFE RAPID MOVE)


    (ROUGH CIRCULAR POCKET CW STEP DOWN)

    (G91=INCREMENTAL MOVEMENT)
    (Z=DEPTH OF EACH CUT/PASS)
    (I=FIRST CIRCLE RADIUS)
    (K=RADIUS OF POCKET REQUIRED)
    (Q=CUTTER STEPOVER AMOUNT)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)
    (L=NUMBER OF CUTS/PASSES TO TAKE)
    (ZxL=POCKET DEPTH)

    (ROUGH CIRCULAR POCKET CW WITH STEP DOWN)
    G00 Z3. (SAFE RAPID TO POSITION)
    G01 Z0. F700. (FEED DOWN TO TOP OF POCKET)
    G12 G91 Z-6. I12. K40. Q12. D01 F250. L3
    G90 G00 Z50. (ABSOLUTE SAFE RAPID MOVE)


    (FINISH CIRCULAR POCKET CCW)

    (Z=POCKET DEPTH)
    (I=RADIUS OF POCKET REQUIRED)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)

    (FINISH CIRCULAR POCKET CCW)
    G00 Z3. (SAFE RAPID TO POSITION)
    G13 Z-6. I40. D01 F250.
    G00 Z50. (SAFE RAPID TO POSITION)


    (FINISH CIRCULAR POCKET CW)
    G00 Z3. (SAFE RAPID TO POSITION)
    (Z=POCKET DEPTH)
    (I=RADIUS OF POCKET REQUIRED)
    (D=TOOL NUMBER USING)
    (F=FEEDRATE)

    (FINISH CIRCULAR POCKET CW)
    G00 Z3. (SAFE RAPID TO POSITION)
    G12 Z-6. I40. D01 F250.
    G00 Z50. (SAFE RAPID TO POSITION)

    N11 (*******************************)

    (GENERAL PURPOSES POCKET MILLING)
    (CREATE POCKET PROFILE AS A PROGRAM)

    (G150 CYCLE)
    (X=START POSITION OF CUTTER IN X)
    (Y=START POSITION OF CUTTER IN Y)
    (Z=DEPTH OF POCKET REQUIRED)
    (F=FEEDRATE)
    (R=RETRACT/RAPID TO POSITION)
    (Q=DEPTH OF EACH CUT/PASS)
    (I=X AXIS CUTTER STEPOVER AMOUNT)
    (J=Y AXIS CUTTER STEPOVER AMOUNT)
    (K=MATERIAL TO LEAVE FOR FINISH CUT/PASS)
    (P=PROGRAM NUMBER WHERE PROFILE IS SAVED)
    (D=TOOL NUMBER USING)
    (DELETE I OR J IN THE LINE BELOW)
    (DEPENDING ON WHAT WAY THE)
    (CUTTER IS GOING, I=X & J=Y)
    (DELETE G41 OR G42 IN THE LINE BELOW)
    (DEPENDING ON WHAT WAY THE)
    (CUTTER IS GOING, G41=LEFT & G42=RIGHT)

    (POCKET MILLING)
    G00 Z3. (SAFE RAPID TO POSITION)
    G150 X0 Y0 Z0 F0 R0 Q0 I0 J0 K0 P0 D01 G41 G42
    G00 G40 Z50. (CUTTER COMP OFF, SAFE RAPID TO POSITION)

    N12 (*******************************)

    (ENGRAVING CYCLES)

    (LITERAL STRING ENGRAVING CYCLE)
    (TEXT TO ENGRAVE WITHIN BRACKETS)
    (I=ANGLE OF ROTATION TO ENGRAVE ON)
    (J=SCALING FACTOR, SIZE OF ENGRAVING)
    (X=START POSITION OF ENGRAVING IN X)
    (Y=START POSITION OF ENGRAVING IN Y)
    (Z=ENGRAVING DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDRATE WHILE ENGRAVING)
    (E=FEEDRATE WHILE PLUNGING IN)
    G47 P0 (TEXT TO ENGRAVE) I0. J5. X0 Y0 Z-0.2 R1. F200. E50.


    (SEQUENTIAL NUMBER ENGRAVING CYCLE)
    (TEXT TO ENGRAVE WITHIN BRACKETS)
    (I=ANGLE OF ROTATION TO ENGRAVE ON)
    (J=SCALING FACTOR, SIZE OF ENGRAVING)
    (X=START POSITION OF ENGRAVING IN X)
    (Y=START POSITION OF ENGRAVING IN Y)
    (Z=ENGRAVING DEPTH)
    (R=RETRACT/RAPID TO POSITION)
    (F=FEEDRATE WHILE ENGRAVING)
    (E=FEEDRATE WHILE PLUNGING IN)
    G47 P1 (SERIAL No. ####) I0 J5. X0 Y0 Z-0.2 R1. F200. E50.

    N13 (*******************************)

    (EXAMPLE PROGRAMMING USING CUTTER COMP)

    (Y AXIS SLOT)
    G00 Z3.
    G01 Z-6. F200.
    G91
    G01 Y40. F300.
    G41 X5. D01
    (D## MUST MATCH CURRENT TOOL)
    (ENTER CUTTER RADIUS IN CURRENT D OFFSET)
    G03 X-10. R5.
    G01 Y-40.
    G03 X10. R5.
    G01 Y40.
    G01 G40 X-5.
    G90 G00 Z50.


    (X AXIS SLOT)
    G01 Z-6. F200.
    G91
    G01 X40. F300.
    G01 G41 Y-5. D01
    (D## MUST MATCH CURRENT TOOL)
    (ENTER CUTTER RADIUS IN CURRENT D OFFSET)
    G03 Y10. R5.
    G01 X-40.
    G03 Y-10. R5.
    G01 X40.
    G01 G40 Y5.
    G90 G00 Z50.


    (25 DIAMETER ROUND BOSS)
    G91 G00 X-10. Y30.
    G01 G90 Z-12. F250.
    G91 G01 G41 Y-17.5 D01
    (D## MUST MATCH CURRENT TOOL)
    (ENTER CUTTER RADIUS IN CURRENT D OFFSET)
    G01 X10.
    G02 J-12.5
    G01 X5.
    G01 G40 Y17.5
    G90 G00 Z50.


    (25 SQUARE BOSS)
    G91 G00 X-20. Y30.
    G01 G90 Z-12. F250.
    G91 G01 G41 Y-17.5 D01
    (D## MUST MATCH CURRENT TOOL)
    (ENTER CUTTER RADIUS IN CURRENT D OFFSET)
    G01 X32.5
    G01 Y-25.
    G01 X-25.
    G01 Y30.
    G01 G40 X-17.5
    G90 G00 Z50.


    (25.0 A/F HEX BOSS)
    G91 G00 X-15. Y30.
    G01 G90 Z-12. F250.
    G91 G01 G41 Y-17.5 D01
    (D## MUST MATCH CURRENT TOOL)
    (ENTER CUTTER RADIUS IN CURRENT D OFFSET)
    G01 X22.217
    G01 X7.217 Y-12.5
    G01 X-7.217 Y-12.5
    G01 X-14.434
    G01 X-7.217 Y12.5
    G01 X7.217 Y12.5
    G01 X3.
    G01 G40 Y17.5
    G90 G00 Z50.

    N19 (******************************)

    (COOLANT COMMANDS)

    (COOLANT ON)
    M08


    (COOLANT OFF)
    M09


    N23 (******************************)

    (END OF PROGRAM EXAMPLES)

    (LOAD/UNLOAD POSITION)
    G90 G00 M09
    G53 Z0 M05
    G53 X-204.2 Y0
    M30


    (HOME Z AXIS)
    G90 G00 M09
    G53 Z0 M05
    M01
    M30


    (HOME Y AND Z AXIS)
    G90 G00 M09
    G53 Z0 M05
    G53 Y0
    M01
    M30


    (END PROGRAM/RESET TO BEGINNING)
    M30


    (END PROGRAM)
    M02


    (REPEAT PROGRAM)
    M99

    N24 (******************************)

    (VARIOUS COMMANDS)


    (DWELL)
    (P=DWELL TIME 1.=1 SECOND)
    G04 P5.


    (CANNED CYCLE INITIAL POINT RETURN)
    G98


    (CANNED CYCLE R PLANE RETURN)
    G99


    (ABSOLUTE PROGRAMMING)
    G90


    (INCREMENTAL PROGRAMMING)
    G91


    (STOP PROGRAM W/O RESET)
    M00


    (OPTIONAL STOP W/O RESET)
    M01


    (GOTO BLOCK)
    (BLOCK No. N???? MUST BE IN PROGRAM)
    M99 P1234

    N26 (*******************************)

    (SUB PROGRAM CALLS)

    (LOCAL SUB PROGRAM CALL)
    (P=LOOK FOR LINE NUMBER IN CURRENT PROGRAM)
    M97 P1234


    (LOCAL SUBPROGRAM)
    (PLACE AFTER M30)
    (N=LINE NUMBER M97 IS LOOKING FOR)
    (M99=LEAVE SUB PROGRAM AND GO BACK TO MAIN PROGRAM)
    N1234
    (ENTER PROGRAM HERE)
    M99


    (EXTERNAL SUB PROGRAM CALL)
    (P=PROGRAM NUMBER TO LOOK IN MACHINE MEMORY)
    M98 P1234

    N28 (*******************************)

    (AUTOMATIC CHAMFER & RADIUS INFO)

    (AUTO RADIUS)
    (FOR AUTO RADIUS)
    (INSERT SHIFT,R AND AMOUNT)
    (ON THE END OF A G01 LINE)
    (THERE MUST BE A SUBSEQUENT)
    (MOVE FOR CALCULATION)


    (AUTO CHAMFER)
    (FOR AUTO CHAMFER)
    (INSERT SHIFT,C AND AMOUNT)
    (ON THE END OF A G01 LINE)
    (THERE MUST BE A SUBSEQUENT)
    (MOVE FOR CALCULATION)
    %
    Two Haas VF-2's, Haas HA5C, Haas HRT-9, Hardinge CHNC 1, Bother HS-300 Wire EDM, BobCAD V23, BobCAD V28

Similar Threads

  1. Jcut 1218 CNC Router with NcStudio lost "Y" in the middle of the program
    By albatros62 in forum Commercial CNC Wood Routers
    Replies: 0
    Last Post: 11-26-2012, 06:07 PM
  2. Fanuc "Program Transfer Tool"
    By ezzywave in forum Fanuc
    Replies: 5
    Last Post: 08-25-2012, 06:27 AM
  3. Replies: 14
    Last Post: 06-01-2010, 08:13 PM
  4. "wrong program data" when file transfer????
    By spock in forum Bridgeport / Hardinge Mills
    Replies: 2
    Last Post: 07-28-2008, 11:59 PM
  5. vickers 2100 - Tree J250 - program "rewind"
    By mblazenby in forum CNC (Mill / Lathe) Control Software (NC)
    Replies: 2
    Last Post: 01-11-2008, 04:39 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •