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 > G-Code Programing


G-Code Programing Discuss G-code programing and problems here!


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 07-17-2009, 08:19 AM
 
Join Date: Jan 2008
Location: usa
Posts: 21
serickson is on a distinguished road
Using G54 - why/why not?

I do the maintenance on the CNC equip in this shop, which is all old GE 1050's & Fanuc 6Ms. I've been doing this for only 2-1/2 years, and any G-code knowledge is what I have picked up here.

I have noticed that this shop NEVER uses G54 work offsets, but does everything with G92.

Is this a common shop practice for the industry? Just curious, as the G54 seems to (inexperienced) me to be a better way to go.

Cheers,
Steve
Reply With Quote

  #2   Ban this user!
Old 07-17-2009, 08:48 AM
 
Join Date: Jul 2005
Location: Canada
Posts: 11,565
Geof will become famous soon enough

I have never run one but think on some old machines you have to use G92 because they do not have the ability to store coordinates for a fixed work zero like G54. In the early days of NC and CNC, memory was in short supply so many tricks were used to reduce the amount needed for a program. Even when it is not needed some people probably still use G92 because that is what they are used to.
__________________
An open mind is a virtue...so long as all the common sense has not leaked out.
Reply With Quote

  #3   Ban this user!
Old 07-17-2009, 08:53 AM
beege's Avatar  
Join Date: Feb 2008
Location: USA
Posts: 518
beege is on a distinguished road

I think if safeguards are in place, then G92 is useful, but skip one of those safeguards, and CRASH!. I like G54 thru G59 + G54.1 because its easier to keep track of fixture locations. Fewer safeguards needed for these, but still, anyone can skip something, and CRASH again. Older machines sometimes don't have G54 available, and G92/G50 is the only way to go. If a program works for an old machine, it's less work to use G92 on the newer machines with G54 available. (establish a standard way of working that accommodates all machines in the shop.)
Reply With Quote

  #4   Ban this user!
Old 07-17-2009, 08:48 PM
Superman's Avatar  
Join Date: Dec 2008
Location: Krypton
Age: 51
Posts: 1,555
Superman is on a distinguished road
Buy me a Beer?

The G92 is where the actual datum zero co-ordinates are read and set by the running program
The G54 is where the program reads the datum zero co-ordinate fron an offsets page in the machine which is seperate from the running program

Both have their uses
-- G92 is probably the safest for a production type machine as a "locked" program cannot be fiddled with, no acesss to any setting areas for an operator
-- G54 is great for a jobbing shop, some fixtures can be thrown onto a table, clocked up true, set the datum, load da program, set da tools, and pusha da button ( in an ideal world )
Reply With Quote

  #5   Ban this user!
Old 07-20-2009, 09:12 AM
chucker's Avatar  
Join Date: Nov 2007
Location: USA
Posts: 132
chucker is on a distinguished road
Work Offsets

I agree with Superman that it is a nice safety to lock up the G92 in the program and I have used the older machines that do not have the work offsets the thing I like about the work offsets over G92 is with G92 you must be at home before it is read and if you have more than one location you must go back home to set the next G92 or move to the new Zero and reset it which can make it hard to rerun parts of a program if you break a tool or insert with the work offsets you can change them on the fly and not be at home for me I like the work offsets
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 07-28-2009, 03:40 PM
 
Join Date: Jun 2009
Location: Canada
Posts: 31
KCA324 is on a distinguished road

Seeing as I am having problems with my CNC I thought I would post here rather than post a new one as it seems you guys know what your talking about. I just purchased (1st mistake) an older CNC with a Fanuc O-MC controller and it doesn't have G54-G59 capabilities. I am not used to programing with G92. How do you typically set up a program with G92? I don't understand where the X,Y,Z, settings that run in the line of the G92 come from. Are they from (Absolute)position or are they from the (Machine) position? Sorry for my ignorance but once you get used to G54-G59 you forget everything they teach you in school. And also when you program do you need to run evrything with G90(Abs) or G91(Inc)?

Thanks!
Reply With Quote

  #7  
Old 07-28-2009, 09:40 PM
HuFlungDung's Avatar
Moderator
 
Join Date: Mar 2003
Location: Canada
Posts: 4,825
HuFlungDung is on a distinguished road

On an older control with no work offsets, G92 is the way to control the machine coordinate system. By 'machine coordinate system', I would refer to G53 on a modern controller, but on the ancient ones, when you power up the control, the axis displays come on and are typically set to zero when the machine is homed. Since this is your one and only axis display, it is essentially the machine coordinate system, but may not be addressable with a G53 word, nor can you command a move using G00 G53.

So essentially, the home position is the master reference for the machine. If you now jog over to a particular point, let's say X1. Y1. from where home was and want to define this as X0Y0 for your part, you can, at this position, command
G92 X0Y0.
or,
if you wish to move back to the machine home position, you can now define that position because you know where the part datum is. So you could command
G92 X-1.0 Y-1.0
at machine home.

If you stop and think about this, both of those commands will define your work zero at the same location in space.

What matters, is where is your machine at the moment that G92 X Y Z is commanded. This is critically important because G92 is an instantaneous renaming of the machine coordinate system (in an old cnc), and you cannot cancel it except by undoing the G92 command with a command of opposite values, or, return it to home and redefine the coordinate system that as G92X0Y0Z0. So it is very important to know where the machine is going to be when a G92 command is read.

There are a couple of ways to 'be careful': Always precede a G92 command with a G28 to get the machine back to machine zero. Then permit the control to reread the G92, if it is written in the program. This is critical to remember if you abort the program prematurely, because you will get in a real messy crash if some miscellaneous position gets reassigned as the work datum.

Another way to do this, is to do your setup, and edge finding to find how far from home the work datum must be. Then return to machine home, and define that position with G92 as explained above, but do this in MDI mode. Now, you should be able to run your main program without any G92 commands within it. This will help prevent those messy crashes caused by an inattentive/inexperienced operator. The drawback, is that the work datum will be lost if you power the control off. So you'd have to write down what the G92 values should be, then next time the machine is powered up to continue running yesterday's program, you must key in the G92 value in MDI before you switch to automatic operation.

I learned all this crap the hard way, running an old Bandit which had only one coordinate system, and the above method was the way I ran it. I do not know if these principles would apply to all other older cncs out there, but you can certainly do a few tests to figure out how it behaves.

In the Bandit, we did not have G28, but we had G98, which is an obsolete gcode now. But what G98 did, was return the machine to the position where G92 was defined, whatever the values happened to be. This gave us the option of having the machine return either to the work zero (if that was where we defined G92X0Y0), or, we could move elsewhere if a toolchanger was in use, and required more vertical space to do the change. On a knee mill, this was important, as we were very much short of space above the workpiece for toolchanging. So usually, we'd define the G92 at machine home, therefore using appropriate values that depicted how far the work datum was from machine home.
__________________
First you get good, then you get fast. Then grouchiness sets in.

(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Reply With Quote

  #8   Ban this user!
Old 07-29-2009, 10:35 AM
maz43's Avatar  
Join Date: May 2009
Location: USA
Posts: 92
maz43 is on a distinguished road

I used to use G92 on old WS universal lathes.
The simplest way I found for operators not to crash is to make a program (O0000) to home out and go to the start of the current program's G92 home position. Almost idiot proof if you have the current program number written down and hanging on the control.
Reply With Quote

  #9   Ban this user!
Old 07-29-2009, 01:44 PM
chucker's Avatar  
Join Date: Nov 2007
Location: USA
Posts: 132
chucker is on a distinguished road
G92

Very well put HunflungDung
Reply With Quote

  #10   Ban this user!
Old 08-03-2009, 05:12 AM
 
Join Date: Jun 2009
Location: Canada
Posts: 31
KCA324 is on a distinguished road
Smile

Thanks guys,

This really helped. I understand now how it works. Fortunately, for this aspect anyway, my machine does not have a tool changer and therefore returns to home every time a tool change comes up and it also must be at Z home to change the tool. So from what I think your saying with regards to where the machine will be when the G92 is called up, as long as it is in the home position upon calling up the G92 line, I should have no problems?? Also, I have heard of people setting their tools up on a surface plate rather than in the machine on a datum...do you know what the best set-up is to do this?

Thanks again...I really appreciate it!

Best regards,

Keith

Barrie,
Ontario
Reply With Quote

Sponsored Links
  #11  
Old 08-03-2009, 10:45 AM
HuFlungDung's Avatar
Moderator
 
Join Date: Mar 2003
Location: Canada
Posts: 4,825
HuFlungDung is on a distinguished road

Yup, home position is a safe place to command G92.

RE: tool setup: I don't know how your controller behaves exactly, but some of those older ones would move in rapid when a tool offset was called. So whatever length was stored in the length offset, would immediately be traversed. This could be dangerous and unnerving if you set the tool lengths below the top of the job.

Therefore, to use the table top as a reference, use a stack of precision 1-2-3 blocks or 2-4-6 blocks to create an easy to replicate reference at a convenient height above your part Z0. So the tool length offsets become the distance from tool tip at machine home to the top of this reference stack. If you give yourself an inch of clearance between the part Z0 and the top of the reference, you'll be able to call the tool length, it will execute, and still leave you an inch of breathing room

Failure to do this results in your tool rapiding immediately to Z0 when the length offset is called, and sometimes, this might be some distance beneath the top of a piece of rough stock. Ouch! Of course, this could be avoided by programming a Z position on the same line as the tool length offset callout. However, this sometimes creates a PITA in setting up your CAM post, because then you've got this Z value hardcoded in with each tool, and it may or may not be sufficient clearance for all situations.

So anyway, if you use the reference stack method, you'll end up with an uncertain distance between the reference plane and the top of the part. You deal with this by using a Z call in the G92. For example, if the tools are all set 1" above the part, then with the machine at home, the Z is defined as G92 Z1.0 and if it needs some tweaking, return to home and adjust this value accordingly. This will universally affect all your tools the same, just as using a Z in a G5x work shift does.

Why use a reference plane instead of the top of job? This permits you to use existing tool length offsets from a previous program, on a new job, just by adding the new tools and refinding their lengths. Also, if you are machining parts that might vary (like castings or any rough stock), there is a concern that you might have to move the top of job up or down. If you happened to set your tools to the top of the part1, then break a tool on part 10, and have meanwhile been moving the Z0 around, the length offset for the new tool will not be set to the same Z0 as the rest of the tool set. This could easily spoil your job. Ask me how do I know this
__________________
First you get good, then you get fast. Then grouchiness sets in.

(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Reply With Quote

  #12   Ban this user!
Old 08-03-2009, 01:27 PM
 
Join Date: Jun 2009
Location: Canada
Posts: 31
KCA324 is on a distinguished road
Unhappy

Thanks,

I currently set my tools up the way you mentioned. I thought maybe their was a better way, and maybe I could do a lot of the tool setup while my machine was running. Oh well that what I get for buying junk. I look forward to an upgrade, though I have learned lots going through this...and thats what its all about!

I have another question you may be able to help with; I (like many others in this forum) am having problems with drip feed. It seems to work sometimes but not others. When I send a simple program (Rough, Finish, drill) it seems to go through most of the program and then gives me 087 alarm. If I send a 3D profile to it gives me the 087 alarm about ten lines in.?! I have gone through the parameters with a fine tooth come and it hasen't seemed to help. I think its the inconsistancy that is throwing me off.

Any ideas?!

By the way it says in my manual that 087 means:"When entering data in the memory by using Reader/Puncher interface, though the read terminate command is specified, input is not interrupted after 10 characters".....What the hell is that!


Thanks, much appreciated!
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





All times are GMT -5. The time now is 12:20 AM.





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