What's new
What's new

Help! HAAS table shifts in drilling cycle

Slablocal

Plastic
Joined
Jul 10, 2020
Hey guys,
first time poster, long time follower. I was running thru a new program today, and my machine did something that caught me completely off guard. machine tool changed over to a drill for the next step, started feeding (as expected) into the part, and then the table suddenly shifted on the Y, breaking my drill bit and almost causing me to crap my pants.

The program simulation doesn't show this shift, an online NC viewer doesn't show the shift, but as soon as the machine hits drill depth it pulls the table towards me on the Y. I even loaded the code from my laptop just to see if it made a difference and it didn't. Is this a setting on the machine?! what is going on here? Its the first time I've ever had this happen...I'm not very good with G-Code, but I've tried, and I'm stumped. Machine specs below, and some lines of code. I appreciate any help I can get, as I need to get these parts wrapped up, thanks!!!

2017 HAAS TM-2P NextGen control
BobCam V29

(NEXT CUT - NEXT TOOL)
(Machine Setup - 1-Feature Mill Hole - 0.2500-Drill)
(FEATURE MILL HOLE - 0.2500)

(TOOL #81/4 DRILL)
N4444 T8 M06
N4445 G90 G54 X0.3335 Y-1.1243 S3819 M03
N4446 G43 H8 D8 Z2.5 M08
N4447 G00 Z1.161
N4448 G81 G99 X0.3335 Y-1.1243 Z0.5859 R1.061 F19.0986
N4449 G80
N4450 G00 Z1.161
N4451 Z2.5
N4452 M09
N4453 M05
N4454 G91 G28 Z0.
N4455 G90
N4456 M01
 
Something's screwy with your code. I've never seen a G81 done like that.

Try this:

T8 M06
G54 G90 G43 H8 D8 M08
S3819 M03
G81 G99 Z0.5859 R1.061 F19. L0
X0.3335 Y-1.1243
G80
G91 G28 Z0.
M01
 
Something's screwy with your code. I've never seen a G81 done like that.

Try this:

T8 M06
G54 G90 G43 H8 D8 M08
S3819 M03
G81 G99 Z0.5859 R1.061 F19. L0
X0.3335 Y-1.1243
G80
G91 G28 Z0.
M01

His code is pretty standard, hell that's how they show it in their work books. I've done code like that for years on HAAS and Fanuc controls with no issue. Something is wrong with the machine. Glad I got out of HAAS shops before the next gen control came along, looks to be about as good as New Coke.
 
Something's screwy with your code. I've never seen a G81 done like that.

Try this:

T8 M06
G54 G90 G43 H8 D8 M08
S3819 M03
G81 G99 Z0.5859 R1.061 F19. L0
X0.3335 Y-1.1243
G80
G91 G28 Z0.
M01

I agree, don't think I've ever seen an X or Y on the same line as the drill cycle.

OP, edit your code manually as above and see what happens. Also, can put a Z offset larger than your drill depth to verify, just in case.

edit: On second thought, I would leave your code as is, except remove the X and Y move on the G81 line.
 
I agree, don't think I've ever seen an X or Y on the same line as the drill cycle.

OP, edit your code manually as above and see what happens. Also, can put a Z offset larger than your drill depth to verify, just in case.

edit: On second thought, I would leave your code as is, except remove the X and Y move on the G81 line.
There is absolutely nothing wrong with programming X and Y in the Cycle Block. Its common to position the spindle at the location of the first position during the the approach when applying the Workshift and Tool Offset, then not specify the X/Y coordinates of the first position in the Cycle Block, but if the X/Y coordinates are specified in the Cycle Block, one of two things will happen, depending on the position of the spindle prior to the Cycle Block being executed.

1. When the Spindle is at X/Y coordinates other than the position of the first execution of the Cycle, the Spindle will move to the X/Y coordinates specified in the Cycle Block and the Cycle will execute.

2. When the Spindle is at X/Y coordinates of the first execution of the Cycle, the Cycle will execute.

In the OP's listed program the Spindle has been positioned at absolute X0.3335 Y-1.1243 prior to the Cycle being executed. The Cycle has the same X/Y coordinates specified in the Cycle Block, therefore, the Cycle should execute without any movement in X/Y. As listed, there appears to be no errors in the OP's program.


Regards,

Bill
 
This will happen if the operation is working on the wrong plane for a canned cycle. For instance if you were using G18 or G19 in a previous operation. This changes which direction the control wants to do the retract, which would explain why it's jumping in Y when it gets to the bottom of the hole.

I would recommend putting a G17 right after your tool change and run it in the air to see if it behaves itself.
 
(TOOL #81/4 DRILL)
N4444 T8 M06
N4445 G90 G54 X0.3335 Y-1.1243 S3819 M03
N4446 G43 H8 D8 Z2.5 M08
N4447 G00 Z1.161
N4448 G81 G99 X0.3335 Y-1.1243 Z0.5859 R1.061 F19.0986
N4449 G80
N4450 G00 Z1.161
N4451 Z2.5
N4452 M09
N4453 M05
N4454 G91 G28 Z0.
N4455 G90
N4456 M01

What the heck is a tool radius offset doing here? A person doesn't cutter comp drill cycles. If anything that is the problem. Through some quirk in the machine ladder or inner workings, it's applying the radius offset at the end of the feed move in the drill cycle. Do you have anything set in D8? If not then I'm at a loss. but I'm thinking this is the problem.

Also... you have your first drill location already set in the 3rd line. This is a good place for it as the machine moves with the head at home position. Pretty much impossible to have trouble in that scenario. In as such, there is no need for it to be called again. All of my drilling code lines have only drilling instructions and no location coordinates. Keeps them cleaner and more to the point, and also keeps them from running off the screen into a 2nd line like the long one above might do. (Ha... on tiny Fanuc screens)

If it were me while still trying to stick mostly to your code. Pretty much the exact same machine movements, and hopefully without the errant Y move.

N4444 T8 M06 (TOOL #81/4 DRILL)
N4445 G90 G54 G0 X0.3335 Y-1.1243
N4446 G43 H8 Z2.5 S3819 M03
N4447 M08
N4448 G98 G81 Z0.586 R1.06 F19.1
N4449 G80
N4450 M09
N4451 G53Z0.Y0.M5
N4452 M01
 
Something's screwy with your code. I've never seen a G81 done like that.

Try this:

T8 M06
G54 G90 G43 H8 D8 M08
S3819 M03
G81 G99 Z0.5859 R1.061 F19. L0
X0.3335 Y-1.1243
G80
G91 G28 Z0.
M01
I've not seen the approach specified as in the above code example, except when the programmer has made an error. Notwithstanding that this Thread relates to a HAAS control, if the above code was run on a Fanuc Control and the Tool Length Offsets set as Tool Tip to Spindle Nose (Gauge Line), therefore being Plus Value Offset, depending on parameters settings, but with the usual default settings, it would be fairly certain that the Z axis would rapid into Z+ Over-travel when G43 is executed without a Z coordinate. Further, its usual to specify a Z coordinate prior to the Cycle to setup the Initial Level.
 
What the heck is a tool radius offset doing here?
That's what I was wondering too.

Lose the D8. In theory it doesn't matter, but it sure does not belong. At the very least, make sure D8 is set to zero...
 
This will happen if the operation is working on the wrong plane for a canned cycle. For instance if you were using G18 or G19 in a previous operation. This changes which direction the control wants to do the retract, which would explain why it's jumping in Y when it gets to the bottom of the hole.

I would recommend putting a G17 right after your tool change and run it in the air to see if it behaves itself.


I adjusted my Z offset and ran it in the air, basically the tool plunged, table pulled back, and then it seems to almost go into a pecking cycle on the Y instead of the Z. Wierd.
 
That's what I was wondering too.

Lose the D8. In theory it doesn't matter, but it sure does not belong. At the very least, make sure D8 is set to zero...

Hello jancollc,
It doesn't belong, but as Tool Radius Offsets when specified are Modal, if the OP's issue is being caused by the D address being specified, it would also occur if it happened that any tool operation prior to the Drill Cycle used TRC and therefore a Tool Radius Offset is specified.

Regards,

Bill
 
Hello jancollc,
It doesn't belong, but as Tool Radius Offsets when specified are Modal, if the OP's issue is being caused by the D address being specified, it would also occur if it happened that any tool operation prior to the Drill Cycle used TRC and therefore a Tool Radius Offset is specified.

Regards,

Bill

I looked at some previous programs I've run without any issues and they all call out a Dia and height offset. I do have a checkbox to override these values on the feeds and speeds page of my software, but like i said, never been an issue before. I'm going to go try it again now, maybe a good night sleep helped the machine... :(
 
There is absolutely nothing wrong with programming X and Y in the Cycle Block. Its common to position the spindle at the location of the first position during the the approach when applying the Workshift and Tool Offset, then not specify the X/Y coordinates of the first position in the Cycle Block, but if the X/Y coordinates are specified in the Cycle Block, one of two things will happen, depending on the position of the spindle prior to the Cycle Block being executed.

1. When the Spindle is at X/Y coordinates other than the position of the first execution of the Cycle, the Spindle will move to the X/Y coordinates specified in the Cycle Block and the Cycle will execute.

2. When the Spindle is at X/Y coordinates of the first execution of the Cycle, the Cycle will execute.

In the OP's listed program the Spindle has been positioned at absolute X0.3335 Y-1.1243 prior to the Cycle being executed. The Cycle has the same X/Y coordinates specified in the Cycle Block, therefore, the Cycle should execute without any movement in X/Y. As listed, there appears to be no errors in the OP's program.


Regards,

Bill

It works fine, yes. But I like to have all my hole locations grouped between G81 (or any other canned cycle) and G80. That way I know where it's going and it simplifies troubleshooting down the road.

OP>>, put a G17 in your safety block. It might still be modal from a previous program.
 
I adjusted my Z offset and ran it in the air, basically the tool plunged, table pulled back, and then it seems to almost go into a pecking cycle on the Y instead of the Z. Wierd.
Hello Slablocal,
What are you saying with your above reply to CNC Hacker. Is the above action with G17 specified, or is that how your issue is being presented, because that is different to how you explained it in your opening Post.

How G17,G18,G19 affect Drill and Boring Cycles can be set via parameter. Either the Drill/Bore axis will always be the Z axis irrespective of the plane selected, or as specified by the Plane Selection G Code. This is for sure the case with a Fanuc Control and I suspect that a HAAS control would be able to be set similarly.

Regards,

Bill
 
It works fine, yes. But I like to have all my hole locations grouped between G81 (or any other canned cycle) and G80. That way I know where it's going and it simplifies troubleshooting down the road.

OP>>, put a G17 in your safety block. It might still be modal from a previous program.
So what's the Z coordinate of the Initial Level, the Z position from which the cycle is launched and returned to?
 
Hello jancollc,
It doesn't belong, but as Tool Radius Offsets when specified are Modal, if the OP's issue is being caused by the D address being specified, it would also occur if it happened that any tool operation prior to the Drill Cycle used TRC and therefore a Tool Radius Offset is specified.

Regards,

Bill
What I am wondering is this- there are no cancel codes at the beginning of the tool, maybe the previous offset is still active in the positioning move. Or G41 is active and it's comping D8 on the positioning move. Then it's dropping the offset for the canned cycle, or something goofy like that.

Beginning of every tool should have a basic cancel code line- G0 G17 G80 G90 G49 G40

Start the tool with the machine in a known state, but you already know that...

I never put H and D on the same line, so it's just a WAG, but the first thing I would do is verify that the commanded positioning move is actually going to the correct location before the canned cycle.
 








 
Back
Top