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 09-22-2011, 02:05 PM
JoeCraftsman's Avatar  
Join Date: Jun 2011
Location: United States
Posts: 10
JoeCraftsman is on a distinguished road
Question Programming to mill several of 1 part at same time...

Machining more than one piece at a time with different work offsets…

I have a part with a lot of features. I will use the top surface features in the scenario given…

• One program (o0159) is written for machining in 1 location (G54).
• For each machining operation I move to a safe machine location for tool change:
o G53 X-9. Y2.
• Within each machining operation the G54 work offset is called such as:
o G00 G90 G54 X-3.52 Y-.78 S7000 M03

So, now I would like to add three more blanks so that I’m machining 4 at one time. I’m looking for the easiest/most efficient way to accomplish this without having to re-post from CAD/CAM software and have to re-manually edit the post again. Here are some of my thoughts...

• Posting the main program out with each machining operation being separate sub programs to be called by a main that contains the different work offsets would create a lot of sub programs… (I have some parts that have a ton of machine features).

• I could make three additional copies of the program and rename them o0160, o0161, and o0162. Then, in o0160 I can use word pad and search + replace all G54 with G55. I would do the same for the next two programs but with the different work offsets. Next, I could create a main program that would call my four programs. I think this would work as long as I did not have a program that I was duplicating that had thousands of lines for I would run out of memory.

• I don’t think that I can omit the G54 from my existing program, make copies of it, then have a main program with the different fixture offsets calling my modified program because I have the G53 tool change positions in my program and not having a fixture offset set before my next machining operation would not work?
o If once a work offset value is set, say in a main program, and that fixture offset never went away until a different work offset value was entered then I could just omit the G54 from my original program. I’m not sure though if the G53 tool change position would interfere with that concept if it were even possible??

Below is a short section of one of my programs posted by BobCAD then modified manually. We’ve only had the Fadal VMC 4020 w/ Fanuc 18i controller for 8 months and the only prior experience was programming on an Anilam controller. I’ve only been working with BobCAD and programming G Code for a short time so any constructive advice would be greatly appreciated (other than dumping BobCAD cause I’m stuck with it for a while… lol).

%
O0159 (PUMP_COVER)

( PROGRAM NAME - 867905.NC)
( POST - FANUC 18-IMB)
( DATE - THU. 09/15/2011)
( TIME - 07:40AM)

G0 G80 G40 G49 G17

(FACETOP)

G53 X-9. Y2.
T01
M06
G00 G90 G54 X-3.52 Y-.78 S7000 M03
G43 H01 Z.1 T02
M08
G01 Z0. F100.
X6.955 F65.
Y-2.48 F500.
X-2.42 F65.
G00 Z.1
M09
M05
M01

(PROFILEOUTSIDE)

G53 X-9. Y2.
T02
M06
G90 G54 X.08 Y.5455 S5000 M03
G43 H02 Z.1 T03
M08
G01 Z-.65 F100.
X-.17 F35.
……………… Program continues with multiple operations…………..

Thanks…
Reply With Quote

  #2   Ban this user!
Old 09-22-2011, 02:23 PM
 
Join Date: May 2004
Location: United States
Age: 48
Posts: 2,217
txcncman is on a distinguished road

I have done this many times. Do tool change and tool length and call out your work offset just prior to your sub call. Cancel everything and return Z to machine zero before next call out.

%
O----;
(Start up code);
----
T1 M6;
G43 H1;
----
G54;
M98 P1001;
----
G55;
M98 P1001;
----
T2 M6;
G43 H2;
----
G54;
M98 P1002;
(And so on)
G0 G28 G91 Y0.;
G90;
M30;
%

%
O1001;
G0 X- Y- S1000 M3;
G0 Z0.1 M8;
(Some machining)
G0 G28 G91 Z0. M9;
G90 M5;
G53 X-9. Y2.;
M99;
%
__________________
http://www.kirkcon.com/
Reply With Quote

  #3   Ban this user!
Old 09-22-2011, 04:53 PM
JoeCraftsman's Avatar  
Join Date: Jun 2011
Location: United States
Posts: 10
JoeCraftsman is on a distinguished road
Need other option...

Thanks very much for the reply...

I have one program that contains multiple tools and features that is currently making a part in one vice.

Now, I would like to run that program as a whole but at more locations. If I break down all the machine features/tool changes into individual programs then I'll have a long list of programs being called by a main program.

I've created main programs before that contain the RPM, Fixture and tool offsets and called a sub program.

Not sure if the only way is for me to duplicate my current program as a whole and only change the G54's with in it to G55's, then another copy of the program and change them to G56's, etc.

Then I could have a main that calls those 'whole' programs that each have different fixture offset calls.

I hope I did not totally miss something in your reply... I'll check back a little later and look for more responses and look back over your reply too..

Again, thanks to you and any further replies.
Reply With Quote

  #4   Ban this user!
Old 09-22-2011, 09:59 PM
 
Join Date: May 2004
Location: United States
Age: 48
Posts: 2,217
txcncman is on a distinguished road

Unless you call a G53 in your current program, just take all the G54's out and put M99 instead of M30. Make a new program that will set G54 then call your current program, then set G55 and call your current program, then set G56...and so on. Work Zero Offset is modal and stays in effect until canceled by G53 or another Work Zero Offset (G55, G56, etc.).

My earlier suggestion was so that you would have fewer tool changes. In this second example, you would change and run through each tool on G54 at vise #1, then repeat for G55 on vise #2, and so on. 10 tools X 4 vises = 40 tools changes. In my first example, the first tool would load and run all vises. Then the second tool would load and run all vises. And so on. 10 tools X 4 vises = 10 tools changes.
__________________
http://www.kirkcon.com/
Reply With Quote

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

I do this all the time on Haas machines machining up to 16 parts with 12 tools.

My 'Main Program' only has all the Work Offset selection (G54, etc) and then it calls the Subprograms. The Subprograms have the tool change call and start the spindle, etc. Each sub is really a complete program for that tool.

On Haas machines the subprograms are added on at the end of the main program, they are not separate programs so my program structure is:

O00000
(All the heading stuff)
G54 M97 P1000
G55 M97 P2000
etc
etc
M30
(Subprograms below here)
N1000 (All the stuff for tool 1)
M99
(---)
N2000 (All the stuff for tool 2)
M99
(...)
etc
etc

In your case N1000 will be O00001 and N2000 will be O00002, etc. If you have twelve tools you will have twelve subprograms.

One advantage I find in doing it this way with everything in the subprograms is that they can be run as seaparate programs for proving them out.

Also when setting up it is possible to Block Delete all the subprogram calls except the one for G54. This means you can check all your dimensions on a complete part before machining a full machine load.
__________________
An open mind is a virtue...so long as all the common sense has not leaked out.
Reply With Quote

Sponsored Links
  #6  
Old 09-23-2011, 10:28 AM
DareBee's Avatar
Monkeywrench Technician
 
Join Date: Jan 2004
Location: Stratford, Ont. Canada
Posts: 2,783
DareBee is on a distinguished road

Yep - there is no need to call your fixture offset more than ONCE in a program.

Only thing I would do different than Geof is to put my subprogram BEFORE the main program.
FADAL says I have to and HAAS is opposite.
Better check your manual to see which side of the main program YOUR sub has to be on.
__________________
www.integratedmechanical.ca
Reply With Quote

  #7   Ban this user!
Old 09-23-2011, 10:32 AM
 
Join Date: May 2004
Location: United States
Age: 48
Posts: 2,217
txcncman is on a distinguished road

If your program and sub-programs are in separate files, it does not matter which comes first. I think Fadal Format 1, the sub must be included in the same file and must come first.
__________________
http://www.kirkcon.com/
Reply With Quote

  #8   Ban this user!
Old 09-23-2011, 11:46 AM
JoeCraftsman's Avatar  
Join Date: Jun 2011
Location: United States
Posts: 10
JoeCraftsman is on a distinguished road
Thanks!

This is what I was hoping as replied below...

... Work Zero Offset is modal and stays in effect until canceled by G53 or another Work Zero Offset (G55, G56, etc.) ...

This will give me some options. I just need to make sure that I take the
G53 X-9. Y2. for my 'safe tool change' location out and just make sure I have clearance above the part... This way the G53 does not 'cancel' my current desired work offset / vice location.

Thanks very much for the replies!
Reply With Quote

  #9   Ban this user!
Old 09-23-2011, 12:47 PM
 
Join Date: May 2004
Location: United States
Age: 48
Posts: 2,217
txcncman is on a distinguished road

If you do not have any height issues above the parts, (i.e. clamps, fixtures, rotary axis), and extremely long tools, most machines do tool change at or near machine zero. G0 G28 G91 Z0. sends Z axis to machine zero. There is usually no need to have a forced X, Y tool change position unless there are these clearance issues.

Example: Machine Z Travel = 20.000
Part height above table = 4.000
Clamp height above table = 6.000
Tool changer arm drop down = 5.000
Longest tool length = 4.000

Effective tool change clearance = 20 - 6 - 5 - 4 = 5.000
__________________
http://www.kirkcon.com/
Reply With Quote

  #10   Ban this user!
Old 09-23-2011, 01:19 PM
JoeCraftsman's Avatar  
Join Date: Jun 2011
Location: United States
Posts: 10
JoeCraftsman is on a distinguished road

Yeah, unfortunately we do have height issues quite a bit since we have a pallet changer and some parts that have 4"+ depths with drills and end mills. Plus the drop on the tool change when the arm pulls the tool out.

I do like less tool changes and in some cases if the part does not contain a lot of features I will just program to do 100+ parts in a plate and walk away. Since we have numerous parts I'm trying to keep from acquiring millions of sub programs.

Now, I don't know if it's possible (on the Fanuc) or if this is what the previous reply was suggesting, It would be cool to have sub programs within and remain in a Main program...
Reply With Quote

Sponsored Links
  #11   Ban this user!
Old 09-23-2011, 02:05 PM
 
Join Date: May 2004
Location: United States
Age: 48
Posts: 2,217
txcncman is on a distinguished road

This will increase table travel distance and time, but don't use G53 for your safe tool change location. Clear your table/set up your table in such a way that machine X0, Y0 is your safe tool change position and use:

G0 G28 G91 Z0.;
G0 G28 G91 X0. Y0.;
G90;
__________________
http://www.kirkcon.com/
Reply With Quote

  #12   Ban this user!
Old 09-23-2011, 02:26 PM
 
Join Date: Jul 2005
Location: Canada
Posts: 11,563
Geof will become famous soon enough

Originally Posted by JoeCraftsman View Post
... Work Zero Offset is modal and stays in effect until canceled by G53 or another Work Zero Offset (G55, G56, etc.) ...
This is just a picky little point. G53 does not "cancel" any work offsets it simply causes the control to ignore any active work offset and use the machine coordinate system.

And despite what txcncman says you can use G53 to define a tool change location because G53 G00 X0. Y0. is entirely equivalent to G91 G28 X0. Y0. and has the advantage you have no risk of leaving incremental active by forgetting the G90, or worse causing a crash by forgetting the G91.
__________________
An open mind is a virtue...so long as all the common sense has not leaked out.
Reply With Quote

Reply

Tags
fixture offset, g-code, multiple offsets, programming




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
Job Opening Part-time CNC Machining Instructor Ozarks Tech Employment Opportunity 0 09-15-2011 03:12 PM
Looking For A Job- part time work on longisland ADELWEIS Employment Opportunity 0 04-10-2009 10:49 AM
Job Opening Part-Time FeatureCam Programmer HiTech Employment Opportunity 0 01-08-2009 11:10 AM
Job Opening part time cnc consultant rajkamalfwks Employment Opportunity 0 06-23-2008 05:42 AM
Part Cycle Time Big"E" Mastercam 2 02-19-2007 07:04 PM




All times are GMT -5. The time now is 08:00 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