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:

RoboDrill


Recommended Posts

Good Morning,

 

My shop just got two new RoboDrills with trunnions and robot arms. I'm working on dialing in a machine definition and post processor for them. I'm using a post for the bolt on trunnion for our VF6.

 

Something isn't cooperating though. I programmed a simple 3+2 operation to see if my A&B movements were correct, but it keeps posting out an A-90 when it shouldn't be moving A at all. I have the axis defined correctly in the machine definition. What else am I missing? The example below should only have a B35. and A should remain at 0.

 

The Fanuc trunnion is setup so that A is the platter, and B is the swing around Y. So for my machine defintion;

A rotates around Z and Y+ is 0.

B rotates around Y and Z+ is 0. 

 

*******

T1 M6
G0 G56 G90 X-.7192 Y-3.0061 A-90. B35. S1426 M3
G43 H1 Z8.5 M8

*******

 

 

Link to comment
Share on other sites

The kinematic arrangement is not the same for the VF6 versus the RoboDrill. That is the reason you're getting output that doesn't seem correct.

Depending on the vintage of your Post Processor, there is likely no logic in the Post Processor, to actually read the values from the Machine Definition. So the Rotary Parameter Settings that you are adjusting, simply have no effect on the output.

It is likely that your VF6 Post was built using some version of the Generic Fanuc 5X Mill Post. That Post Processor uses "variable switches" at the top of the Post, to setup all of the 5X Output.

You need to change the 'primary' and 'secondary' vector definitions:

#Primary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis must be the XY plane
rotaxis1$ = vecx  #Zero       
rotdir1$  = vecy #Direction  

#Secondary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis and this plane normal
#are aligned to calculate the secondary angle 
rotaxis2$ = vecz  #Zero        
rotdir2$  = vecx  #Direction   

#NOTE: Use of 'top_map' requires the dealer match the
#      above settings below.  These must match initial settings!!!
p_nut_restore    #Postblock, restores original axis settings 
      result = updgbl(rotaxis1$, "vecx") #Zero
      result = updgbl(rotdir1$, "vecy") #Direction
      result = updgbl(rotaxis2$, "vecz") #Zero
      result = updgbl(rotdir2$, "vecx")  #Direction

The results above, should give you "C" on "B". (Primary rotates on Z Axis. Secondary rotates on Y Axis)

Note that the "Primary/Secondary" relationship and nomenclature, exist regardless of what Address Label you assign to the Primary and Secondary.

# --------------------------------------------------------------------------
# 5 Axis Rotary Settings
# --------------------------------------------------------------------------
#Assign axis address
str_pri_axis : "A"
str_sec_axis : "B"
str_dum_axis : "C"

#Toolplane mapped to top angle position strings
str_n_a_axis : "A"
str_n_b_axis : "B"
str_n_c_axis : "C"

Also,

In your description above, if "Y+" is the "zero position" of your Primary (A Zero), then it would require a 90 Degree Rotation in the Primary, in order to make a vector alignment.

What I'm saying, is that your "zero position" for the Primary, should actually be either + or - X. That way, if you machine on the Right or Left Toolplane, your Post should simply output +90 or -90 for the B-Axis, without moving the Platter (A-Axis) at all. For that condition to be true, you've got to use the X-Axis vector as the Zero Position for the rotary.

You'll notice that I set it that way in the pri/sec vector definitions above.

 

Note that in the settings I used for PRI/SEC above, there is no "vecz" in the Primary. (This means you're rotating about that axis.)

There is also no 'vecy' in the Secondary. (That means you're rotating about Y.)

All you should have to worry about, is "+-" on the DIR parameters and the AXIS parameters.

These are the valid combinations:

OPTION #1:
#Primary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis must be the XY plane
rotaxis1$ = vecx  #Zero       
rotdir1$  = vecy #Direction  

#Secondary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis and this plane normal
#are aligned to calculate the secondary angle 
rotaxis2$ = vecz  #Zero        
rotdir2$  = vecx  #Direction   

OPTION #2:
#Primary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis must be the XY plane
rotaxis1$ = vecx  #Zero       
rotdir1$  = -vecy #Direction  

#Secondary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis and this plane normal
#are aligned to calculate the secondary angle 
rotaxis2$ = vecz  #Zero        
rotdir2$  = vecx  #Direction   

OPTION #3:
#Primary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis must be the XY plane
rotaxis1$ = -vecx  #Zero       
rotdir1$  = vecy #Direction  

#Secondary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis and this plane normal
#are aligned to calculate the secondary angle 
rotaxis2$ = vecz  #Zero        
rotdir2$  = vecx  #Direction   

OPTION #4:
#Primary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis must be the XY plane
rotaxis1$ = -vecx  #Zero       
rotdir1$  = -vecy #Direction  

#Secondary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis and this plane normal
#are aligned to calculate the secondary angle 
rotaxis2$ = vecz  #Zero        
rotdir2$  = vecx  #Direction   

OPTION #5:
#Primary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis must be the XY plane
rotaxis1$ = vecx  #Zero       
rotdir1$  = vecy #Direction  

#Secondary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis and this plane normal
#are aligned to calculate the secondary angle 
rotaxis2$ = vecz  #Zero        
rotdir2$  = -vecx  #Direction   

OPTION #6:
#Primary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis must be the XY plane
rotaxis1$ = vecx  #Zero       
rotdir1$  = -vecy #Direction  

#Secondary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis and this plane normal
#are aligned to calculate the secondary angle 
rotaxis2$ = vecz  #Zero        
rotdir2$  = -vecx  #Direction   

OPTION #7:
#Primary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis must be the XY plane
rotaxis1$ = -vecx  #Zero       
rotdir1$  = vecy #Direction  

#Secondary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis and this plane normal
#are aligned to calculate the secondary angle 
rotaxis2$ = vecz  #Zero        
rotdir2$  = -vecx  #Direction   

OPTION #8:
#Primary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis must be the XY plane
rotaxis1$ = -vecx  #Zero       
rotdir1$  = -vecy #Direction  

#Secondary axis angle description (in machine base terms)
#With nutating (mtype 3-5) the nutating axis and this plane normal
#are aligned to calculate the secondary angle 
rotaxis2$ = vecz  #Zero        
rotdir2$  = -vecx  #Direction   

 

  • Like 3
Link to comment
Share on other sites
  • 2 months later...
  • 1 month later...
4 hours ago, Peter - NCS Ltd. said:

Hi Colin,

sooo there are only 8 valid axis combinations are exits?

 

TIA, Peter

Hi Peter,

No, those 8 combinations are for an arrangement where 'rotaxis2' is 'vecz',  and 'rotdir2$ is either 'vecx' or '-vecx'.

The minus sign controls the direction of rotation. In the sample above, I limited our Secondary arrangement to 'Rotate about the Y-Axis'. You can tell it is a Y-Axis, because 'Y' is not present in either vector name. (We are defining 2 mutually perpendicular vectors, to the rotary Axis we are defining.)

So, limiting the Secondary to "Y", means we can only flip the positive/negative sign of this axis.

That means for defining the Primary axis, we have two vectors, which could be arranged to give us (technically) 8 combinations. Multiply that by the two choices for Secondary direction, and we have a total of 16 choices.

However, there are a combination of Vectors, where the Primary (Zero) position is at "right angles", to our Secondary. Which means we can eliminate those combinations, because if we used them, it would require a 90 degree rotation on the Primary, to get the Secondary into position.

An example of that would be where you program at Top, and get B0. C0., then use Right or Left planes. If your Post is configured correctly, on a B-Axis Secondary (about Y), then Right or Left should give you B+90 C0. Or B-90 C0. If you use Front or Back, you should get B+-90, and C+-90. There should be a 90 degree rotation in the Primary, only on Front/Back.

For a A/C machine, where the Secondary is about X, the reverse is true. Front/Back should give only a Secondary rotation (Primary doesn't move), and Right/Left Planes will give a 90 degree Primary rotation.

There are easily 500+ combinations of Vector arrangements (mathematically speaking), when you include the Machine Base Matrix settings, and Nutating options.

  • Thanks 2
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...