Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations MintJulep on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

post processor, feedrate adjust command 1

Status
Not open for further replies.

moog2

Mechanical
Jan 16, 2007
441
In the post builder, there is a custom command, as follows..
#
# This custom command allows you to modify the feed rate number
# after it has been calculated by the system
#
global mom_feed_rate_number

set mom_sys_frn_factor 1.0

if [info exists mom_feed_rate_number] {
return [expr $mom_feed_rate_number * $mom_sys_frn_factor]
} else {
return 0.0
}
I've added this to a post, but nothing changes?
What i'd like to do is have a line at the start of the program where the operator can enter a percentage value which the posted feed will be factored to.
The controller is Fanuc, so pretty standard stuff.

Can anyone explain how to use this custom command or point me in the right direction?
 
Replies continue below

Recommended for you

Is this something that you wrote or something that came with the post?

What versions of NX and Post Builder are you using?

When you create a custom command there needs to be something in the post to trigger the procedure. Usually a user defined event.

Have you ever create a UDE or added one to a Post?

I have attached a presentation I did a couple of years ago on this topic.

Hope this helps


John Joyce
Tata Technologies
1675 Larimer St.
Denver, CO
www.myigetit.com
 
 http://files.engineering.com/getfile.aspx?folder=43ea9ae7-c71d-4d8a-9c11-841c1b2a429a&file=User_defined_events_taking_control_plm_2005.zip
I'm using pb 3.5.1 ,that custom command is one of the default ones, that are in the postbuilder.
I'm using NX6.
Unfortunately i don't have powerpoint, i'll see if i can find somewhere to open it.
I had to add a user defined event once to force a rotation of B axis, but otherwise have no experience with them, any help much appreciated..
I just had a play, and added a "user defined" --- user defined event, into a toolpath, which read "feed_rate_number", but all this did was add that text in brackets into the posted prog.
I'm missing something, the factor must also be output, outside of brackets.
 
Have you tried using the existing UDE - Set Mode and setting the Feed Rate Mode to FRN

You can edit the post to change the FRN factor for what you need.



John Joyce
Tata Technologies
1675 Larimer St.
Denver, CO
 
I just tried that, and it looks like a step in the right direction, the only feed i specified in the TP was 250mm/min.
Various feeds have been output, F8.085, F25, F5.24, F83.333, F100, F76.394 etc.
I'm still unclear as to how the operator can alter the feed factor, and what controls these varying feeds ??
 
When the feed mode is set to FRN you will get inverse time feedrates. If you just want the existing feedrates to be multiplied by some factor you would need a custom procedure. I guess I am not clear on what your looking for.

John Joyce
Tata Technologies
1675 Larimer St.
Denver, CO
 
This command is related to inverse time feedrate.

Are you actually trying to output inverse time feed?

If you are dealing with "3 axis" or "3 and a half axis" motion, you do not want inverse time.

FRN (inverse time) is used to co-ordinate the simultaneous motion of linear and rotary axis.

I think you are looking for a programmable way to duplicate the "feed override" knob on the front of the machine, am I correct?
 
Yes, that's right, i'd like to be able to set an approximate feedrate in the programs, and let the operator refine them by means of a Factor which is multiplied by the feeds, essentially doing what the feed override does, Someone told me once that the had this written into their post, maybe its a function specific to a certain controller.
The feed override knob works fine if your feed is in the ball park, but if it's way off you have not much control.
 
Well, here is my take.

In a fanuc control, you need to specify a feedrate as some type of value. i.e. "F10.0". This cannot be changed. It needs to have some value in there.

The only way to have an adjustable feed, it to specify it as a variable. i.e. "F#100"

SO, you need a BASE feedrate, the one that you choose, one per tool. These need to be assigned to variables.
#Let's say #101 to #110 (ten tools)

You also want a factor,
If you want an individual factor for each tool, you need 10 variable locations OR if you want one global factor, you only need one. Either way, the method is the same.
Let's go with ONE factor for all.
#100 is the factor

Lastly, you will need 10 variable locations(one per tool) for the "adjusted feeds"
#we'll use #111 to #120

At the beginning of the program, you will need to set up all your variables. Something like this.
O1234;
(set feeds);
#101=10.0(tool 1 base feed);
#102=5.55(tool 2 base feed);
#103=25.6(tool 3 base feed);
etc.

You also need to define the "factor"
#100=.75(feed adjust factor);

Last but not least, calculate the new feeds and store them in the correct variables.
#111=#101*#100(adjusted tool 1);
#112=#102*#100(adjusted tool 2);
#113=#103*#100(adjusted tool 3);
etc.

We are now ready to cut.

OK. So, the code for your program will be as follows.
N1 M6T1
N2 G01X45.Y20F#111
...
N20 M6 T2
N21 G01 X2 Y90 F#112
...
N50 M6 T3
N51 G01 X67 Y654 F#113

Thats it. This procedure will allow you to easily edit all programmed feedrates at the machine by editing ONE variable. It also allows you to factor the entire program up or down by changing ONE variable.

Some considerations:
-The 100 series variables are NON HOLDING. This means if you press reset, they are ALL GONE. you need to run the "setup" section of your program each time you reset.

-The 500 series of variables will keep their value after a reset or power off.

-Some of these variables may be used by other functions i.e. probing routines etc. Be VERY VERY careful choosing your variables.

-I assume no responsibility if you choose to play with variables.

All that being said, It's probably easier to spend some time to calculate better feedrates to start with, and if adjustment is required, update your NX database and repost the program until you have code the machinists are happy with.

Good luck,
J
 
Jaydenn,
Thanks for your reply, I'll give this a go and see if this is easier than re-posting, but your'e right, the best way is building a library.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor