603,781 active members*
2,587 visitors online*
Register for free
Login
Results 1 to 20 of 24

Hybrid View

  1. #1
    Join Date
    Apr 2006
    Posts
    825

    Re: Program optimize

    What you are after is very easy to achieve...
    an example program to machine a simple part could be like this:
    The program below will machine from a blank 50mm diameter by whatever length you want
    It faces the part off to 50mm long (2mm from the front face)
    Then turns a spigot to 20mm diameter by 25mm long, with a couple of chamfers thrown in for good measure.
    The program uses Cycle Time reduction for both spindle speed and tool changes.

    THIS IS A DANGEROUS WAY OF PROGRAMMING IF YOU DO NOT PAY ATTENTION TO TOOL CHANGE POSITION AND CONFIRMING SELECTED TOOL IS IN POSITION BEFORE MOVING TO START POINT!

    Having stated that, this can really save a butt load of time if used correctly.

    Assuming a metric programming system.

    N0001 G0 X800 Z800 (make sure tool starts from home pos)
    N0002 X52 Z52 T010101 G97 S1102 M3 M8 M63 (rapid to start point using tool 1 for facing, start the spindle up while moving to start point, don't wait for spindle speed arrival confirmation, just start up the spindle and get moving!)
    N0003 G96 S180 M61 (select constant surface speed at 180 m/min, use M61 to ignore confirmation of spindle speed arrival...)
    N0004 G85 NFACE D1 U0 W0.25 F0.35 (roughing cycle for facing)
    NFACE G82 (facing tool path)
    N1001 G0 Z50
    N1002 G1 G42 Z50 F0.2 (specify finishing feed rate of 0.2mm/rev)
    N1003 X0
    N1004 G40 I-0.01 (tool nose rad comp cancel X- axis direction)
    N1005 G80
    N1006 G0 Z800 G97 S1102 M63 (Rapid to tool change position on Z axis only, Setting up spindle speed for next operation)
    N1007 X52 Z800 T020202 M65 M66 (move to next start point on X axis, KEEPING tool firmly on Z axis home position to ensure safety, use M65 to specify free turret indexing when not home and M66 to not confirm tool change has done)
    N1008 X52 Z52 T020202 (IMPORTANT!... Confirm tool index by re-specifying the same tool number)
    N1009 G96 S180 (Constant surface speed of 180M/Min)
    N1010 G85 NTURN D5 U0.5 W0.1 F0.35 (rough turning cycle parameters)
    NTURN G81 (Turning profile)
    N2001 G0 X18
    N2002 G41 X18 Z50 F0.2 (specify finish feed rate now)
    N2003 X20 Z49
    N2004 Z25
    N2005 X46
    N2006 X52 A135
    N2007 G40 I0.01 (cancel tool nose radius X+ Direction)
    N2008 G80
    N2009 G0 X52 Z800 G97 S1102 M63 (rapid to Z home position updating spindle speed on the way)
    N2010 X18 Z800 T030303 M65 M66 G97 S2000 M63 (keep moving to start point on X for the next process, keeping Z at home posn, change tool to finishing tool using free indexing and no tool change confirmation)
    N2011 X18 Z52 T030303 G97 S4420 M63 (IMPORTANT! Move to start point of finish cycle updating the spindle speed to the next speed required)
    N2012 G96 S250 (select const surface speed of 250M/Min)
    N2013 G87 NTURN (Shape is defined at line starting with NTURN)
    N3001 G0 X52 Z52 (rapid move to next cycle start point)
    N3002 G87 NFACE (Facing cycle defined on line NFACE)
    N3003 G0 Z800 G97 S1000 M63 (move to Z home point slowing the spindle down in the process)
    N3004 X800 Z800 M5 M9 M63 T0100 M65 M66 (move to home position on X and Z, using free indexing and no tool confirmation and no spindle speed confirmation)
    N3005 X800 Z800 T0100 M60 (keep at home and confirm tool selection, turn OFF spindle speed cancellation)
    N3006 M2 (end of program)

    Now, what I have done to select some of the different spindle speeds on the lines between tools is to simply observe the actual spindle speed of the machine when it gets to the required position in the machine.
    The idea is that you get to your targets at around the same time as the spindle hits the required RPM.
    The procedure I always have used when using cycle time reduction on tool changes is this:
    Move to Z home position, updating spindle speed.
    Move to cycle start point on X, while staying home on Z while changing to next tool in the process. This is important as if you have a long boring bar in the turret, you can then make sure the tool does not hit the job/chuck during the index process.
    You MUST confirm that the selected tool is in position prior to moving in to the start point for machining as you can imagine the crash occurring if the turret is still rotating when positioned near the part/chuck!
    To get the spindle to update on the move, you use M63, but it is a one shot M code on the older machines. i.e active only on the programmed line.
    Hope this helps you speed up your cycle.
    Cheers
    Brian.

  2. #2
    Join Date
    Jun 2015
    Posts
    4189

    Re: Program optimize

    [ main boost ] reload : operations, tools, cutting specs [ more parts ]
    [ 2nd boost ] reduce delay between parts
    [ 3rd boost ] optimizations
    [ go as it is ] [ few parts ]

  3. #3
    Join Date
    Jun 2015
    Posts
    4189

    Re: Program optimize

    Quote Originally Posted by broby View Post
    What you are after is very easy to achieve...Hope this helps you speed up your cycle.CheersBrian.
    nice stuff broby i once tried combining S+Z, but i was missing something . thx

  4. #4
    Join Date
    Jun 2015
    Posts
    4189

    Re: Program optimize

    Quote Originally Posted by broby View Post
    What you are after is very easy to achieve...

    N1007 X52 Z800 T020202 M65 M66 (move to next start point on X axis, KEEPING tool firmly on Z axis home position to ensure safety, use M65 to specify free turret indexing when not home and M66 to not confirm tool change has done)
    N1008 X52 Z52 T020202 (IMPORTANT!... Confirm tool index by re-specifying the same tool number)

    Cheers
    Brian.
    hello broby, please, why is needed to repeat Txyxyxy ?
    i think you try to avoid something, but if that something happens at N1007, it won't happen also at N1008 ?

    i have seen that if turret does not index, than it will not continue it's movement ... is it possible to continue movement without indexing, for example to stay at position 4, and also with active corrections from another position, like T010101 ?

    kindly !

  5. #5
    Join Date
    Apr 2006
    Posts
    825

    Re: Program optimize

    Quote Originally Posted by deadlykitten View Post
    hello broby, please, why is needed to repeat Txyxyxy ?
    i think you try to avoid something, but if that something happens at N1007, it won't happen also at N1008 ?

    i have seen that if turret does not index, than it will not continue it's movement ... is it possible to continue movement without indexing, for example to stay at position 4, and also with active corrections from another position, like T010101 ?

    kindly !
    You MUST repeat the tool number on the next line to get the machine to CONFIRM tool index is complete BEFORE allowing the turret to move.
    The M65 and M66 commands are Single Line commands, i.e. they are not modal, they are used on the line they are programmed on and nothing else.
    By repeating the tool number on the next line you are effectively telling the machine to confirm tool index is complete before moving.

    On line N1007 I am telling the machine to index the turret to the commanded tool AT THE SAME TIME as moving the machine on X/Z
    On line N1008 I am telling the machine to MOVE to the cycle start point with Tool T020202, but since there is no M65/M66 command the machine will wait until the tool is in position before moving to the commanded position.

    If you imagine that you have a 12 station turret and you are changing from a boring bar at T060606 to an external tool at say T030303 and the move is only a short one, the time the machine takes to move to the new position is far less than the time it takes to index the turret.
    If you are already parked at the start point of your cutting cycle... well I guess I will hear the bang from here in Australia!

    I have always programmed the moves to take the machine back to the Z positive limit and then change the tool whilst moving to the next cycle start point on X.
    You also get three lines to get your spindle speed to change on at the same time.
    Going back to Z pos limit
    Going to next X pos
    and going in to the Z start point for the next cycle.
    If you are changing RPM by a reasonable amount, breaking it up into three steps (using M63 on each line) it really reduces the cycle time.

    Hope this helps.
    Brian.

  6. #6
    Join Date
    Jun 2015
    Posts
    4189

    Re: Program optimize

    Quote Originally Posted by broby View Post
    ... well I guess I will hear the bang from here in Australia!
    nice one

    N1007 G00 X52 Z800 T020202 M65 M66
    N1008 G00 X52 Z52

    if i run this code, and somehow the turret will not index, than the machine will stop before executing N1008

    of course, putting again T020202 is a nice/safe idea, but i wonder if is not something like checking the door after you locked it or going back from your car to the door to check the door, and than back to the car, to check the car, and on your way, going back to the door again, because u are not sure ...

    in my opinion : N1007 G00 X52 Z800 T020202 M65 M66
    .....at same moment should begin "turret moving" and "turret indexing",
    .....but in reality, i have seen that first is "turret moving" and after that comes "turret indexing"
    .....but also happend something like this "turret indexing" while "turret moving"

    so i guess that there is no need to repeat T020202. Of course, is safer ... however, maybe on another lathe, or maybe if electronics lag than will be required to repeat. kindly !

  7. #7
    Join Date
    Apr 2006
    Posts
    825

    Re: Program optimize

    Quote Originally Posted by deadlykitten View Post

    i have seen that if turret does not index, than it will not continue it's movement ... is it possible to continue movement without indexing, for example to stay at position 4, and also with active corrections from another position, like T010101 ?

    kindly !
    Not quite sure of what you mean here.

    If you want to use the same tool, but with a different set of offset amounts then you must specify your tool number thus: T010401
    This tells the machine the following info:
    T[01]0401 = Tool Nose Radius Data Number
    T01[04]01 = Physical Tool Number
    T0104[01] = Offset Number to use.

    I might have the first and last sets around the wrong way... been too many years since I looked that bit of info up

Similar Threads

  1. Replies: 10
    Last Post: 05-12-2016, 01:34 PM
  2. How do I optimize the use of tabs?
    By cryptodecals in forum DIY CNC Router Table Machines
    Replies: 4
    Last Post: 02-05-2014, 12:52 AM
  3. Best way to optimize my program
    By jeffrey001 in forum Mastercam
    Replies: 4
    Last Post: 01-25-2012, 07:44 PM
  4. Checkout this cambam file. optimize?
    By diyengineer in forum CamBam
    Replies: 3
    Last Post: 10-04-2011, 10:10 AM
  5. optimize it
    By kesparate in forum Mastercam
    Replies: 2
    Last Post: 04-03-2009, 11:50 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
  •