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:

Haas Trunion Brakes - 5 Axis


Josh T™
 Share

Recommended Posts

Hey Guys,

 

I'm using X2 with a modified generic Fanuc post flavored to taste for a Haas VF series mill. I 've turned on the post switch below:

code:

 use_clamp   : 1     #Use the automatic clamp Mcode  

It will output the brake release/engage M codes on a normal index:

 

code:

 :12001 (1-2 GENERIC OP2NC)

(TIMKEN TECHNOLOGY CENTER GREENVILLE PROTOTYPE)

(MACHINE CNC: HAAS VF-SERIES 5AXIS)

(DATE: 02-10-08)

(PROGRAM GENNERATED IN MASTERCAM vers_no 11.)

(PROGRAMER - JOSHUA TURNER)

(WORK OFFSET LOCATIONS)

(X/Y/Z/A/B = C.O.R.)

()

(TOOLS)

( TOOL - 18 - 3.0000 FACEMILL )

( TOOL - 22 - 3/8 STUB ENDMILL )

( TOOL - 21 - 14MM REAMER )

( TOOL - 1 - 1.000 2 FLUTE GARR )

( TOOL - 14 - 3/4 2 FLUTE GARR R.125 )

( TOOL - 17 - 1/2 BALL CEM )

( TOOL - 12 - 1.000 EXHAUST PORT TOOL )

( TOOL - 20 - 3/4 GARR CEM - SPOTFACES )

( TOOL - 25 - 1.000 LONG 2 FLUTE GARR )

( TOOL - 5 - 1/2 - 2 FLUTE GARR )

( TOOL - 16 - #8 3 FLUTE GARR DRILL )

( TOOL - 13 - 17/64 3 FLUTE GARR DRILL )

( TOOL - 15 - 13/64 X-LONG DRILL )

( TOOL - 11 - .203 BALLNOSE CEM )

( TOOL - 10 - 3/32 CEM )

( TOOL - 6 - .3438 GARR 3 FLUTE DRILL )

( TOOL - 3 - #L DRILL )

( TOOL - 7 - 1/4 DRILL )

( TOOL - 2 - 3/8 DRILL-MILL )

( TOOL - 8 - .3750 GARR 3 FLUTE DRILL )

( TOOL - 9 - .8430 REAMER )

( TOOL - 24 - 1/4-20 TAPRH )

( TOOL - 4 - 8.00-1.25 TAP RH )

G0 G17 G40 G80 G90 G94 G98

G0 G28 G91 Z0.

G0 G28

( 3.0000 FACEMILL TOOL - 18 DIA. OFF. - 18 LEN. - 18 DIA. - 3. )

M11 <=====

M57 <=====

T18 M6

G0 G55 G90 X-9.175 Y-6.0999 B0. A0. S7500 M3

T22

M10 <=====

M67 <=====

G43 H18 Z10. M8

But not on a true 5 Axis path:

***5X Curve Path Example***

code:

 G0 G17 G40 G80 G90 G94 G98

G0 G28 G91 Z0.

G0 G28

( 1/2 BALL CEM TOOL - 17 DIA. OFF. - 17 LEN. - 17 DIA. - .5 )

T17 M6

G0 G55 G90 X-3.75 Y-5.3836 B0. A30. S2000 M3

G43 H17 Z7.0925 M8

Z3.1925

G1 Z3.0925 F50.

Y-4.3836

Y-4.3316 Z3.0071 F30.

Y-4.2759 Z2.924

Y-4.2166 Z2.8436

Y-4.1538 Z2.7658

Y-4.0876 Z2.6909

Y-4.0182 Z2.6189

Y-3.9456 Z2.5501

Y-3.87 Z2.4846

Y-3.7916 Z2.4225

Y-3.7105 Z2.364

Y-3.6269 Z2.3093

Y-3.5409 Z2.2582

Y-3.4527 Z2.211

Y-3.3625 Z2.1678

Y-3.2706 Z2.1285

Y-3.1769 Z2.0934

Y-3.0818 Z2.0625

Y-2.9855 Z2.0359

Y-2.888 Z2.0137

Y-2.7896 Z1.9957

Y-2.6905 Z1.9822

Y-2.5909 Z1.9731

Y-2.491 Z1.9684

Y-2.352 Z2.0145 A28.879

Y-2.1601 Z2.1148 A26.331

Y-1.964 Z2.2064 A23.783

Y-1.764 Z2.2893 A21.237

Y-1.5607 Z2.3632 A18.691

Y-1.3542 Z2.428 A16.145

Y-1.1449 Z2.4836 A13.598

Y-.9336 Z2.5298 A11.052

Y-.7203 Z2.5666 A8.506

Y-.5055 Z2.5938 A5.958

Y-.2899 Z2.6114 A3.413

Y-.0736 Z2.6194 A.866

Y.1429 Z2.6179 A-1.681

Y.3589 Z2.6068 A-4.227

Y.5745 Z2.5861 A-6.774

Y.7887 Z2.5558 A-9.32

Y1.0014 Z2.5161 A-11.866

Y1.2121 Z2.4669 A-14.412

Y1.4205 Z2.4083 A-16.959

Y1.6261 Z2.3405 A-19.505

Y1.8285 Z2.2637 A-22.052

Y2.0272 Z2.1781 A-24.598

Y2.222 Z2.0836 A-27.146

Y2.4124 Z1.9806 A-29.693

Y2.523 Z1.9694 A-30.

Y2.6228 Z1.9755

Y2.7223 Z1.9861

Y2.8211 Z2.001

Y2.9192 Z2.0203

Y3.0164 Z2.044

Y3.1124 Z2.072

Y3.2071 Z2.1042

Y3.3002 Z2.1407

Y3.3916 Z2.1812

Y3.4811 Z2.2257

Y3.5686 Z2.2741

Y3.6539 Z2.3264

Y3.7367 Z2.3823

Y3.817 Z2.442

Y3.8945 Z2.5052

Y3.9691 Z2.5717

Y4.0407 Z2.6415

Y4.1091 Z2.7145

Y4.1742 Z2.7903

Y4.236 Z2.869

Y4.2941 Z2.9503

Y4.3486 Z3.0342

Y4.3836 Z3.0925

Y5.3836 F200.

Z3.3425

G0 Z7.0925

M9

M5

G0 G28 G91 Z0.

G0 G28

It's probably not recognizing the switch string on the 5X path but I don't know how to add it. banghead.gif

 

Thanks for the help in advance,

Josh

Link to comment
Share on other sites

I have the same problem and I suspect its in the post here.

 

# --------------------------------------------------------------------------

# Primary axis lock/unlock

spunlock M13 # Unlock Rotary Table

splock M12 # Lock Rotary Table

s_plock #Target for string

 

fstrsel spunlock p_lock s_plock 2 -1

# --------------------------------------------------------------------------

# Secondary axis lock/unlock

ssunlock M11 # Unlock Rotary Table

sslock M10 # Lock Rotary Table

s_slock #Target for string

Link to comment
Share on other sites

Josh are you talking about a brake or a Lock?? The Integrex uses a brake for all 5 axis work and then used a Locking type system for all 4 axis work. The Generic 5 axis post does not support this in only supports locking the axis not braking the axis. You will have to write you own logic in for that. I recommend you look at the MPLMASTER yes for the lathe. They have all the logic written in the post to support not only brake but clamp as well.

 

code:

use_clamp    : 1     #0 = No, 1 = Clamp

use_brake : 1 #0 = No, 1 = Brake

 

pclampbrake #by operation # clamp_code 0=clamp, 1=brake, 2=off

# clamp_flg 0=clamp, 1=brake, 2=off

# mi7 - Clamp Code Override

# 0 = Default post decision

# 1 = Force Full Clamp

# 2 = Force Brake / Mid-Clamp

# 3 = Off

 

 

#if cuttype = one, pxyzcout0 #Turning off

#if abs(cuttype) = two #Right/Left Face cut brake unless rotary type is off (0) or Y (3)

#| abs(cuttype) = three, pxyzcout2 #Cross cut brake/clamp

#if cuttype = four, pxyzcout4 #Y axis substitution brake

#if cuttype = five, pxyzcout5 #Multisurf Rotary brake

 

if use_clamp | use_brake,

[

clamp_code = 2

if cuttype = 1 | abs(cuttype) = 3 | (abs(cuttype) = 2 & (rotary_type$ = 0 | rotary_type$ = 3) & not(millcc)), clamp_code = 0 #clamp

if abs(cuttype) = 2 | abs(cuttype) = 3 | cuttype = 4 | cuttype = 5 | millcc,

[

if clamp_code <> 0, clamp_code = 1 #brake

]

if opcode$ = 3 | opcode$ = 16, clamp_code = 2

if use_clamp = 0 & clamp_code = 0, clamp_code = 2

if use_brake = 0 & clamp_code = 1, clamp_code = 2

if mi7$, clamp_code = mi7$ - 1

if synch_flg, smspdl_clmp_synch

else,

[

if spindle_no$ = 0, smspdl_clmp

if spindle_no$ = 1, smspdl_clmps

]

clamp_flg = clamp_code

]

 

pclampbrake0 # clamp_code 0=clamp, 1=brake, 2=off

if (use_clamp | use_brake) & clamp_flg = 0,

[

if fmtrnd(cabs) <> prv_cabs, clamp_code = 2

if mi7$, clamp_code = mi7$ - 1

if synch_flg, smspdl_clmp_synch

else,

[

if spindle_no$ = 0, smspdl_clmp

if spindle_no$ = 1, smspdl_clmps

]

clamp_flg = clamp_code

]

 

pfclampon #Force clamp on

if use_clamp | use_brake,

[

clamp_code = 0

if mi7$, clamp_code = mi7$ - 1

if synch_flg, *smspdl_clmp_synch

else,

[

if spindle_no$ = 0, *smspdl_clmp

if spindle_no$ = 1, *smspdl_clmps

]

clamp_flg = clamp_code

]

 

pfclampoff #Force clamp off

if use_clamp | use_brake,

[

clamp_code = 2

if synch_flg, *smspdl_clmp_synch

else,

[

if spindle_no$ = 0, *smspdl_clmp

if spindle_no$ = 1, *smspdl_clmps

]

clamp_flg = clamp_code

]

 

pclampoff #Clamp off

if spindle_no$ <> last_spindle_no, pfclampoff

if use_clamp | use_brake,

[

clamp_code = 2

if synch_flg, smspdl_clmp_synch

else,

[

if spindle_no$ = 0, smspdl_clmp

if spindle_no$ = 1, smspdl_clmps

]

clamp_flg = clamp_code

]

Just some tid bits from that post. Now you will have to modify if for milling and the spindle stuff all needs to be stripped out. May have to add so mill5 logic to it as well and might look to the ops stuff from MPMASTER and use its logic to make that turn on and turn off the brake for 5 axis verses trying to use the mill5 variable though it would be your best choice.

 

HTH

Link to comment
Share on other sites

Thanks for the advise Ron. I'll give it my best effort. I didn't know if this was a common thing or not. I've seen Haas Trunions run super smoothly on true 5X paths and I'm just trying to get ours to run at that level... you know... that whole "Continuous Improvement" stuff I keep hearing about! cuckoo.gif

 

biggrin.gif

Josh

Link to comment
Share on other sites
  • 9 months later...

Ok Guys...

 

I've worked on this for 8 months and I still can't get it right. banghead.gif

 

I'm using the Haas Trunion MD in X3 with minor changes (props for it being super close!) and its the same problem as before... No M11/M13 and M10/M12 on 5X paths. Works great on 3+2 paths but not on true 5X. This is weird! I can't find it anywhere in the post and from what I see the logic is the same. Can someone help? We're porting heads soon and I don't want any issues.

 

Thanks in advance,

Josh

Link to comment
Share on other sites

find these lines...they are in more than one place

 

code:

     if use_clamp & not(opcode$ = three | cuttype <> zero),

change to

 

code:

      if use_clamp & cuttype <> zero,

that would be the unclamp portion

 

For clamping...basically the same.

 

find

code:

      if use_clamp & not(opcode$ = three | cuttype <> zero),

cvhange to

code:

      if use_clamp & not(cuttype <> zero),

I also added it to the null toolchanges area

code:

ptlchg0$         #Call from NCI null tool change (tool number repeats)                        

#Cancel check in case missed in ptoolend

if prv_n_tpln_mch <> n_tpln_mch, pg69

 

##### Custom changes allowed below #####

 

comment$

 

# This call to 'pcan' has been commented out to avoid

# double output of canned text

#pcan

pbld, n$, sgplane, e$

pspindchng

pbld, n$, scoolant, e$

if use_clamp & cuttype <> zero,

[

p_lock = zero

s_lock = zero

pbld, n$, s_slock, e$

pbld, n$, s_plock, e$

]

 

##### Stop custom changes #####

 

psof_tlchg_blck #Start position block

#Save the current brk_ in prv_brk_ for next loop

pupd_brk

toolchng = zero

 

##### Custom changes allowed below #####

 

if use_clamp & not(cuttype <> zero),

[

p_lock = one

s_lock = one

pbld, n$, s_slock, e$

pbld, n$, s_plock, e$

]

 

##### Stop custom changes #####

 

ptlch_ret_app

Link to comment
Share on other sites

quote:

I'm using the Haas Trunion MD in X3 with minor changes (props for it being super close!) and its the same problem as before... No M11/M13 and M10/M12 on 5X paths. Works great on 3+2 paths but not on true 5X. This is weird! I can't find it anywhere in the post and from what I see the logic is the same. Can someone help? We're porting heads soon and I don't want any issues.

Josh you need to do a little editing, I will send you a sample

Link to comment
Share on other sites

I manually input M11 and M13 early in the code when using our Haas trunion post and it works great. It sounds like your engageing the brake for 5th axis work which obviously doesn't smooth up your cuts. The sticker on the box under the control reads:

M10 engage 4th axis brake (A axis)

M11 release 4th axis brake

M12 engage 5th axis brake (B axis)

M13 release 5th axis brake

Link to comment
Share on other sites

Thank you JMC! cheers.gif

 

By playing with the opcode statements I got it to work how I want it to. I knew it had to be something in those statements.

 

In regards to Dan's question, the reason for using the lock/unlock commands is for free movement on the 5X paths. If you don't use the M11/M13 unlocks with true 5X work the machine will dwell for the brake release which (in some cases) will gouge the parts. I'm using inverse feed rates on the rotarys and unlocks to try and smooth out some of the porting work we've been trying.

 

Thanks for everyone's help!

Josh

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