![]() | |
| 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
| |||
| |||
| I have never used the g52 function, and I really need to speed up production on my mill (fanuc OM control). Would like to use 2-vices without writing the program twice and adding in my 10" between vices. Can someone demonstate the proper way to add this in my program? I'm old school and program at the control, so no software, just basic programming. After I finish the profile in one vice, I move Z .100 above part and then... would like to move down 10" and start over. Any help out there? Thanks! |
|
#2
| ||||
| ||||
| it's usually easier to just use another workshift like G55/G56 etc. for example.... G55 M98 P1234 G00 Z (to clearance) G00 X Y (somewhere near your next part) G56 M98 P1234 The sub program O1234 will do all of the part machining. The zero is shifted by the G55/G56 workshift But if you want to use G52 first read this, it might answer your question and save someone some typing ![]() Shifting Program Zero On Machining Centers | Modern Machine Shop also, here's the page from a manual showing how G52 works.... but it may confuse you more Last edited by fordav11; 09-23-2011 at 11:55 PM. |
|
#3
| |||
| |||
| fordav11 is correct saying using G55/G56 is easier. But if you did use G52 your example would look like.... O1 M98 P1234 G52 Y-10 M98 P1234 G52 Y0 M30 But be careful. You need to cancel the shift by entering a shift of Zero when you have finished. e.g. G52 Y0 Also if you reset/restart mid way through your shifted program your G52 will have been cancelled. |
|
#4
| |||
| |||
|
|
#5
| |||
| |||
Regards, Bill |
| Sponsored Links |
|
#6
| |||
| |||
| Whether you use just one Work Zero such as G54 with the shift to the second vise done with G52 or use two Work Zeros such as G54 and G55 you do have to either duplicate your program or turn your program into a subprogram. Have a look at this thread it is on the same topic of modifying a program to do more than one part. http://www.cnczone.com/forums/g-code...al_1_part.html
__________________ An open mind is a virtue...so long as all the common sense has not leaked out. |
|
#7
| |||
| |||
|
|
#8
| |||
| |||
To set the coordinate system using G54 to G59, the distance from the Machine Zero (Zero Return position) to the Workpiece Zero in X, Y, and Z is entered in the Work Shift Offset (G54 to G59) registry. The Z value will depend somewhat on the method you use to set the Tool Length Offset. Lets say that the distance from Machine X,Y Zero to the Workpiece X,Y Zero is X-24.3750 Y-12.234; these values are entered into the G54 (if that is the offset being used). If using G55 for the Work Shift offset for the second vice X-10.000 of the first, the values loaded into this offset will be X-34.3750, Y-12.234. The big advantage of using Offset Coordinate Setting is that the control always know there the tool is, irrespective of where the tool is when the G54 to G59 is called. When the G92 is commanded, the slides must be at a known position first. To implement a moves using the G54 and G55 offsets, the program would look something like the following: N1 G17 G20 G40 G49 G80 G94 G91 G28 Z0.0 G28 X0.0 Y0.0 (OR G90 G53 X??? Y???) (SAFE TOOL CHANGE POSITION) T1 M6 S???? M3 G90 G54 G00 X????? Y????? G43 Z0.5000 H1 M8 .......... .......... .......... .......... G55 .......... .......... .......... .......... G0 Z0.5000 M9 G91 G28 Z0.0 G28 X0.0 Y0.0 (OR G90 G53 X????? Y????) (SAFE TOOL CHANGE POSITION) M1 As stated by Geof in post #6, to avoid duplicating your program for the second vice, the machining part of your program will be loaded as Sub Programs and called from the main program after the appropriate Work Shift Offset (G54 to G59) is called. The most efficient strategy is to have each tool perform its operations on the two workpieces, therefore saving tool changes. Regards, Bill Last edited by angelw; 09-25-2011 at 09:48 AM. |
|
#9
| |||
| |||
| OK, maybe this is where my problem is. On this old Pratt & Whitney VMC, I have been using G92 for setting machine coordinates in the program. If I go to the offset page, (Hard button on the right hand side) also, (there are no soft keys below my screen) This page is for my Z offset tool lengths. I specify and H** in my program to pick this up, G41, then my H value. Machine only has 10 tools, so If I'm using tool #2 then I use H02. In cutter comp., G41, say If using a 1/2 e-mill, I'll use say #20 offset, which I would have a value of .250 for that tool, I would write D20 for that tool in my program. I can't find any G50-G55 in the manual, but it does state it has an M98-M99 fuction. I have never used this command either, maybe this is what I'm after?? If so, I don't know how to properly execute those codes into my programs... Also, when I command an M06 tool change, my machine has to go to Z-Machine zero to do this, so it never has a tool change interference issue. My last couple lines in my normal programming format would be; G00-G49-Z0.0; and then G00 X0.000 Y0.000 (my org. G92 value); then M30; I have a 1000pcs job that I'm starting on tomorrow morning, and I will hate to use one vice for only a 3-min cycle time! |
|
#10
| |||
| |||
| I have never used G92 but I think you could do what you want using G92 twice at two different locations. And if your machine mentions M98, M99 you should be able to use a subprogram; M98 is subprogram call and M99 is return. I think what you need is a "Master" program which just sets the G92 then calls your program as a subprogram. Something like this: Onnnnn (Master program) Set G92 location for first vise M98 O11111 (Call subprogram, it may need P11111 or some other letter) Cancel first G92 Set G92 location for second vise M98 O11111 (call subprogram) Cancel second G92 M30 O11111 (Subprogram) This is your original program with the G92 commands removed and an M99 replacing the M30 at the end. This type of subprogram use does allow you to load two vises and can save a bit of time but the program runs through completely on each vise. A much more efficient approach is to separate your program into subprograms for each tool and call these for each vise. This way you do two parts for every tool change and halve the time per part taken up by tool changes. BUT I think that will be a tedious task on your machine, separating out all your tools into separate programs and then you would have ten little programs to keep track of.
__________________ An open mind is a virtue...so long as all the common sense has not leaked out. |
| Sponsored Links |
|
#11
| |||
| |||
| The milling machine I have with the 15M Model has the best set up that I can use, so I often use a pair of Kurt Vises next to each other sitting on the table and so often am I running two of the same part, one part per vise. Personally, I use the G54 and G55 offsets. G54 for the 1st Vise, G55 for the 2nd Vise. I've tried to move into a G56 use as a Vise fixture offset. I do have a safe toolchange position, and it's wise to use one. I've run 1,000+ parts on a single, and also double vise set up. I've done just about everything to reduce axes travel time in order to reduce time between parts. It works fine just as the other posts have mentioned. |
|
#12
| ||||
| ||||
| if you dont have G54/G55 etc set the G92 X Y for your first part then call the sub program (M98 Pxxx). After you return back to the main program (M99 at the end of the sub program), rapid to the X, Y origin (zero) point on your next part (in the main program) then put in the next shift G92 X0 Y0 that will reset the zero to the center of your 2nd part then call your sub program again... M98 Pxxxx There's nothing unique or complicated about what you're trying to do. Basically... Main program ------------ O0001 G92 X123.456 Y123.456 Z123.456 M98 P0002 G00 X456.789 Y456.789 (origin of 2nd part) G92 X0 Y0 (set new origin to 0,0) M98 P0002 G91 G28 X0 Y0 Z0 (go straight home from here) G90 M30 Sub Program ------------ O0002 T1 M6 G97 S1234 M3 G00 X0 Y0 (do machining here etc) G00 Z100.0 (clearance) M99 Also remember to remove the G92 from your larger sub program. The position shifts should be done by the smaller main program only. Last edited by fordav11; 09-26-2011 at 02:59 AM. |
![]() |
| 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 |
| GE Fanuc & FANUC proprietary posts | CNCadmin | Fanuc | 44 | 01-05-2012 08:54 AM |
| Need Help!- Difference between Fanuc 0i-MC and Fanuc 0i-MD | humak16 | Fanuc | 12 | 12-29-2011 10:49 PM |
| FANUC & GE FANUC Repairs | RRL | Product Announcements & Manufacturer News | 1 | 04-17-2011 11:50 AM |
| can fanuc ac digital servo amplifiers be run by a controller other than fanuc? | js412000 | Servo Motors and Drives | 5 | 03-09-2011 09:11 AM |