Fagor 8055 CNC mill - programming for multiple vices in table

I have a new-to-me Fagor 8055 control on a bed mill. I am using conversational programming. I have two vices on the table, and want
to perform identical operations at both locations; I may go to three in the future. The vices are indicated in in Z and Y, and I have measured the X offset.
What is the best way to approach this programming problem? I can copy and paste the program steps, then go back and edit all the X locations adding the offset to my second vice. You apparently cannot use the array function on all the canned cycles... just certain ones.
I am open to hearing about solutions in ISO (g-code) programming, too. I attempted to use a G58 with the X offset, but lost my part location zero in doing so.
Thanks for your help!
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I guess I meant Vises versus Vices.
Anyone?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

alt.machines.cnc newsgroup
I can tell you..but some will flame me for doing it wrong. Im not a mill guy
Gunner
"Deep in her heart, every moslem woman yearns to show us her tits" John Griffin
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote on 3 Feb 2007 19:22:14 -0800 in rec.crafts.metalworking :

    Where I work, all the vises have a hole precisely located, where a pin goes in, to engage the bottom of fixtures. These are called the "G10 holes/pins" [from the G code to establish an "Offset Value"] and makes it possible for button monkeys to rapidly set up some 3000 jobs without having to dial anything in first. Of course, some experienced machinist had to set the G10 values in the line in the code, but it is part of the whole "first run" procedure which is part of why "they get the big bucks."
    This is easier said than done, and difficult enough to do without the machine in front of me, but going from that practice, I'll display my ignorance with the following:
    Somewhere on your table will be the "god hole". This is the point from where your machine offsets all programs, where the Datum Shift (g54 etc) reference to. (this is not necessarily machine zero. That's where the machine goes "home" to, G28 X0.0 Y0.0 Z0.0) We reference it in programs with G53.     Your first station/vice becomes G54 (second g55, and so forth). In your code, before the first tool change, will be a lines (iirc, all my references are at work.)     G10 L1 P2 X3.0 Y4.0 Z5.234;     G10 L2 P2 X13.0 Y4.0 Z5.234;
    T01 M06;     G00 G90 G54 X-0.03 Y5.3 S3000 M03;
G10 stashs the following info (x,y,z) into the location indicated by L1,L2,L3 (etc), starting with G54. So what is in the first line becomes the offsets in G54, the second line in g55, and so forth.
    After the tool change is the first move, which contains which datum shift to use for a reference - the first one, in this instance.
    Your program code will perform the work in relation to where the datum was shifted for the first vise, say the upper left corner of the vise. After doing your magic :-), then you program to retract the tool to machine home, and Cut and paste what you have for vise one, to vice two and change the G54 line to:          G00 G90 G55 X-0.03 Y5.3 S3000 M03
this repeats what you just did, but for vise two. Again, the program is measuring everything from a predefined point (the upper left corner, for example.)
    For safety sake, every tool change should be followed by an invocation of the relevant datum shift. Fourteen tools, fourteen times G54 is in the code. Even if you don't change offsets, put it in there. Prevents problems. Like when you cut and paste code to use on a different station; but you will need to find and change every G54 and replace it with G55, or what ever.
    Dry run your program, with the sure knowledge that something will go wrong, it is the first time.. Double check your programming manuals, ask a knowledgeable user/programmer. YMMV. No guarantees, explicit, or implied are made about the suitability of this advice for your machine, situation, or condition. Be careful. If the conditions persists, see a doctor. If the Doctor persists, use Caution. Do not pass go, do not collect 200 dollars. Go not to the Net for answers, for it will tell you Yes and no. And you are a bloody fool, only an ignorant cretin would even ask the question, forty two, 47, the second door, and how many blonde lawyers does it take to change a lightbulb. Neither the Secretary nor anyone in the Department will admit any knowledge of you, or your problem. Use no hooks. Never stand on the burners of an electric stove while holding a wet cougar. Please remove rear lifting shackles before movement of any axis. Keep dry. Lubricate thoroughly. Do not pass on the right. Be Safe.
pyotr
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Outstanding response..... Thank You!
(...I never did get the hang of Thursdays.)
-Spencer
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Pyotr,
I just checked my book, and G10 is "cancel mirror image". Am I missing something??
S
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Spencer wrote:

The G10 code in ansi standards is an unassigned code. That means that it can be any function the control mfgr. makes it. The ansi standard codes have been corrupted to an extent that you have to use the programming manual for your control to be sure of what they do.
Unless some is familiar with the Fagor control I would be very cautious about using the codes posted here.
John
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
on Sun, 04 Feb 2007 23:05:53 -0500 in rec.crafts.metalworking :

    Yeah. Me too.
    I love industry standards, there are so many to chose from.
--
pyotr filipivich.
as an explaination for the decline in the US's tech edge, James
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote on 4 Feb 2007 19:42:42 -0800 in rec.crafts.metalworking :

    Hmmm... the right machine? :-) Dang, I hope this isn't one of those issues which falls under "machine specific."
    Ummm, hmm, well. Let me see if my technical reference is answering his phone ...
    Okay, what you need to do is replace your control with a Fanuc, then the code will run perfectly. Simple for me to say :-) Otherwise, see if your book has an entry for "Offset Value Setting" or "coordinate system origin setting" or similar words. Talking with my guru, he says "Oh, is simple. Use incremental dimension input (G91) and work from one common point." [Drawback to this is that to locate where the program is going, you have to know where it's been. The old problem of taking the kid to school, and the Molly route they know is the one the school bus takes, which is not the most direct route.]     His other idea is to set up a macro, which sets coordinate zero, and then calls the program. But that leaves us where we were at, at a higher plain of complexity.
--
pyotr filipivich.
as an explaination for the decline in the US's tech edge, James
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Mon, 05 Feb 2007 06:37:14 GMT, pyotr filipivich

Or run the first vise, then call a loop with a G10 based on the measured value of the distance to the same start location on the second vise.
Gunner
Political Correctness
A doctrine fostered by a delusional, illogical liberal minority and rabidly promoted by an unscrupulous mainstream media, which holds forth the proposition that it is entirely possible to pick up a turd by the clean end.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
on Mon, 05 Feb 2007 09:14:18 GMT in rec.crafts.metalworking :

    Which is what I first suggested, but his machine is "faulty" and the G10 command doesn't do what it does on my machine. Oh well, it has been a learning experience for all of us. I knew I was going to display my ignorance to all.
--
pyotr filipivich.
as an explaination for the decline in the US's tech edge, James
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Wed, 07 Feb 2007 21:41:41 GMT, pyotr filipivich

You actually did pretty good.
Give 100 programmers the same print..and you will get 100 different programs back, all of which will cut the part just fine.
Gunner
"Liberalism is a philosophy of consolation for Western civilization as it commits suicide" - James Burnham
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
on Thu, 08 Feb 2007 10:10:54 GMT in rec.crafts.metalworking :

    I've noticed that. Some programmers have a elegance to their code, others write code so ugly it has to sneak up on a mirror.
tschus pyotr
--
pyotr filipivich.
as an explaination for the decline in the US's tech edge, James
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Thu, 08 Feb 2007 12:36:22 GMT, pyotr filipivich

The end product that separates the good programmers from the bad ones, is not the finished part alone..but cycle time and tool life.
Gunner
"Liberalism is a philosophy of consolation for Western civilization as it commits suicide" - James Burnham
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
on Thu, 08 Feb 2007 18:08:45 GMT in rec.crafts.metalworking :

    And that is part and parcel of the elegant code, and the ugly code distinction.
    We have a part ("No? Really?! Just a part?") which is small, two stations and the program does basically the same thing: two tools, an EM and a drill. Uses End Mill to mill periphery, then drills two holes; repeat tool use on station 2. (You flip the part from station 1 to station 2, so it does both legs of an angle extrusion.)     The inelegant thing is that is it first does station 1 complete (mill, drill), then switches back to the end mill, and does station two (mill drill). I know, simpler to code that way, but that is two extra tool changes per cycle!     If I were the programmer, it would start out with the end mill, do station one, then load the drill, drill station 1, then station 2, then switch back to the EM, and finish off station 2. And no tool change necessary at the start of the run, you "last tool" is your "first tool"!
    Grumpf. I signed up for the possibility of getting a shot at the programmer job. May know more in March. But I'll probably have to switch to days, and work five 8s instead of the current four 10s. And I'll lose an hour of holiday pay. Oh well, that's the penalty for only working part time, as the shift supervisor says.
tschus pyotr
--
pyotr filipivich.
as an explaination for the decline in the US's tech edge, James
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Mon, 12 Feb 2007 04:59:04 GMT, pyotr filipivich

Indeed.
On the other hand..get to be a good programmer..and you get more money and a home in a lot more places than a simple "green button" pusher has.
Gunner
Political Correctness
A doctrine fostered by a delusional, illogical liberal minority and rabidly promoted by an unscrupulous mainstream media, which holds forth the proposition that it is entirely possible to pick up a turd by the clean end.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
on Mon, 12 Feb 2007 09:34:47 GMT in rec.crafts.metalworking :

    Well, it would be a sacrifice, but if I have to switch to working five days a week, and make more money, I guess I'll just have to do it. For the good of the Company, you understand, not that I'm in this for the money.
tschus pyotr
--
pyotr filipivich
"If once a man indulges himself in Murder, very soon he comes
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

It depends on specific G code used on specficic machines. On the OmniTurn lathe..its a "work shift" value.
Comes in damned handy when dry running a program for the first time, after the tools have been touched off..or when you are running the same part, but a longer/shorter version. Same family for example.
G10Z2 (makes all Z moves 2" to positive side of the actual tool offsets)..this allows you to run a dry cycle with all the X values in line..but 2" away from the part.
G10z-.05 (makes all Z moves .05 closer to the spindle (assuming to the negative of Z0 for each tool is closer to the spindle)
Each Z0 meaning that its dead nuts at the face of the part on the lathe, assuming you have touched off each tool to be dead nuts..<G>
This shifts all Z moves, rather than having to edit each one so you dont bust off tools. Good for first run, good for diagnostics without breaking down all your tools..assuming you dont have a axis runaway condition you are trying to diagnose...sigh
It works with X as well
G10X1 shifts all X moves 1" to the positive. Not good if you have a long cutoff tool at the back of the slide or turret though...
Gunner
Political Correctness
A doctrine fostered by a delusional, illogical liberal minority and rabidly promoted by an unscrupulous mainstream media, which holds forth the proposition that it is entirely possible to pick up a turd by the clean end.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Spencer wrote:

A g58 on that control is an incramemtal offset... that is, it is the distance from the present position to the new position. Use a g54, g55 or g56 to load the work position for each vice in reference to the absolute machine position.
John
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Thank you, everyone, for your thoughtful replies!!
-Spencer
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.