Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

5-Axis post changes on horizontal+C rotary


Recommended Posts

We have a CNC horizontal machine that has a 5th axis rotary table mounted on top of the pallet.

The pallet is rotating as "B" axis and the rotary axis on top of it as the "C" axis.

The location of the rotary table (C-axis ) is not on the pallet center, it is on one side.

 

How do I adjust the post for the diferences between center of rotation of the "B" and "C" axis.

let's say the "C" axis is 4" off "B" axis center  and also 8" high er from the face of the pallet.

 

Thank you

 

post-50053-0-70830100-1450454944_thumb.png

Link to comment
Share on other sites

Ok so if I place a part in the chuck and the B axis rotation is let's say 5" from the front of the stock all I need to do is having the same thing draw in Mastercam where the physical machine origin coincides with the mastercam origin, but it needs to be in the origin of B table rotation.

Thank you

Link to comment
Share on other sites

I think the standard/ generic post is set up assuming the B and C axis intersect each other.  Are you doing full five axis machining, or just positioning (3+2)?  If full simultaneous 5-axis I believe you will need to use WSEC and TCP together and it will account for the offset perfectly.  This is no simple task however and requires a post and machine control definition definition set up for it.  If you are running positioning only there are other ways to do it.  You could write a macro that calculated the positional changes using Euler's angles and moves the offset (G54) using G10 commands, no simple task either, but doable.  This macro would be executed at every index.

 

The easiest way to get everything working perfectly without an act of congress is to adjust the position of the C-axis so it is intersected by the B-axis.  This will take some time and you should shoot for .0005" or better, ideally .0002" or so.  Your best accuracy limit will be double whatever this offset is.

Link to comment
Share on other sites

There are three internal variables inside the Generic Fanuc 5X Mill Post that let you compensate for the "offset" between the rotary centers.

 

These variables are:

#Axis shift  
shft_misc_r  : 0     #Read the axis shifts from the misc. reals
#Part programmed where machine zero location is WCS origin-
#Applied to spindle direction, independent of RA
#Table/Table -
#Offset of tables to secondary axis relative to machine base.
#Tilt Head/Table - Head/Head -
#Part programmed at machine zero location-
#Offset in head based on secondary axis relative to machine base.
#Normally use the tool length for the offset in the tool direction
saxisx       : 0     #The axis offset direction?
saxisy       : 0     #The axis offset direction?
saxisz       : 0     #The axis offset direction?

r_intersect  : 0     #Rotary axis intersect on their center of rotations
                     #Determines if the zero point shifts relative to zero
                     #or rotation with axis offset.

So, there are a couple different ways to set up the variables in this post. You can either read the "shifts" from the Miscellaneous Real Numbers (set in each operation, using MR7, MR8, MR9), or you can use a set of "global" shifts, where you are shifting the location of the Secondary rotary axis.

 

I know that sounds like I just said something in Greek, so here is what I would try, and how I would test the output:

 

  1. For starters, do not enable 'shft_misc_r'. That variable being "on" means you read the shifts from the MR values in each operation, so leave that "off" for now.
  2. Set your "offsets" in the 'saxisx', 'saxisy', and 'saxisz' variables. The critical ones here are going to be "X" and "Z". These will "shift" your part coordinates around as the B Axis is rotated, since the Face of the C-Axis is not coincident with the center of B-Axis rotation.
  3. Once you enter the shift values, you may need to play around with the 'r_intersect' variable. Try leaving it "off", and testing your output. Then try turning it "on" (set to '1') and post again.

When you start setting this up, draw up everything as it exists in the "real world". Create a test part that isn't some stupid crazy impeller. Instead, use like a 2" x 2" block, maybe 6" long, and program a simple contour on the "top" face (face that is pointing towards the spindle at B0), and then create contours on the Front, Right, Back, and Left faces (retaliative to your "top" face). Make your test part something simple, that is easy to measure with hand tools on the machine.

 

Hope that helps,

 

Colin

Link to comment
Share on other sites
  • 1 month later...

I have been playing around with those parameters and they don't seem to be working for my setup.  I adjust the X parameter (saxisx) and when the B-axis is rotated 90 degrees the machine is comping in the X direction.  Here is an example:

 

There is a point 3.0" above the WCS and I enter a shift value of .1 in saxisx.  I drill it at B0, then index B 90 degrees and drill it at B90.  When the table is indexed at B90 the spindle positions at X2.9, not X3.0 where it should be. 

 

I have played with all of the settings to see if I can make it work with no luck.  Maybe I misunderstand how this functions?  I thought it could account for an offset between the B-axis (4th) and C-axis (5th).  In my example I had set the offset to .1" in the X direction.  This is for my HMC with a rotary on it.  The B-axis runs in the Y direction and at B0.0 the C-axis runs in the Z direction.

Link to comment
Share on other sites

Did you enable 'r_intersect'? Try setting that to '1' and see if the output changes...

I did and the output did changed but it still wasn't right.  I had the drilling at B90, B-90, and C0, 90, 180, and -90.  The shift results should have shown up as depth variations in Z (drill depth) only but it was shifting in X as well.

Link to comment
Share on other sites

If you read comments at the top of the post, here is what it says:

#Axis Offsetting:
# This post is designed to support axis offset and zero shifts to handle
# cases where 1) the primary and secondary axis do not intersect and
# 2) where the program zero point is not set at the primary and secondary
# axis intersection.  Always select the WCS origin to be the zero point
# relative to the machine model when creating toolpaths in Mastercam.
# The zero point should be selected as the primary and secondary
# axis intersections whenever possible.
# When mi6 is off, the assumption is made that the zero position is
# set in the control at a datum.  This is disabled in all cases for
# 5 axis toolpaths (including polar and axis substitution).
# The offsets are set relative to the machine base matrix (matb1-matb9).
# The machine zero point must be on the primary or secondary axis and
# the shift (saxisx, saxisy, saxisz) describes where the rotation is 
# relative to the zero point.
#Table/Table configuration:
# All 3 axis offsets are supported.
#
#Table/Head configuration (only primary table/secondary head):
# Axis offsets are supported on primary axis.
#
#Head/Head configuration:
# All 3 axis offsets are supported for non-nutating machines.
# Only the primary to secondary axis offset is supported for nutating machines.
#

"When 'mi6' is "off", the assumption is made that the "zero" position is set "in the control at a datum".   <--- This means you need to "enable" the 'mi6' in the Tool Path, to see the shift take place...

 

Otherwise, when it is off, the post thinks the output of your operation is relative to a Work Offset position, not COR...

 

So, first enable "mi6", then post it out. If that isn't correct, then try switching 'r_intersect' and post again...

Link to comment
Share on other sites
  • 3 weeks later...
  • 4 years later...
On 2/10/2016 at 8:33 PM, Bob W. said:

I have been playing around with those parameters and they don't seem to be working for my setup.  I adjust the X parameter (saxisx) and when the B-axis is rotated 90 degrees the machine is comping in the X direction.  Here is an example:

 

There is a point 3.0" above the WCS and I enter a shift value of .1 in saxisx.  I drill it at B0, then index B 90 degrees and drill it at B90.  When the table is indexed at B90 the spindle positions at X2.9, not X3.0 where it should be. 

 

I have played with all of the settings to see if I can make it work with no luck.  Maybe I misunderstand how this functions?  I thought it could account for an offset between the B-axis (4th) and C-axis (5th).  In my example I had set the offset to .1" in the X direction.  This is for my HMC with a rotary on it.  The B-axis runs in the Y direction and at B0.0 the C-axis runs in the Z direction.

Hi, I don't know if you remember it (as it's been written more than 4 years ago), but how did you solve the fact that it shifted in x too? Thank you, Regards

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...