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:

Live tooling spindle direction


Zoffen
 Share

Recommended Posts

Hello all emastercamers!

 

I am having problem getting my live tools to spin the right direction.

 

If i use a cross direction, i.e. a radial live tool, front,bac,ect. it outputs a code to start the spindle backwards, while if i use a axial live tool with the right plane it will start the spindle the proper direction. Can anyone tell me how to fix this so i don't smoke anymore tools?

thanks a bunch!

Link to comment
Share on other sites

I've only used live tooling on a lathe that had actual interface programming, and it would do the same thing so we just had to tell it that the tool was meant to rotate the other direction. It only did it on some of our holders though ( I think the 4x RPM multiplier holders) and not on the 16x multipliers... Not sure how to manage this in mastercam. There may be something that you have to set up in the machine definition to manage this, but again, my experience with those tools are limited to controller based programming. Hope this helps anyway. brendan

  • Like 1
Link to comment
Share on other sites

Hello all emastercamers!

 

I am having problem getting my live tools to spin the right direction.

 

If i use a cross direction, i.e. a radial live tool, front,bac,ect. it outputs a code to start the spindle backwards, while if i use a axial live tool with the right plane it will start the spindle the proper direction. Can anyone tell me how to fix this so i don't smoke anymore tools?

thanks a bunch!

 

I've had this problem.

 

Our machine; spindle on left tools on right in the back. when milling or drilling, ect live tools on the front face facing the spindle we need to command an M74 (live tools spindle CCW), When milling or drilling live tools on the side we need to command M73 (live tools spindle CW). This will make the tools climb as the should.

 

My post posts an M73 for all live tools.

 

I note the Tool Number that need changing and change manually in the program. It's a little bit of a pain...

 

I like you, would love to have the post do this automatically...

Link to comment
Share on other sites

Hello all emastercamers!

 

I am having problem getting my live tools to spin the right direction.

 

If i use a cross direction, i.e. a radial live tool, front,bac,ect. it outputs a code to start the spindle backwards, while if i use a axial live tool with the right plane it will start the spindle the proper direction. Can anyone tell me how to fix this so i don't smoke anymore tools?

thanks a bunch!

 

 

What kind of live tools are you using??

 

 

I've had this problem.

 

Our machine; spindle on left tools on right in the back. when milling or drilling, ect live tools on the front face facing the spindle we need to command an M74 (live tools spindle CCW), When milling or drilling live tools on the side we need to command M73 (live tools spindle CW). This will make the tools climb as the should.

 

My post posts an M73 for all live tools.

 

I note the Tool Number that need changing and change manually in the program. It's a little bit of a pain...

 

I would love to have the post do this automatically...

Link to comment
Share on other sites

What Post are you using?

 

In the Generic Fanuc 4X MT_Lathe Post, there is a series of strings that control the setup for code output, based on what kind of cut (cross/face) is active.

 

This is the 'scase' series of strings.

 

For Cross Cuts (live tool perpendicular to the lathe spindle), you would need to modify the 'scase_tl_c3' line.

 

scase_tl_c3  : "10010102.000000000"  #Top turret/Left spindle, Cross cut

Changing the 2nd parameter from '0' to '1' should reverse the spindle direction for Cross cutting:

 

scase_tl_c3  : "11010102.000000000"  #Top turret/Left spindle, Cross cut

  • Like 1
Link to comment
Share on other sites

If you look above the 'scase' section in the PST file, there are some comments that describe what each of those digits does. There is also a section directly above the 'scase'settings that control the position output for Cutter Compensation codes during Lathe Canned Cycles.

 

Here is the entire section I'm referring too:

 

# --------------------------------------------------------------------------------------
#Lathe canned turning settings:
#
# Set each digit of slcc_options to 0 or 1 to activate the proper canned cycle format 
# based on where your machine expects the cutter comp codes for Lead in/out moves.
#
# The default value of slcc_options ("0010000100") will output the Cutter Comp codes 
# inside the canned cycle. This maintains compatibility with Pre-X5 posts.
#
# To output the Cutter Comp codes outside the macro, un-pound the line for the second 
# slcc_options, and comment out the first option. 
# --------------------------------------------------------------------------------------
lcc_mov_mult : 2.    #Enter the move radius multiplier in X, Z for lathe canned cycle comp.

# A - Pattern, Rough, Comp lead addition, dependent on B
# B - Pattern, Rough, Comp before/after cycle
# C - Pattern, Rough, Comp in profile
#
# D - Pattern, Finish, Comp lead addition, dependent on E
# E - Pattern, Finish, Comp before/after profile
#
# F - Face/Turn, Rough, Comp lead addition, dependent on G
# G - Face/Turn, Rough, Comp before/after cycle
# H - Face/Turn, Rough, Comp in profile
#
# I - Face/Turn, Finish, Comp lead addition, dependent on J
# J - Face/Turn, Finish, Comp before/after profile

#Columns-       ABCDEFGHIJ    #Comp Output
slcc_options : "0010000100"   #Pattern & Face/Turn inside Canned Profile
#slcc_options : "1101111011"  #Pattern & Face/Turn outside Canned Profile

# --------------------------------------------------------------------------
#Machining position turret/spindle settings
# Switch strings based on turret position top/bottom-left/right and cut type.
# Turret position is based on the Mastercam settings (see lathtype).
# Strings are re-assigned for output in the routine psw_str_mult.
# The string variable sw_string holds the place position value to determine
# how to assign the strings.  Planes are relative to the view from Mastercam.
# Assign the 17 digit string following the alpha columns below:
# A - C axis, 1 = axis winds, 2 = axis signed, 3 = indexer, 4 = shortest direction
# B - Spindle direction, 0 = normal, 1 = reverse
# C - Plane 0 arc/comp, 0 = normal, 1 = switch
# D - Plane 1 arc/comp, 0 = normal, 1 = switch
# E - Plane 2 arc/comp, 0 = normal, 1 = switch
# F - Plane 0, 0 = G17, 1 = G19, 2 = G18
# G - Plane 1, 0 = G17, 1 = G19, 2 = G18
# H - Plane 2, 0 = G17, 1 = G19, 2 = G18
# Decimal (required)
# I - Plane 0, X axis, 0 = normal, 1 = switch sign from basic
# J - Plane 0, Y axis, 0 = normal, 1 = switch sign from basic
# K - Plane 0, Z axis, 0 = normal, 1 = switch sign from basic
# L - Plane 1, X axis, 0 = normal, 1 = switch sign from basic
# M - Plane 1, Y axis, 0 = normal, 1 = switch sign from basic
# N - Plane 1, Z axis, 0 = normal, 1 = switch sign from basic
# O - Plane 2, X axis, 0 = normal, 1 = switch sign from basic
# P - Plane 2, Y axis, 0 = normal, 1 = switch sign from basic
# Q - Plane 2, Z axis, 0 = normal, 1 = switch sign from basic
use_only_tl  : 1     #Use only Top turret/Left spindle settings (below) for
                    #all Mastercam turret/spindle selections
                    #When configuring for multi-spindle/turret set to 0

#Columns-       ABCDEFGH.IJKLMNOPQ #Turret/Spindle            #Path Type
scase_tl_c1  : "10000222.000000000"  #Top turret/Left spindle, Turning cut
scase_tl_c2  : "11000012.000000000"  #Top turret/Left spindle, Right Face cut
scase_tl_c_2 : "11110012.000000000"  #Top turret/Left spindle, Left Face cut
scase_tl_c3  : "10010102.000000000"  #Top turret/Left spindle, Cross cut
scase_tl_c4c : "10000111.000000000"  #Top turret/Left spindle, Y axis subs. Cycle
scase_tl_c4  : "10000222.000000000"  #Top turret/Left spindle, Y axis subs.
scase_tl_c5  : "10000222.000000000"  #Top turret/Left spindle, Multisurf Rotary

#Columns-       ABCDEFGH.IJKLMNOPQ
scase_bl_c1  : "10000222.000000000"  #Bottom turret/Left spindle, Turning cut
scase_bl_c2  : "11000012.000000000"  #Bottom turret/Left spindle, Right Face cut
scase_bl_c_2 : "11110012.000000000"  #Bottom turret/Left spindle, Left Face cut
scase_bl_c3  : "10010102.000000000"  #Bottom turret/Left spindle, Cross cut
scase_bl_c4c : "10000111.000000000"  #Bottom turret/Left spindle, Y axis subs. Cycle
scase_bl_c4  : "10000222.000000000"  #Bottom turret/Left spindle, Y axis subs.
scase_bl_c5  : "10000222.000000000"  #Bottom turret/Left spindle, Multisurf Rotary

#Columns-       ABCDEFGH.IJKLMNOPQ
scase_tr_c1  : "10000222.000000000"  #Top turret/Right spindle, Turning cut
scase_tr_c2  : "11000012.000000000"  #Top turret/Right spindle, Right Face cut
scase_tr_c_2 : "11110012.000000000"  #Top turret/Right spindle, Left Face cut
scase_tr_c3  : "10010102.000000000"  #Top turret/Right spindle, Cross cut
scase_tr_c4c : "10000111.000000000"  #Top turret/Right spindle, Y axis subs. Cycle
scase_tr_c4  : "10000222.000000000"  #Top turret/Right spindle, Y axis subs.
scase_tr_c5  : "10000222.000000000"  #Top turret/Right spindle, Multisurf Rotary

#Columns-       ABCDEFGH.IJKLMNOPQ
scase_br_c1  : "10000222.000000000"  #Bottom turret/Right spindle, Turning cut
scase_br_c2  : "11000012.000000000"  #Bottom turret/Right spindle, Right Face cut
scase_br_c_2 : "11110012.000000000"  #Bottom turret/Right spindle, Right Face cut
scase_br_c3  : "10010102.000000000"  #Bottom turret/Right spindle, Cross cut
scase_br_c4c : "10000111.000000000"  #Bottom turret/Right spindle, Y axis subs. Cycle
scase_br_c4  : "10000222.000000000"  #Bottom turret/Right spindle, Y axis subs.
scase_br_c5  : "10000222.000000000"  #Bottom turret/Right spindle, Multisurf Rotary

  • Like 1
Link to comment
Share on other sites
  • 3 months later...

Josh, for sub splindle you will need to work out the spindle logic in your post. The post Colin is referring to has a spindle_no$ this is what tells the post if you are using the main or the sub spindle. So you need to work out the logic that is the main spindle is called on the these codes get called and if the sub splindle is called then these codes get called.

 

Looks like the post Colin is talking about handles M23 here:

 

pcaxis_on_m 	#Toolchange C axis enable, mill, check prv_ to current
 	if (rc1 = two | prv_posttype$ = two),
   	[
   	pbld, n$, *sm23, e$
   	if nextdc$ = three, pbld, n$, "M49", e$  #Disable tap
   	]

then handles M24 here:

 

#Rc1 is used to flag the SOF, rc1 = two at SOF
pcaxis_off_l	#Toolchange C axis disable, lathe, check prv_ to current
 	if rc1 > two & prv_posttype$ <> two, pbld, n$, *sm24, e$

So I think this is real easy to fix:

 

Look for the sm23 and sm24 section and add the sm223 and sm224 now you can name these anything you want as long as you do not duplicate something already defined in the post.

 

# --------------------------------------------------------------------------
# C axis mode
sm23	: "M23"  	#C axis enable main spindle
sm24	: "M24"  	#C axis disable main spindle
sm223 : "M224"	#C axis enable sub spindle
sm224 : "M224"	#C axis disable sub spindle

Add the logic of the spindle_no$ and you are pretty much done.

 

pcaxis_on_m 	#Toolchange C axis enable, mill, check prv_ to current
 	if (rc1 = two | prv_posttype$ = two),
   	[
   	if spindle_no$ = 0, pbld, n$, *sm23, e$
   	if spindle_no$ = 1,pbld, n$ *sm223, e$
   	if nextdc$ = three, pbld, n$, "M49", e$  #Disable tap
   	]


#Rc1 is used to flag the SOF, rc1 = two at SOF
pcaxis_off_l	#Toolchange C axis disable, lathe, check prv_ to current
 	if spindle_no$ = 0, if rc1 > two & prv_posttype$ <> two, pbld, n$, *sm24, e$
 	if spindle_no$ = 1, if rc1 > two & prv_posttype$ <> two, pbld, n$, *sm224, e$

 

This is not tested so use at your own risk, but I think it should be on the right track. I do not think you need to bracket the condition statements.

 

Colin can you see about getting sub spindle support for these type of codes added to the generic post you referenced. I am surprised it is not already built in. Thanks

 

HTH

  • Like 1
Link to comment
Share on other sites

I'm assuming it knows that it's pltype3 based on the "Upper Right" turret specified in my Sub Spindle Milling Op. I'm also assuming it's something that needs changed in the corresponding post block.

 

pltype3 #Top turret/Right spindle

if cuttype = one,

[

#Lathe

max_speed = max_speedl3

min_speed = min_speedl3

sw_string = scase_tr_c1

]

else,

[

#Mill

max_speed = max_speedm3

min_speed = min_speedm3

sw_string = scase_tr_c2 #case two is the default

if cuttype = -2,sw_string = scase_tr_c_2

if cuttype = three, sw_string = scase_tr_c3

if cuttype = -3, sw_string = scase_tr_c3r

if cuttype = four & abs(c1_millcc) = one, sw_string = scase_tr_c4c

if cuttype = four & c1_millcc = zero, sw_string = scase_tr_c4

if cuttype = five, sw_string = scase_tr_c5

]

Link to comment
Share on other sites

No I am thinking then it goes back to lathtype in the code call then. Those are just settings to control moves and direction calls and items like that, for the M calls you are looking at goes back to the sections they are called from they control the call so the logic for them is where I would look first. If not sure always run the debugger in run mode not turbo and see every line called to know what is calling what where and when. This should help you narrow it down real quick.

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...