What's new
What's new

Way to make one axis dependant to another on a Haas?

Woodymyster

Plastic
Joined
Mar 11, 2008
Location
Fullerton, CA
Is there a way on a Haas machine to tie the B-axis of a trunnion to either the X axis or Y axis? For example, on a coventional horizontal, one would run a gear train from the x axis to the divider head and use different gear ratios to determine the rate of which the divider head rotatated with respect to the x axis.

I am using a VF-3 with a 210 trunnion.

Jon
 
Not entirely sure as I only have 3 axis and haven;t played around with the Haas varibles all too much.

But couldn't you have your basic program, but instead of having an X pos value, you change them to a variable. then have a subprogram that takes that variable input and converts it into X and B values from the last position, which was stored in some other variables before the computation started.

Would take a bit of thinking but I think it could be done that way, perhaps there is an easier way though.

JP
 
my intentions are to be able to move one axis either by linear motion or rapid and have another axis move also with this command. Now if this is possible, I would also like to be able to change the ratio of which these two axis move. For example...

G01 Y-5.50 F15. ;

When I run this program, I also want the B axis to move with the Y axis, and if I can control the ratio between the axis, I could end up with the B axis moving for example 3 degrees for every 1/2 inch the Y axis moves.

Jon
 
You sound to me to be a flute grinder that is new to CNC? Been dooing the ratio box on the mechanical mill all your life...


If you have a 4 axis CNC mill, you can simply program Y5.5 B30., or B60., or B 59.123 if that is what your helix comes out to...

I am not seeing the need for the custom macro?


----------------

Think Snow Eh!
Ox
 
You sound to me to be a flute grinder that is new to CNC? Been dooing the ratio box on the mechanical mill all your life...

I guess most of my machining skills are going to be lost to the next generation. I also realized that I posted a question that involved 60+ year old technology in the haas forum and thus used it as an example to try to communicate my question.

Regardless,
I thought about your idea before but wondered if I use Y5.5 B30, will both axis engage at the same time? When I insert a feed rate, will it apply to both of them? If so, if I want a separate feed rate for each axis, can I inset that on the same line or have to use a different line. If it is on a different line, then wont one axis be off since one started before the other?

I guess I'm trying to apply old ideas to a new world. I just don't want to spend the time to draw these parts in a cam program if there is a simple way to control the axes how I am describing.

The parts to be machined are tapered rods with helical fins much like Ox described.

Jon
 
but wondered if I use Y5.5 B30, will both axis engage at the same time?

Start at exactly same time, feed in synch with each other, and end at the destination at the same time. In this train of thought - the TOOL is the only thing moving. The axis move in synch as required to make that move happen.

When I insert a feed rate, will it apply to both of them?

The feedrate will apply to the known tool tip. If two or three linear axis are moving together it will be read as distance (inches or mm) per minute. If the rotary is involved it generally defaults to degrees/minute.


If so, if I want a separate feed rate for each axis,

Nnnnnn...IIIII _ don't _ think _ you _ do... :confused:

can I inset that on the same line or have to use a different line. If it is on a different line, then wont one axis be off since one started before the other?

One line at a time. :Yawn:


I just don't want to spend the time to draw these parts in a cam program if there is a simple way to control the axes how I am describing.

Anything that you could doo with a ratio box on a gear feed - can be done with MUCH more ease on a CNC. (and no need to account for .025" backlash either.)

Keep in mind that you can move all axis at the same time - each their own amount. However - some machines (Haas I have heard?) may be able to only move 3 at a time? Others can move 4 or more. (How powerfull is the 'putor eh?)

You could move Z up 4.935", while X moves 1.876", and Y moves ahead 1.542", and A (rotary) move 89.965*. All at the same time - as required.

I have seen some REALLY nice Cinci flute cutter horizontal mills (with swinging table) come out of Mohawk Tool about 15 yrs ago when they closed up. Those are NICE and very expensive machine! But that work would all be done on a commodity CNC now. (even then)

If you think it should be able to be done - it prolly can.


-------------

Think Snow Eh!
Ox
 
I thought about your idea before but wondered if I use Y5.5 B30, will both axis engage at the same time? When I insert a feed rate, will it apply to both of them? If so, if I want a separate feed rate for each axis, can I inset that on the same line or have to use a different line. If it is on a different line, then wont one axis be off since one started before the other?

Yes, the axis motions are linked. They will all start at the same time and will all end at the same time.
The actual feedrate will be determined by a ratio between the Y ( or X ) programmed feedrate AND parameter 34 - "4th axis diameter"

There is no way I know of to set separate feedrates for the rotary and the linear axis.

Bottom line is, in all cases involving a main axis and an auxiliary axis, the unwrapped result of the motion will produce a straight line.
If you need an unfolded spline, you'll have to do it with individual linear/angular segment pairs.
Needless to say, I'd much rather sit in a dentist's chair than to program that without CAM.

Ox
The Haas can move 5 axis at the same time. It will only work in one coordinate system ( no 3D arcs ) but will move all available axis in sync.
IOW
the code:
G02 X1 Y1 Z1 I-1 J0 A180. B90.
would execute just fine.

And there is no degrees/minute feed, only IPM. The actual feed-speed for a single rotary axis command will be determined by a setting which tells the control
what diameter the tool is working at.
 
As already posted, you're looking for a really complicated solution to a pretty simple problem. The confusion is around the feed rate. There is a simple answer that sounds complicated the first time you hear it: Inverse time feed rate.

Normally, you express feed in inches per minute to get to a distance. In inverse time feedrate, you're just swapping time for distance (inverting the equation).

In real world terms, I can tell you to walk across the room at 30" per minute. In inverse time, I tell you to go straight to the opposite corner and give you 2 minutes to get there. G93 activates this mode and G94 turns it back off.

If you started the cutter at X0.0, wanted to move 2.0 inches toward the rotary and make two loops around the part, you would program:

G93 (activates inverse time feed rate)
G01 X2.0 A720.0 F20.0
G94 (cancels inverse time feed rate)

That tells the machine to move 2.0 inches in X, rotate two revolutions at the same time and gives the machine 20 seconds to get there. The control does all of the angular and linear computations to accomplish the move in a proportional fashion.
 
As already posted, you're looking for a really complicated solution to a pretty simple problem. The confusion is around the feed rate. There is a simple answer that sounds complicated the first time you hear it: Inverse time feed rate.

Normally, you express feed in inches per minute to get to a distance. In inverse time feedrate, you're just swapping time for distance (inverting the equation).

In real world terms, I can tell you to walk across the room at 30" per minute. In inverse time, I tell you to go straight to the opposite corner and give you 2 minutes to get there. G93 activates this mode and G94 turns it back off.

If you started the cutter at X0.0, wanted to move 2.0 inches toward the rotary and make two loops around the part, you would program:

G93 (activates inverse time feed rate)
G01 X2.0 A720.0 F20.0
G94 (cancels inverse time feed rate)

That tells the machine to move 2.0 inches in X, rotate two revolutions at the same time and gives the machine 20 seconds to get there. The control does all of the angular and linear computations to accomplish the move in a proportional fashion.

Donkey, that still won't help out Woodymyster!
The result will still in fact be a straight line when unwrapped.
IOW a G93 feedrate will still result in a syncronized axis movement.

Now, with that said, any combination of regular axis and rotary axis on the same block when G93 is active will result in the following error message:
"AUX AXIS IN G93 BLOCK"

Meaning, in G93 mode you may not mix X/Y/Z movements with an A or B axis. You may program X/Y/Z together, or you may program pure A and B movements, but cannot combine the two.
Furthermore, even in G93 mode the feedrates are still IPM for auxiliary axis!!
 
When I run this program, I also want the B axis to move with the Y axis, and if I can control the ratio between the axis, I could end up with the B axis moving for example 3 degrees for every 1/2 inch the Y axis moves.
What he asked for is a linear move. What did I miss? Haas rotaries have to be able to program in all axes simultaneously. The error you're describing might be old Haas controls. All the stuff I found regarding G93 was four and five axis related.
 
Donkey

Just looked in the newer manual, and you're correct, it is generally used for 4 and 5 axis work. I have no idea how and why one would use it, but that's likely due to the piss poor explanation in the book.

As to the OP's dilemma, I do not see the reason why he would want to or need to use it tough if he is in fact wants to make a linear feed???

I mean the following code:
G01 Y.5 A3. F1.

Will in fact make 1/2" of Y move while the rotary advances 3 degrees.
Not much need for a G93 there.
I was under the impression that he would like to increase the revolution feedrate based on the distance travelled.
IOW say make the Y feedrate to be a fixed 1. IPM, and make the A revolution rate increase from say 1 IPM to 5 IPM depending on the position of the Y axis.
That would result in a spline that is decreasing in elevation as the Y axis travels.

This part of his post is what's throwing me:

"""
my intentions are to be able to move one axis either by linear motion or rapid and have another axis move also with this command. Now if this is possible, I would also like to be able to change the ratio of which these two axis move.
"""
 
Rotary Programming

Wow, how did this get so complicated? I guess I will jump in.

First, the Haas control can control up to five axis simultaneously. Actually more than that, but they are hidden axis on some machines. But let’s keep this simple for now.

On the Haas control there are two possible rotary configurations. One is to use a separate rotary control box. This can be commanded from the Haas control but you will not have synchronous motion. The preferred method is a rotary controlled by the Haas control and requires the fourth axis option on the machine. The rotary will connect directly to the back control panel.

As Woodymyster is looking for synchronous motion I am only going to discuss possible ways to use the rotary connected directly to the Haas machine.

There are two possible ways to program synchronized rotary. One is with G94 (feed per minute) and the other is with G93 (inverse time). As G93 requires a feed value on each commanded motion and would generally require a CAM system to get everything just right I would suggest using G94 for simple rotary motion as Woodymyster intends to do. Rotary motion that is in G94 mode will require that a diameter be put in setting 34. All that is left at this point is to program your motion as you would want it. Any commanded linear rotary motion will be synchronize.

One last thing, if you want to map a linear axis to a rotary axis it is accomplished with G107 Cylindrical Mapping.

I hope this sheds some light on the subject. If you would like to speak with someone in detail about this please call us here at the Haas factory.

805-278-8500
 
Last edited:
Linear/Rotary motion

One last thing about linear and rotary motion, I frequently see people want to use terms for linear axis and want to apply them to rotary axis. This generally does not work. Just remember that rotary motion is angular and commanded in degrees. The circumference of you part will vary depending on its diameter.
 
Wayne

Thanks for that post!!!
Tough the useage of G93 is still as muddy as it can be, I have never looked at G107 .

In light of that tough, I now change my previous statement about the inability to vary the feedrate from linear to rotary. If I understand the description of G107, an unwrapped spline can in fact be done with a single axis command.

I now have just one question!
With G107 one can define the rotary axis diameter on the fly from within the control, by using the Q or R values.
Would it not make sense to somehow do that for any other programs that do not use G107?
I mean whenever I do 4th axis programs, I always in all cases use the ctr line of the rotary axis as the programmed Z0. Then, in some of the applications I might be programming moves at Z2.", 1.5" or anywhere else. In those cases it is not possible to keep changing Setting34 to the proper diameter, therefore I just leave it at the default and let the control figure out what the feedrate is, however incorrect that may be. I just change the feeds appropriately at the control when first running the program. If there was a way to set that on the fly for standard moves ( Non G107 ) then one could program proper feedrate and expect them to be correct.

Just thinkin' ....
 
Seymour,
I will be here at the foctory for a little while longer today. If you would like to discuss this please feel free to call me.

Direct phone 805-278-8560
 
A simple explanation of G93 inverse time is it is a way to control the motion based on time to complete the motion. There is a formula to compute this but that really is it. G94 feed per minute is a distance traveled in time.

A spline is generally defined by multiple line segments. Thus, it would be multiple Y axis motion commands that get mapped to the rotary axis.

Rotary parts that have a diameter that varies greatly generally should be programmed with G93 inverse time. This gives you better control over the feed rate. Generally minor variations in diameter do not need to use inverse time and the feedrate determined by setting 34 should be okay.

You can you G107 to set the rotary diameter. Just do not specify a linear axis to map. For example:

G107 A0 Q10.

Setting 34 will not change but the control will use the diameter of 10" to calculate the feed rate.




Wayne

Thanks for that post!!!
Tough the useage of G93 is still as muddy as it can be, I have never looked at G107 .

In light of that tough, I now change my previous statement about the inability to vary the feedrate from linear to rotary. If I understand the description of G107, an unwrapped spline can in fact be done with a single axis command.

I now have just one question!
With G107 one can define the rotary axis diameter on the fly from within the control, by using the Q or R values.
Would it not make sense to somehow do that for any other programs that do not use G107?
I mean whenever I do 4th axis programs, I always in all cases use the ctr line of the rotary axis as the programmed Z0. Then, in some of the applications I might be programming moves at Z2.", 1.5" or anywhere else. In those cases it is not possible to keep changing Setting34 to the proper diameter, therefore I just leave it at the default and let the control figure out what the feedrate is, however incorrect that may be. I just change the feeds appropriately at the control when first running the program. If there was a way to set that on the fly for standard moves ( Non G107 ) then one could program proper feedrate and expect them to be correct.

Just thinkin' ....
 
Last edited:
You can you G107 to set the rotary diameter. Just do not specify a linear axis to map. For example:

G107 A0 Q10.

Setting 34 will not change but the control will use the diameter of 10" to calculate the feed rate.


Ah ha! :cheers:
Groovy enough, thank you.

SO I'm guessing that by varying diameter you're saying something like moving up on a cone which is mounted in the rotary axis.
Moving towards the larger dia section it is possible that you'll exceed the assumed actual feedrate due to the rotary motion ....
..... still fuzzy as to how an inverse time mode help, but I digress and will revisit it should I have a need for it.

Nevertheless, that G107 was a good information that I've learned today.
Makes it much sweeter to machine some of the radial fins one of my "inventor type" customer keeps asking me about.
 
There is one helical feature not mentioned that may or may not be applicable to our poster child:

Cutting a cam feature...

If the concept was the rotary laid down with an X or a Y movement to yield a cam - then I have been there.

I use'ta make my own flat cams for may Brown and Sharpe. I would mount them down on the centerline of the table and program the A (B in this application - but anyways ...) to move the amouint of degrees that I wanted it to consume and put in the amount of rise in my X - and I was off to the races!

Well - there was a bit more to it - but for this arguement .....

I was dooing this on a 1985 Dynopath System 10. I played with this control a bit when programming other stuff and learned that it would accept a BEGINNING and ENDING radius in the ARC command feature.

So I'm like -

images


LightBulb.jpg



So I tried what I hoped would werk ... and IT DID!

Example - X starting at 2" from C/L and ending 4" from C/L while arcing 40* around the C/L. Any other control that I have seen will fault out if the start and end points are diff rads.

I don't think that this is a common feature, and I have not had another machine that is capable of this on it;s own. Of course with a long drawn out CAM gen program you could, but this was a one-liner!

I have no idea if HAAS is capable of this or not? Nor if this is what Mr. Woody is thinking about?


----------------

Think Snow Eh!
Ox
 








 
Back
Top