![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| Haas Mills Discuss Haas machinery here! |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| |||
| |||
I should probably do some more research and reading before posting this but I'm going to ask anyway. ![]() It seems that if I develop a program for a single part then want to move that part to a multipart fixture that G52 is a great way to do it. First, is this typically the way someone would do this? Develop the program first then do a multipart fixture and use a macro with a loop to setup for running that same program at each part location on the fixture? If so, and it would seem so, what is the preferred method of Main vs Sub? It seems you can do it one of two ways. 1) The main program has all the G52 calls and the sub contains the program that does the work. 2) The main program does the work and the sub has all the G52 calls to shift everything around each time. If I am indeed correct in my assertion above, what is the preferred method? The G52 shifts being in the main program or the sub program? It would seem having the main program doing the work would be the preferred way so that if you want to do some other work that's not repeated at each location you could so before or after the looped section of the main program. |
|
#3
| |||
| |||
| Yes, there is a preferred method. Assign each part, (or each face if you have a 4th and or 5th axis) a different work offset (G54, G55, G56, G57, G58, G59 etc...). When the parts start to get complicated with different heights you need to watch your z moves and your clearance between parts. |
|
#4
| |||
| |||
I've done a lot of G52 work and find that a DO/WHILE statement in the main is the safest method. The subprogram will contain the part parameters. Callup can either be an M98 or a G65. I prefer the G65 because you have more flexibility with sub programs inside of subprograms. Hope that helps you. Good luck. |
|
#5
| |||
| |||
| I'm not talking about using different work offsets (g55, g56, etc.). I'm talking about using changing G52 values. If you were to use different offsets (g55, g56, etc.) for each part position you would have to change every single one of them of your fixture changed position on the table between part runs. Using differing G52 values to simply offset from the original G54 would mean changing only one work offset (G54) should the fixture be moved with relation to the table between part runs. |
| Sponsored Links |
|
#7
| |||
| |||
| 3d, thanks for your method and the reasoning. The reason I asked this question is that I found myself in this situation. I had a part program I had created and then wanted to fixture it on a multipart fixture. Is this a common occurrence? Is this typically how the development cycle goes? Prove out the single part program first then modify the program for the multipart fixture? Anyone else prefer one of the two methods I mentioned over the other? |
|
#8
| |||
| |||
| 3d, in rereading your post I'm still a little confused. Are you doing the cutting in the main or the sub? From what you posted you're using the DO/WHILE in the main but is that loop doing the cutting work or setting the G52's? |
|
#9
| |||
| |||
You can either post the individual fixture location coordinates as X & Y values in G52 or use a variable(s) in the G52 callup (indicating where the X0, Y0 of each of your fixture locations are) then enter your subroutine either with M98 or G65. As before, I prefer G65 because of it's greater versatility. Does that help? |
|
#10
| |||
| |||
Perhaps a simple example will demonstrate. N100G52 X1.25Y2F5. N110G65P1000 N1000G90G0X0Y0 N1001G1X2.3Y2.5 N1002XxxxYyyy N1003XxxxYyyy N1004G0Z0 N1005X0Y0 N1006G52X0Y0M98 N120G52X2.Y3. N130G65P1000 M30 Does this clarify? |
| Sponsored Links |
|
#11
| |||
| |||
| I get that you can use absolute values when setting the G52's or you can use variables that are incremented in a loop. Maybe I'm just not explaining myself clearly. Using absolute values or variables, you could still do the cutting in the sub or in the main program when using M98. My question is it preferred to do the cutting in the sub or the main? Also, I think that any machine can use the M98, M99 calls but only a machine with the Macros option can use G65. Is that the case? |
![]() |
| 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 |
| Need Help!- Main and Subprogram | vanm | Fadal | 7 | 10-06-2009 10:15 AM |
| rod and main bearings | Hiredgun | I.C. Engines | 3 | 05-04-2008 12:46 AM |
| Your Main Page Is Down ! | CheekieMonkies | Forum Questions or Problems | 10 | 08-19-2007 05:26 PM |
| Main current for a drive? (BRU-200) | toninlg | Servo Motors and Drives | 1 | 06-02-2007 01:27 PM |
| main haas board | daleman | Haas Mills | 4 | 03-16-2007 06:58 PM |