585,758 active members*
4,675 visitors online*
Register for free
Login
Page 1 of 2 12
Results 1 to 20 of 24
  1. #1
    Join Date
    Jan 2009
    Posts
    38

    Program optimize

    Hello everyone.

    I would like to alter some of my programs to be more efficient. What im after is a way for the machine not to wait for the spindle to reach the right RPM, this is when in G96 mode. I have tried a little whit M61 but im not satisfied (perhaps im not doing it properly). I want the machine to keep cutting regardless of the RPM and also return to toolchange and home position during RPM adjustment and stopping. The machine is a Okuma LB15II from -92 whit OSP5020L. Very greatful for any tips! Greets Samuel Olsson, Speedmec Sweden

  2. #2
    Join Date
    Feb 2011
    Posts
    353

    Re: Program optimize

    can you post the program so that it can be looked at

  3. #3
    Join Date
    Jun 2015
    Posts
    4154

    Re: Program optimize

    1) consider that machine is not moving; i think you need something like this :

    V1=300 ( M / min )
    V2=0.15 ( mm / o )

    G0 X20 Z2.5 G96 S=V1 M03 M08 M42

    i have never tried this kind of syntax, that should buffer S , X and Z motors at the same time. So all movements should start at same moment, and finish not necessary at same moment ...

    please, llok at attached file for this, or just check here :

    http://www.okuma.com/blog-cycle-time-reduction-spindle-m-spindle

    2) pure extra-virgin and eco-bio-code

    V1=300 ( M / min )
    V2=0.15 ( mm / o )

    G0 X20 Z2.5
    G96 S=V1 M03 M08 M42 ( start G96 here at V1 speed )
    G1 Z-10 F=V2 F95
    ...X50
    ...Z-10-20 ( part finished here )
    ...X50+2*0.3 Z-10-20+0.3 ( tool disengage )
    ................( variations starts here )
    G97 S = V1 * 1000 / [ 3.142 * ABS [ VSIOX ] ] ( var_1 ) ( change from G96 to G97 keeping current rpm )
    ..... ( or )
    G97 S = ... ( var_2 ) ( change from G96 to G97 keeping a desired/specific rpm )
    ..... ( or )
    G97 S = V11 * 1000 / [ 3.142 * new_X ] ( var_3 ) ( change from G96 to G97 targeting desired rpm for next operation )
    ................( variations ends here )
    G0 X.. Z.. ( send turret to safe/indexing/temporary position )
    G0 X=new_X Z...
    G96 S=V11 M03 M08 M42 ( start G96 here at V11<>V1 speed ) ( if you used var_3 than machine rpm will not change here, only G97 will switch to G96 at current rpm)

    let's say you opted for var_3, but you don't like it because machine rpm is to high and there is no use for the spindle to spin like that waiting for the tool to come ... in this case you can go like this:

    V1=300 ( M / min )
    V2=0.15 ( mm / o )

    G0 X20 Z2.5
    G96 S=V1 M03 M08 M42 ( start G96 here at V1 speed )
    G1 Z-10 F=V2 F95
    ...X50
    ...Z-10-20 ( part finished here )
    ...X50+2*0.3 Z-10-20+0.3 ( tool disengage )
    ................( variations starts here )
    G97 S = V1 * 1000 / [ 3.142 * ABS [ VSIOX ] ] ( var_1 ) ( change from G96 to G97 keeping current rpm )
    ..... ( or )
    G97 S = ... ( var_2 ) ( change from G96 to G97 keeping a desired/specific rpm )
    ................( variations ends here )
    G0 X.. Z.. ( send turret to safe/indexing/temporary position )
    G0 X=new_X Z...
    G96 S=V11 M03 M08 M42 ( start G96 here at V11<>V1 speed )

    but in this case when machine reaches this last line, rpm changing takes too long; is like the tool has arrived and you must wait for the spindle to reach the necessary rpm, and this duration is long, machine reaction time is slow when changing rpm ; so try this :

    V1=300 ( M / min )
    V2=0.15 ( mm / o )

    G0 X20 Z2.5
    G96 S=V1 M03 M08 M42 ( start G96 here at V1 speed )
    G1 Z-10 F=V2 F95
    ...X50
    ...Z-10-20 ( part finished here )
    ...X50+2*0.3 Z-10-20+0.3 ( tool disengage )
    ................( variations starts here )
    G97 S = V1 * 1000 / [ 3.142 * ABS [ VSIOX ] ] ( var_1 ) ( change from G96 to G97 keeping current rpm )
    ..... ( or )
    G97 S = ... ( var_2 ) ( change from G96 to G97 keeping a desired/specific rpm )
    ................( variations ends here )
    G0 X.. Z.. ( send turret to safe/indexing/temporary position )
    M/G_ignore_response_from_S_axis_ON
    G97 S = V11 * 1000 / [ 3.142 * new_X ] ( var_4 ) ( still in G97 target desired rpm for next operation )
    G0 X=new_X Z... ( turret should start moving while rpm is changing )
    M/G_ignore_response_from_S_axis_OFF
    G96 S=V11 M03 M08 M42 ( start G96 here at V11<>V1 speed )


    i don't know what M or G code will turn OFF/ON confirmation from S axis, but if it works, will allow simultaneously to move the turret and change the rpm

    if someone will give you the G/M code, you should be able to use it in the last example


    kindly !
    Attached Thumbnails Attached Thumbnails Okuma _ Cycle Time Reduction _ Spindle_M-Spindle.pdf  

  4. #4
    Join Date
    Jun 2015
    Posts
    4154

    Re: Program optimize

    from another point of view, in your case, what is the difference between the original program, and the one with syncro-movements ? does it worth it ?

    considering program 1 with a duration of T1, and program 2 with duration T2 : dt=T1-T2

    dt/T1*100 > x ... what is the value of x from which you consider the modification necessary ? kindly !

  5. #5
    Join Date
    Apr 2009
    Posts
    1262

    Re: Program optimize

    What you want is the cycle time reduction option. Then when you use the M63 command, the axis will move while the spindle accelerates or decelerates rather than waiting for speed to be reached before axis motion.

    The option will also include M64-66and will allow indexing on the fly, any position indexing, and ignoring m-code answers. Some of these can be dangerous, but if used correctly will knock a minimum of 10% off a cycle in most cases.

    Definitely a must have option. It easily pays for itself.

    Many other things can be done even without the option. Combine indexing with RPM change. Step up spindle speed and step down.

    The M61 is a good start, but it still will confirm RPM Before going to the next block, so stepping is preferred for that reason.

    Newer machines can bypass this with a parameter, but not one of your vintage.

    Best regards,
    Experience is what you get just after you needed it.

  6. #6
    Join Date
    Apr 2006
    Posts
    822

    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.

  7. #7
    Join Date
    Jun 2015
    Posts
    4154

    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 ]

  8. #8
    Join Date
    Jan 2009
    Posts
    38

    Re: Program optimize

    Thank you all for quick replies.

    First to answer Deadlykitten, I have a few jobs where this kind of optimation is worth it. But the main reason is that I want to learn more about the machine and what it can do. it is also a bit frustrating to look at a machine when it stops and wait all the time.

    The M63 command works fine. But just as OkumaWiz writes, the M61 doesen´t makes much difference. What does step up and step down spindle mean? How do I do?

    Kind regards, Samuel

  9. #9
    Join Date
    Apr 2006
    Posts
    822

    Re: Program optimize

    Quote Originally Posted by vesene View Post
    Thank you all for quick replies.

    First to answer Deadlykitten, I have a few jobs where this kind of optimation is worth it. But the main reason is that I want to learn more about the machine and what it can do. it is also a bit frustrating to look at a machine when it stops and wait all the time.

    The M63 command works fine. But just as OkumaWiz writes, the M61 doesen´t makes much difference. What does step up and step down spindle mean? How do I do?

    Kind regards, Samuel
    Hi Vesene,
    What he is referring to is that you can change speeds UP or Down in jumps of <insert a number here> at different points in your program when the machine is doing things like tool changes.
    If your machine does not have Cycle Time Reduction (refer to your spec sheet that is normally stored in the electrical cabinet) this will be the only way to save time.
    i.e. while your machine is changing tool, increase (step up) or decrease (step down) your spindle speed.
    Copy my program into a file and test run it ON MACHINE LOCK to see if it will work.
    If the machine alarms out on a unknown code alarm, then you do not have cycle time reduction built in.
    Be aware that the M61 command CAN make a difference only if you are changing diameters a lot in your program.
    The down side to using M61 in a cycle such as facing is this: you can end up with the part moving way faster than you possibly can get away with when the tool returns to the start point to commence the next cut.
    This would reduce your tool life by quite a bit if you are not careful.
    Usually the M61 command does not make than much difference as by the time the tool changes diameter, it has not moved a whole lot on X, so not a lot of change in speed is required anyway.
    But it you are machining hundreds or even thousands of parts, then saving even 1 second per part can add up to a substantial saving in the end.
    Cheers
    Brian.

  10. #10
    Join Date
    Jun 2015
    Posts
    4154

    Re: Program optimize

    Quote Originally Posted by OkumaWiz View Post
    The M61 is a good start, but it still will confirm RPM Before going to the next block, so stepping is preferred for that reason.

    Newer machines can bypass this with a parameter, but not one of your vintage.

    Best regards,
    hello, please, can you explain this part a bit more ? i don't get it ....

    come in front of part
    spindle start
    M61
    finish cycle
    M60

    i think this is the way to use M61/M60 ...

    why/where should we talk about "stepping" and " bypass this with a parameter" ?

    kindly !

    i am a mess until i get it

  11. #11
    Join Date
    Jun 2015
    Posts
    4154

    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

  12. #12
    Join Date
    Apr 2009
    Posts
    1262

    Re: Program optimize

    On your Okuma, STM codes must be answered before axis movement will occur. If you have the cycle time reduction option, answers can be ignored. If your M63 is working fine, you have the option.

    The reason I suggest "stepping up or down" the speed is that there is a window the okuma will use where the speed is within that window, the block will be considered answered. So for example, if M3 S500 is commanded, if the RPM is within +/- 200 RPM, the spindle speed will be answered and the machine will continue with the next block at 300 RPM if accelerating, and at 700 RPM if decelerating.

    X2 Z.1 T010101 M3 S1500 M8 M42 M63 (SPINDLE WILL START TURRET WILL INDEX AND AFTER INDEXING IS COMPLETE, RAPID TRAVERS WILL BEGIN EVEN IF RPM IS STILL CLIMBING)
    G1 Z-2 G96 S1000 M61(LAST 500 RPM WILL ACCELERATE AS FEED BEGINS)

    ~(CUTTING)

    G0 X20 Z20 G97 S1500 M63 (DECELERATE PART WAY AS RAPIDING HOME)
    T0202 X0 Z.1 S500 M63 (DECELERATE THE REST OF THE WAY FOR DRILLING AS RAPID TO PART OCCURS)

    The trick to getting things right is eliminating the waiting and having it flow as smoothly as possible with no visible waiting.

    The M65 and 66 will get you into trouble quickly if you are not careful like Broby says, so use with extreme caution.

    The M61 works well for facing, but usually needs to be combined with a G50 spindle speed cap to keep the spindle from winding up too high.

    G50 S2500
    G1X-.03 F.01 G96 S1000 M61
    G0X2Z.1
    G1 Z-2F.014M60 (TO CONFIRM RPM BEFORE CUTTING)


    BTW on your newer machines with the servo turrets, be sure to use an M203 when you rapid to your home position. It will unclamp the curvic coupling during the rapid move. Then if XZand T are combined, it will clamp as it rapids. Those 2 commands are worth about 1.5 seconds per index.

    Best regards,
    Experience is what you get just after you needed it.

  13. #13
    Join Date
    Jun 2015
    Posts
    4154

    Re: Program optimize

    Quote Originally Posted by OkumaWiz View Post
    On your Okuma ...Those 2 commands are worth about 1.5 seconds per index. Best regards,
    1) please, can you explain more the part with M203 ? omg

    2) M61 - does it works well only for facing ? or also when contouring parts ? is there something more with it ?

    thanks for G50 warning generally i have it in mind all the time
    this G50 is only for S ? or also M ?

    3) attached image is from here ... Okuma | Cycle Time Reduction | Spindle/M-Spindle

    please, are there also other tehniques ?

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    from this point down i guess is nothing new for you

    4) stepping

    I don't use stepping because this code :

    S2000 M03
    S2000 M04, performs in ~3 seconds, and for me is fast enough.

    Also i think the spindle is fast enough and i don't like to set spindle speed in 2 or more different lines.
    Sometimes lights blink when S axis starts, and also some rapid movements seems to me a bit to fast, but i will open a thread for this.

    5) syncro XZST: <G0 X.. Z.. M63> <Txyxyxy M66 M65> <G97 S.. M3 M8 M42>

    it works for me, but not how i wish; instead of "indexing and moving", sometimes i have "moving indexing moving", so the turret does not index at the begining, but somewhere in between, and this is risky, mostly because of M65 ... i guess

    so i use it like this:
    <Txyxyxy M66 M65>
    <G0 X.. Z.. M63> <G97 S.. M3 M8 M42>
    - is safer to index first, but instead of syncro start XZST i have only XZS
    - however, i think that syncro start moment would be delayed if M65 is missing

    before broby should the magical M66, i used something this :
    VPVLX=VAPAX ( puts X axis limit where you are )
    Txyxyxy
    VPVLX=V200+375 ( puts X axis limit back where it should be; that V200 is a nasty value, like 23924.610, and varies from one lathe to another )

    After a while some 0.001 fluctuation appeared, so i changed first line to this :
    VPVLX=VAPAX-1 ( puts X axis limit where you are +1 )
    because you can index the turret not only, but also above this limit position

    now this is history and i pray to M66

    kindly !

  14. #14
    Join Date
    Jun 2015
    Posts
    4154

    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 !

  15. #15
    Join Date
    Apr 2006
    Posts
    822

    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.

  16. #16
    Join Date
    Apr 2006
    Posts
    822

    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

  17. #17
    Join Date
    Jun 2015
    Posts
    4154

    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 !

  18. #18
    Join Date
    Apr 2009
    Posts
    1262

    Re: Program optimize

    Kitty,

    I think you misunderstand how the M65 is working. The M65 when used with the T010101 command will allow the turret to start indexing and the axis to start moving at the same time. The reason for this is that it ignores the ANSWER for the turret index complete. This is why it is dangerous. The axis on today's machines can rapid to the part from the home limit much faster than the turret can index and if you have a boring bar next to a turning tool, the bang heard in Australia will occur since the offset for the turning tool may be active and the bar might not clear the chuck as it approaches while indexing. So on everything that has a servo driven turret, the M203 is standard and I suggest to never use the M65, but to use the M203. A G0 command is required for the M203 to be effective and by the time the turret can rapid to the limit, the turret is unclamped. Then when the next line has XZT on it, the turret will clamp as it rapids back towards the part, but the turret rotation angle will be confirmed before the rapid starts. Perfectly safe this way and virtually no difference in cycle when compared to M65. Also, if cutting is started while turret is unclamped, an alarm occurs after .5 seconds to eliminate the chance of cutting while unclamped.

    Now on Vesene's machine, his older machine does not have the servo driven turret, but has the pop up style hydraulic turret, so M203 is not there. Thus he would need to use the M65 to see significant cycle gains. As long as his approach point that is used with the M65 will allow ALL of his tools to clear the part, he can rapid while ignoring the answer. To confirm the answer, another T command must be used without the M65. If done this way, it's safe. IF the approach point is too close, get ready for the "bang heard round the world" - it won't be pretty. This is why the M66 is better as far as safety goes, but still requires that indexing is performed at a point where ALL tools would clear. It is also safer to index when rapiding away from the part, but you can still get into trouble if the rapid override gets turned down since the pop up turret could lift into the workpiece or chuck. Best rule=always be at a point where ALL tools can clear when indexing and confirmation happens at a point where ALL tools can clear.

    The M61 command can be used during Lap cycles and is usually quite safe for the small differences in RPM that is seen with each pass. M63 is usually quite safe as well and allows for big amounts of cycle time to be removed. I've been in plants where each second of cycle time is worth $50000, so the 3 second reversal time for the spindle that you mention =$150000.00 per year, so each little bit helps. Even things like putting Load monitor on a XYZ move line can knock off as much as 3 seconds in a cycle.

    Best regards and be careful!
    Experience is what you get just after you needed it.

  19. #19
    Join Date
    Jun 2015
    Posts
    4154

    Re: Program optimize

    hello ... please, can you write an example for M203 ?

    and what exactly does this M203 unclamps ? also, who clamps it again ? if M203 is active, i can rotate the turret by hand ? i don't get it

  20. #20
    Join Date
    Apr 2009
    Posts
    1262

    Re: Program optimize

    The M203 command will unclamp the turret curvic coupling and engage the servo motor so that it is ready to index. (standard on servo turret only)
    For M203 use command like below:

    Cutting...
    then:
    G0 X20 Z20 G97 S1500 M63 M203 (DECELERATE PART WAY AS RAPIDING HOME AND UNCLAMP CURVIC COUPLING INSIDE TURRET)
    T0202 X0 Z.1 S500 M63 (DECELERATE THE REST OF THE WAY FOR DRILLING AS RAPID TO PART OCCURS WHILE CURVIC IS CLAMPING) The turret will index to the correct station while on the limit, but will start to rapid while the curvic is clamping.
    G1Z-1F.014 (TURRET MUST CLAMP WITHIN .5 SEC OF SWITCHING TO G1 OR ALARM WILL OCCUR)


    Sample 1:
    G0 X20 Z20 (Rapid home with turret clamped)
    T010101 = The turret normal has a sequence of events: Turn on servo, Unclamp curvic, Rotate to next position, Answer orientation is correct, Clamp curvic coupling, Answer that index is complete, Turn off servo.
    G0 X2 Z.1 (Rapid to part with turret clamped)
    G1Z-1F.014


    Sample 2 with M203
    G0 X20 Z20 M203 (Rapid home while activating servo and unclamping turret)
    T010101 G0 X2 Z.1 (Turret rotates immediately to new position, Answer orientation is correct, Rapid to turret will start, curvic will start to clamp during rapid.)
    G1Z-1F.014 (turret curvic should be clamped by now and servo off with answer complete. G1 starts timer so that if .5 second elapses before turret clamp signal is present, an alarm will occur)

    Since servo comes on before unclamping and shuts off after clamping, you can not rotate the turret by hand since the motor is holding it. However if an E-stop is pressed during this time, it will become possible to rotate the turret by hand since the turret will no longer be held by the motor.

    Hope this helps to clarify what makes your Okuma tick.

    Best regards
    Experience is what you get just after you needed it.

Page 1 of 2 12

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
  •