What's new
What's new

Multi part fixture 60off parts with Siemens 840D controller

stuflo

Plastic
Joined
Dec 11, 2012
Location
uk
I have a multi part fixture which holds 60 parts.
This fixture goes on the machine daily to machine parts over night.
I want to be able to put the fixture on and probe align the fixture in G54 and pick the fixture up in G54, which is the easy part.

What I want to do is machine the part with G55, therefore I want to move to position of each part in G54 and then set G55 at center of the part with X0 Y0 and say Z25 and also the rotation that is in G54 and machine the part with a sub program

My thinking behind this is that the fixture doesn’t have to be clocked up (In effect it could be 20deg out of square). each component is critical with rotation when on the fixture as it is already part machined.

This can be done with a G10 in Fanuc but not sure on the Siemens controller

Hope this makes sense
 
To change the positions in G54, your code would look like this:

$P_UIFR[1,X,TR]= ; new position x
$P_UIFR[1,Y,TR]= ; new position y
etc...

G55 would look like:

$P_UIFR[2,X,TR]= ; new position x
$P_UIFR[2,Y,TR]= ; new position y
etc...
 
I use the trans atrans rot and arot, it's the frames concept the siemens uses

To build on your idea, I suppose you could even use cycle800 which combines all of those things. Never seen it used for more than one part, but that would be pretty elegant.
 
Do you have a probe? You could use offsets G505-G599. Pick em up individually. Might take a while to get the probing program finished, but that is what copy and paste and edit is for. Also, you can control probing cycles with macros too....
 
Thanks for the replies.

As for probing each part, it would take too long.

I’ll try the other methodS mentioned.

The rotation I could just copy G54 to G55 when picking the plate up and it would never change once the program is running.
It would just be the X and Y that would need to be set for G55

I just want a simple main program which is easy to search through to the correct part.
Then hit go with it going to position in G54 and running the sub program on G55.
 
thanks for this,

it didn't quite work but headed me in the right direction,

when i moved to postion in G54 i then swapped to G55 and ran this line which read in the machine postion
G55 would look like:

$P_UIFR[2,X,TR]=$=AA_IM[X] ; new position x
$P_UIFR[2,Y,TR]=$=AA_IM[Y] ; new position y

this did exactly what i wanted it to do,

now the only thing left to do is find the variable for the G54 Z rotation

i'll then write that into an R then swap to G55 and input the R value saved from G54
 
you could always do a rot z=r50;what ever r your gonna use.
than a trans by itself cancels all frames, the only thing I'm not sure if it will
cancel the g offsets. but you could always do a arot the - direction to zero it back out.
 








 
Back
Top