Sign in to follow this  
huskermcdoogle

5ax DWO on Heidenhain TNC530i

Recommended Posts

Anyone know the details of doing Dynamic Work Offsets, or TCP/WSEC like behavior on a Heidenhain TNC530i control for mainly planar work?  Also would be nice to program in part coordinates, instead of from rotary center.  The books are clear as mud, and offer zero examples or explanation of such activity.  I'm not interested in a post for this at this time, but may be in the future.

Share this post


Link to post
Share on other sites

What manuals are you looking at?  I've always found Heidenhain manuals to be excellent.

Anyway, you can define a plane in several ways.  The old way was cycle 19, but you should be using the PLANE function if it's available.  The PLANE function has several options for how to define a plane...

  • Spatial angles 
  • Projection angles
  • Euler angles ZXZ
  • Two vectors
  • Three points

The plane function also allows you to specify other options...

  • SEQ + or -; this chooses the rotation solution 
  • MOVE, TURN, STAY.  MOVE will move the rotary axes and the tool when the command is executed.  TURN will move only the rotary axes.  STAY will do the math but will not cause motion.  A retract can also be specified 
  • TABLE ROT or COORD ROT; move the rotaries or move the coordinate system   

The above lists are not exhaustive.   

When I was an AE for Mikron spatial angles were the most popular.  If you have a BC machine, SPA would be 0, SPB would be the B-axis angle, and SPC would be the C-axis angle. 

On the machine this works great, but in the post this involves some mapping/rotating because the two angles don't fully define a plane.  The code would look something like this...

 PLANE SPATIAL SPA+0 SPB-45 SPC+0 SEQ- TURN MBMAX FMAX TABLE ROT

So that says I want to define the plane by spatial angles(PLANE SPATIAL); set the B-axis at 45 degrees(SPA+0 SPB-45 SPC+0); choose the negative solution(SEQ-); move only the rotaries(TURN); before you move, retract along the tool axis to the limit switch(MBMAX); do everything at max feed rate(FMAX); rotate the table(TABLE ROT).

The above is from memory, it's best to build a few cycles at the control; it walks you through every step.  Heidenhain also offers a free simulator.

I personally like the two vectors method because Mastercam gives you the toolplane matrix.

 

Hope that helps.

  • Like 1

Share this post


Link to post
Share on other sites

I'm not sure I am being clear with what I am looking to do.  I want to eliminate a time sucking task our programmers have to do all the time due to tooling maintenance.  They are constantly reposting jobs with a different tooling gage/line, which suffice to say is nothing more than a shift value in the post.  The post has values associated with the machines rotary offsets, as well as the distance from the rotary center to the center of rotation and then spits out the program accordingly.

I'd like to eliminate that activity of reposting jobs if the fixture length change is say less than .25".  I have no problem redefining the method of which the parts programs are constructed using the post as they are output with macros, and looping for repeated features.  I'd like for the operator to just edit a header line variable of the fixture length and the program would run, likely verified by probing and limits set in a sub or internal label call.  Hence removing the need for the jobs to make two trips through the programming office unless they need a serious change.

  • Huh? 1

Share this post


Link to post
Share on other sites

I believe I understand how the PLANE functions work, but it is possible for me to shift the entire program using them.  Also how or can you shift the coordinate system to a new local coordinate system? Such as you can with G68.2 on a Fanuc.

I have Vericut, but I have no idea what functions our digital machines support or don't support.   The machines are Hermle C600U and C30U.  I don't think it is out of the realm of possibility that both types of machines could use identical programs as well....  I say that because currently our programs posted between them are only different by coordinate shifts, otherwise structure and syntax are 100% the same.

Share this post


Link to post
Share on other sites

Can I ask why you are programming for COR?  It seems that your issue would solve itself if you used the PLANE functions.

24 minutes ago, huskermcdoogle said:

I believe I understand how the PLANE functions work, but it is possible for me to shift the entire program using them.

WESC is not something the 530 offers out of the box.  As you may or may not be aware you can not add a secondary axis (a or b) value in the preset table and have M128 or the PLANE function work.  I thought Hermle had a cycle 300-something to work around this but I was a Mikron guy.

28 minutes ago, huskermcdoogle said:

Also how or can you shift the coordinate system to a new local coordinate system? Such as you can with G68.2 on a Fanuc.

Cycle 7 or TRANS DATUM if the machine is newer.

 

 

  • Like 2

Share this post


Link to post
Share on other sites
1 hour ago, Zaffin_D said:

As you may or may not be aware you can not add a secondary axis (a or b) value in the preset table and have M128 or the PLANE function work.

 

1 hour ago, Zaffin_D said:

Cycle 7 or TRANS DATUM if the machine is newer.

Our programs currently use Cycle 7 Datum Shift, I wonder if the Vericut just doesn't respect things properly, and or if the lack of plane function or M128 would be the reason.

 

1 hour ago, Zaffin_D said:

I thought Hermle had a cycle 300-something to work around this but I was a Mikron guy.

They may, but I don't have access to any of the Hermle docs.

 

Thanks for the advise so far.  I will look into what things would look like if I were to use the PLANE functions to get the functionality we need.

Share this post


Link to post
Share on other sites
1 hour ago, Zaffin_D said:

Can I ask why you are programming for COR?  It seems that your issue would solve itself if you used the PLANE functions.

Way before my time, this decision was made....  I'm just helping this plant out, being that it is one of our own, I have to be careful what I propose... Hence why I am asking for some guidance.

  • Like 1

Share this post


Link to post
Share on other sites

@mkd, You have some insight here? 

2 hours ago, huskermcdoogle said:

They are constantly reposting jobs with a different tooling gage/line, which suffice to say is nothing more than a shift value in the post.  The post has values associated with the machines rotary offsets, as well as the distance from the rotary center to the center of rotation and then spits out the program accordingly.

Man... something ain't right. Reposting because of a tool length change... that's OLD school. I'd take a serious look at how programming is doing things. I'm no Heid/Siemens expert, but that just seems WAY off. I've got probably at least a half-dozen customers with Siemens and/or Heidenhein and they program all their machines the same way and NONE require a repost for a tool length change. EVER. Even on their Head/Head type machines. 

Share this post


Link to post
Share on other sites

So... they're not using tool length offsets?  That's insanity.  TBH, idk if I'd even know how not to use G43.  I guess I've been fortunate in all of my career.  All the way back to a Cincinnati pallet changer with Acramatic  (Vicker's) 2100e that even then had "rotate offsets" to track around the table on a hori.

I'll never understand why people aren't willing to try new methods.  Try it, worst case it doesn't work and you keep doing what you were.

Share this post


Link to post
Share on other sites
18 hours ago, cncappsjames said:

Man... something ain't right. Reposting because of a tool length change... that's OLD school. I'd take a serious look at how programming is doing things. I'm no Heid/Siemens expert, but that just seems WAY off. I've got probably at least a half-dozen customers with Siemens and/or Heidenhein and they program all their machines the same way and NONE require a repost for a tool length change. EVER. Even on their Head/Head type machines.

I miss spoke, it's not tooling per say, it's the workholding.   Which happens to be tool holders most of the time...   Hence why i misspoke.  Believe me they aren't that far out of whack...

  • Like 1

Share this post


Link to post
Share on other sites
21 hours ago, cncappsjames said:

@mkd, You have some insight here? 

Don't have much to add on top of what Zaffin has stated, yeah they are way off.

Heidenhain is super simple to program and even simpler to setup. You barley even need to be thinking of 5axis anything, just don't run into the vise and dont run the head into the table.

 Plane spatial post output handles everything as far as tracking your probed xyz zero from center of rotation.

#300 cycles are reserved by HH for OEMs so they will b e different between Mikron and other lesser machines😂.

  • Like 1

Share this post


Link to post
Share on other sites
7 hours ago, jlw™ said:

TBH, idk if I'd even know how not to use G43

g49 g53

g92 x0y0

g92 z0

or

just zero the absolute page.

Bringing back the HBM with no tool changer days..

Share this post


Link to post
Share on other sites
On 3/28/2020 at 3:50 AM, Zaffin_D said:

I personally like the two vectors method because Mastercam gives you the toolplane matrix.

i'd like to hear more on this.

Share this post


Link to post
Share on other sites
On 3/28/2020 at 2:40 PM, huskermcdoogle said:

I believe I understand how the PLANE functions work, but it is possible for me to shift the entire program using them.  Also how or can you shift the coordinate system to a new local coordinate system? Such as you can with G68.2 on a Fanuc.

I have Vericut, but I have no idea what functions our digital machines support or don't support.   The machines are Hermle C600U and C30U.  I don't think it is out of the realm of possibility that both types of machines could use identical programs as well....  I say that because currently our programs posted between them are only different by coordinate shifts, otherwise structure and syntax are 100% the same.

Post output, like siemans, only needs to vary insofar as outputting the rotary moves the machine actually has. *assuming your using plane commands*

 if you want to goof around manually to get a feel for plane spatial you can softkey to the 3D ROT screen and input rotation values there and activate them for a prog run or jogging or both.

 sounds to me that an investment into CAMplete would have a near immediate payback, so yes, wee feel your pain.

Share this post


Link to post
Share on other sites
2 hours ago, mkd said:

i'd like to hear more on this.

Not much more to it.  PLANE VECTOR requires two vectors defined by the values BX, BY, BZ (the base vector) and NX, NY, NZ (the normal vector).

The normal vector is the Z vector of the tool plane.  I can't remember, but I think the base vector is the X vector of the tool plane, but it could be the Y vector; it's been awhile.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • 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