Cancel
Showing results for 
Search instead for 
Did you mean: 

Probing on parallel Z / W axes

Pioneer
Pioneer

Good Afternoon,

 

 

I am creating a post processor for Renishaw probing on an 840D HBM.

However, the machine has parallel Z and W axes. Spindle/ quill is Z and saddle is W.

 

All my Z dimensions in CAM are obviously output as NX sees them - $mom_pos(2). This would be output as a Z size or R23= for Renishaw if I am probing at that time.

 

This would not work in my NC program if the W axis was not at W0.000 due to length of part, etc.

 

I have created a UDE to drive the W to a given position but I need any future Z axis values to change by that amount.

 

In my Start of Operation event I can take the W axis logic but I then need to alter any future mom_pos(2) values by that amount (regardless of whther I am probing or just driving the Z axis) -

 

 if { [info exists mom_axis_position_value] && $mom_axis_position == "WAXIS" } {

     ???

}

 

So if W was at $mom_axis_position_value of 20.000 all future operation $mom_pos(2) values will need to be forced to change by that value.

 

Any ideas?

 

I had contemplated utilising the $mom_o_buffer but this would need to be chopped strings which could be messy; must be an easier way I cant see as I am new to Post Builder.

 

Thanks in advance,

Craig.

6 REPLIES

Re: Probing on parallel Z / W axes

Esteemed Contributor
Esteemed Contributor

One option:

Store the W axis value in a variable (craig_w_axis_value)

- make sure set to 0.0 at start program

- When you reset W (UDE or ?), reset the value of this variable

- Then anywhere you output Z, change it to "$mom_pos(2) - $craig_w_axis_value"

 

- And similar for cycles (mom_cycle_feed_to_post, also rapid/retract/etc.)

 

Ken

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP5 + patch/TC11.2
I'd rather be e-steemed than e-diseaseled


Re: Probing on parallel Z / W axes

Pioneer
Pioneer

Thanks Ken, it may be I have to do that.

 

I already store the W position in

mom_axis_position_value

so, my intial logic (that I cant syntax) would be -

 

If

mom_o_buffer

contains a value for

mom_pos(2)

 

then subtract the value of

mom_axis_position_value

before it outputs.

 

I should have posted that earlier.

This way it covers Z axis outputs for probing, feed, rapid, etc.

 

Thanks.

Re: Probing on parallel Z / W axes

Esteemed Contributor
Esteemed Contributor

Personally, I'd edit all the blocks with Z output, so I wouldn't have to

- parse the mom_o_buffer

- see if a "Z" value exists

- parse out that Z value,

- modify the value,

- and update the mom_o_buffer

...

FOR EVERY LINE OF OUTPUT!

 

I think that would be very compute intensive, and (possibly) slow your post down.

 

While editing the Z value in every block that as a Z would be a bit tedious, it can be "cut and pasted" in PB, and you just need to remember to edit any new block you create from scratch later.  A bit of pain up front, but faster when you post.

 

But if your way works for you, that's fine by me.

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP5 + patch/TC11.2
I'd rather be e-steemed than e-diseaseled


Re: Probing on parallel Z / W axes

This is an old custom command for ZW - just in case there is something in it that you can use.

Mark Rief
Retired Siemens

Re: Probing on parallel Z / W axes

Phenom
Phenom

I have done posts for many machines with parallel axes - even a couple with 3 of them (horiz mill with ram, quill and table moving in Z direction.) My approach has always been to preset the driven programmed axis of the set to compensate for the effect of the others. On a siemens - this can be done with trans or G58 commands.

 

Ex:

TRANS Z3. W-3.
G0 Z3.996 W0.0

 

There can be cases where each parallel axis is feeding. In that case - I would do what you are looking at (consider more than mom_pos(2).) I would not use mom_o_buffer. Editing the Z address calculation to consider the parallel axis would be my approach as well.

NX10.03
Windows 7 Pro

Re: Probing on parallel Z / W axes

Pioneer
Pioneer

Thanks for your input guys, it is appreciated.

I am new to this so bear with me. Smiley Happy

I understand now that overloading the post processor on EVERY line output would be a bad idea!

I am going to have to look at every Z outpout and alter it by a stored W dimension.

 

We use the TRANS command here to set the zero point extension but it is done at the start of the program, we never change it later. The W size will change throughout the program based on the B axis rotation - as the part is longer one way than the other.

 

Thanks again.

Learn online





Solution Information