![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| Fanuc Discuss Fanuc controllers here! |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| |||
| |||
hello everyone, i'm hoping some one can help me out with this. my shop is currently producing many gears/spline profiles using our cnc mills. since this is something we are going to be doing for a while i would like to simplify my programming so as to produce code quicker, in turn pruduce parts faster. currently i am producing programs that utilize tool radius comp and run multiple tools around a given profile. my problem is, every time i do a tool change the full list of code is output, so if the program has five tools, you will see five large blocks of code that are all identicle. there has to be a better way to do this? i hope i havn't confused you i'm having trouble explaining what exactly i am looking for. i'll try to make up an example... how my program looks now (three tools, profile cutter, top rad. bot rad) T1 X2.0 Y2.0 ECT ECT ECT ECT ECT T2 X2.0 Y2.0 ECT ECT ECT ECT ECT T3 X2.0 Y2.0 ECT ECT ECT ECT AND WHAT I WOULD LIKE TO SEE IS T1 ??? T2 ??? T3 ??? X2.0 Y2.0 ECT ECT ECT ECT ECT i'm very new to this, i'm sure there is a very simple way to accomplish this i just can't seem to figure it out. thanks in advance |
|
#2
| ||||
| ||||
| You can use main and subprograms to accomplish this. Store both O1000 and O1001 in the memory. O1000 (MAIN PROGRAM) T1 M98 P1001 (CALL SUB 1001) T2 M98 P1001 T3 M98 P1001 M30 O1001 (SUB PROGRAM) X2.0 Y2.0 ECT ECT ECT ECT ECT M99 (RETURN TO MAIN) |
|
#3
| ||||
| ||||
| You could put your contour into a separate program and call it up after initializing each tool and moving it to the correct start point eg: - o0001 (main pgm) T1 M6 S? M3 G0 G90 G17 G40 X? Y? G43 H1 D1 Z? M8 M98 P0002 G91 G28 Z0 M9 M5 T2 M6 S? M3 G0 G90 G17 G40 X? Y? G43 H2 D2 Z? M8 M98 P0002 G91 G28 Z0 M9 M5 T3 M6 S? M3 G0 G90 G17 G40 X? Y? G43 H3 D3 Z? M8 M98 P0002 G91 G28 Z0 M9 M5 M30 Separate Sub-Pgm: - o0002 (sub) G1 X? Y? F? etc etc M99 If you have Macro B capability:- You can use G65 rather than M98 and pass arguments for Offsets, Z position and Feedrate, to shorten your main program: - G65 P0002 H? D? Z? F? in sub program: - G43 H#11 D#7 Z#26 G1 X? Y? F#9 etc etc M99 If you want to keep it all in a single program you need to have Macro B capability. Use GOTO and N sequence numbers, and specify the arguments/return point with #__ = ?. It might look like this: - o0001 N10 T1 M6 S? M3 G0 G90 G17 G40 X? Y? G43 H1 D1 Z? M8 #9=500 #14=20 GOTO50 N20 T2 M6 S? M3 G0 G90 G17 G40 X? Y? G43 H2 D2 Z? M8 #9=800 #14=30 GOTO50 N30 T3 M6 S? M3 G0 G90 G17 G40 X? Y? G43 H3 D3 Z? M8 #9=800 #14=40 GOTO50 N40 M30 N50 G1 X? Y? F#9 etc etc G91 G28 Z0 M9 M5 M99 P#14 There are other combinations/variations of those techniques - choose the format that best suits the situation. DP |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Programming knurling - anyways to simplify? | compunerdy | G-Code Programing | 2 | 05-13-2010 02:08 AM |
| Mazatrol Program into a G Code Program | fuzzman | Mazak, Mitsubishi, Mazatrol | 14 | 02-08-2010 03:55 PM |
| Simplify Body | Luis Franco | UG NX | 1 | 10-26-2009 09:09 AM |
| trying to simplify my program | johnpiero | G-Code Programing | 4 | 11-17-2008 06:56 PM |
| Anyone got any basic examples of a program using a subroutine/program? | Darc | CamSoft Products | 11 | 10-08-2005 11:45 PM |