CNCzone.com-The Largest Machinist Community on the net!



Home Page Mark Forums Read Today's Posts My Replies Classifieds Reviews Photo Gallery Web Links Share Files Advertise With Us Ad List
Go Back   CNCzone.com-The Largest Machinist Community on the net! > Machine Controllers Software and Solutions > Fanuc


Fanuc Discuss Fanuc controllers here!


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 09-23-2011, 08:53 PM
 
Join Date: Mar 2010
Location: usa
Posts: 20
PRATTGUY72 is on a distinguished road
Red face FANUC OM G52?? EXAMPLE PLEASE??

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!
Reply With Quote

  #2   Ban this user!
Old 09-23-2011, 10:57 PM
fordav11's Avatar  
Join Date: Aug 2011
Location: Fordaville
Posts: 939
fordav11 is on a distinguished road

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
Attached Thumbnails
Click image for larger version

Name:	g52.jpg‎
Views:	54
Size:	76.8 KB
ID:	142566  

Last edited by fordav11; 09-23-2011 at 11:55 PM.
Reply With Quote

  #3   Ban this user!
Old 09-24-2011, 07:23 AM
 
Join Date: Nov 2006
Location: UK
Posts: 121
ChattaMan is on a distinguished road

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.
Reply With Quote

  #4   Ban this user!
Old 09-24-2011, 09:32 PM
 
Join Date: Mar 2010
Location: usa
Posts: 20
PRATTGUY72 is on a distinguished road

Originally Posted by ChattaMan View Post
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.
Thanks for the replies guys, but I'm still a little confused.. Maybe the G55.G56 is what I'm after. I just want to duplicate the one part in a seperate vice. Y axis would still start at the same value, but x would start -10.000 So I guess my question is in my program, the last move I make coming off the first part profile, then I move z.100 above the top of my part for safety, and then? Add a G56 command, and my value of -10.000? and then when it finishes the second profile I need to do something else before I return home and m30?? One more time please!! lol. Thanks for putting up with me guys!
Reply With Quote

  #5   Ban this user!
Old 09-24-2011, 10:57 PM
 
Join Date: Sep 2010
Location: Australia
Posts: 733
angelw is on a distinguished road

Originally Posted by PRATTGUY72 View Post
Thanks for the replies guys, but I'm still a little confused.. Maybe the G55.G56 is what I'm after. I just want to duplicate the one part in a seperate vice. Y axis would still start at the same value, but x would start -10.000 So I guess my question is in my program, the last move I make coming off the first part profile, then I move z.100 above the top of my part for safety, and then? Add a G56 command, and my value of -10.000? and then when it finishes the second profile I need to do something else before I return home and m30?? One more time please!! lol. Thanks for putting up with me guys!
G54 is the default work shift offset. From a Reset condition, the values of G54 will apply if an offset is not called explicitly. Lets say that G54 and G55 are being used for the first and second vice or fixture respectively. G55 will use the same values used in G54, but varied by the pitch in X, Y and Z between the two work holding devices. If the Y and Z datums of the two devices are the same, then the same values will be used in the two work shift offsets for Y and Z. If the X datum of the 2nd device is -10.000 compared with the first, then -10.000 will be added to the X value used in G54 and applied to G55. G55 is then called to initiate machining on the part held in the second vice.

Regards,

Bill
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 09-24-2011, 11:08 PM
 
Join Date: Jul 2005
Location: Canada
Posts: 11,563
Geof will become famous soon enough

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.
Reply With Quote

  #7   Ban this user!
Old 09-25-2011, 07:49 AM
 
Join Date: Mar 2010
Location: usa
Posts: 20
PRATTGUY72 is on a distinguished road

Originally Posted by angelw View Post
G54 is the default work shift offset. From a Reset condition, the values of G54 will apply if an offset is not called explicitly. Lets say that G54 and G55 are being used for the first and second vice or fixture respectively. G55 will use the same values used in G54, but varied by the pitch in X, Y and Z between the two work holding devices. If the Y and Z datums of the two devices are the same, then the same values will be used in the two work shift offsets for Y and Z. If the X datum of the 2nd device is -10.000 compared with the first, then -10.000 will be added to the X value used in G54 and applied to G55. G55 is then called to initiate machining on the part held in the second vice.

Regards,

Bill
Ok, maybe this is where I'm confused. My machine sets up work piece coordinates with G92 in beginning of my programs. (distance from machine zero to part) Which then becomes my part zero. My program is quite lengthy, and obviously after the last operation I can rapid over x-10.000 and re-write the entire profile, but I know the machine can use a subroutine or fixture offset. I just don't know the proper format for this Fanuc control. Do I add this code right after my last move from the first part, after moving Z up a little for clearence? Or is this something I need to do somewhere in the beginning of the program? I'm sorry, just still not clear on how I should execute the code properly in my program.
Reply With Quote

  #8   Ban this user!
Old 09-25-2011, 08:27 AM
 
Join Date: Sep 2010
Location: Australia
Posts: 733
angelw is on a distinguished road

Originally Posted by PRATTGUY72 View Post
Ok, maybe this is where I'm confused. My machine sets up work piece coordinates with G92 in beginning of my programs. (distance from machine zero to part) Which then becomes my part zero. My program is quite lengthy, and obviously after the last operation I can rapid over x-10.000 and re-write the entire profile, but I know the machine can use a subroutine or fixture offset. I just don't know the proper format for this Fanuc control. Do I add this code right after my last move from the first part, after moving Z up a little for clearence? Or is this something I need to do somewhere in the beginning of the program? I'm sorry, just still not clear on how I should execute the code properly in my program.
The question that should be asked is, what model OM control do you have, and does your control have Work Shift Offsets G54 to G59? Most did. If it does then using the Work Shift offsets to set the coordinate system is a better and safer system than setting with G92. To see if your control has G54 to G59 offsets, press the Offset Hard Button, then the Work Offset Soft Key at the bottom of the monitor. Work Offsets from G53 (0) to G59 (6) should be displayed, but not all on the one page.

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.
Reply With Quote

  #9   Ban this user!
Old 09-25-2011, 12:09 PM
 
Join Date: Mar 2010
Location: usa
Posts: 20
PRATTGUY72 is on a distinguished road

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!
Reply With Quote

  #10   Ban this user!
Old 09-25-2011, 01:09 PM
 
Join Date: Jul 2005
Location: Canada
Posts: 11,563
Geof will become famous soon enough

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.
Reply With Quote

Sponsored Links
  #11   Ban this user!
Old 09-25-2011, 02:47 PM
 
Join Date: Mar 2005
Location: United States
Age: 34
Posts: 657
gbowne1 is on a distinguished road

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.
Reply With Quote

  #12   Ban this user!
Old 09-25-2011, 04:22 PM
fordav11's Avatar  
Join Date: Aug 2011
Location: Fordaville
Posts: 939
fordav11 is on a distinguished road

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.
Reply With Quote

Reply




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


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




All times are GMT -5. The time now is 07:23 PM.





Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Content Relevant URLs by vBSEO
Template-Modifications by TMS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361