Sometimes my tool unload code just…stops

More
03 Dec 2020 00:02 #190923 by JetForMe
Not sure if this is the right category for this question, but I'm having an issue with my tool unload routine (attached). In response to T0M6, it positions the spindle in front of the tool fork, and is supposed to move downward to the fork level with G1, but it just…doesn't move. I have to click the STOP button in Axis, and then issue the T0M6 again, and then it continues without issue.

Any idea why it's stopping? I put a bunch of print statements in the code, and it prints `Unload tool: Lowering F1000`, but doesn't do anything more. Axis seems to think it's still running a program though, since I have to click the stop button.

File Attachment:

File Name: ut_2020-12-02.ngc
File Size:3 KB
Attachments:

Please Log in or Create an account to join the conversation.

More
05 Dec 2020 22:02 #191174 by chris@cnc
My experience with variable programming is that sometimes the variables have logically different values than you think. At first glance, I would trigger the feed variable.
Maybe start with this sentence ..
G53 G1 F #<_ini[atc]speed_approach> Z #<_ini[atc]z_pocket>

Please Log in or Create an account to join the conversation.

More
06 Dec 2020 00:16 #191188 by JetForMe
Yeah, I print out the speed before that line. It prints:

Unload tool: Lowering F5000.0

Please Log in or Create an account to join the conversation.

More
06 Dec 2020 02:13 #191202 by cmorley
Is this part of remap code?

Please Log in or Create an account to join the conversation.

More
06 Dec 2020 03:34 #191206 by JetForMe
Yes, in the sense that I remap M6 to invoke it.
REMAP= M6 modalgroup=6 prolog=change_prolog ngc=auto_tool_change epilog=change_epilog

github.com/JetForMe/router-table/blob/ma...auto_tool_change.ngc
github.com/JetForMe/router-table/blob/ma...c_subroutines/ut.ngc

Please Log in or Create an account to join the conversation.

More
06 Jun 2024 09:35 #302453 by JetForMe
This still happens to me, and it's happening with a new program I'm trying to write to vacuum the table (unload the tool, lower the spindle, move the dust collector shoe over the whole table).

I invoke it from a button in my Axis VCP, but it frequently stops mid-move. Is there some line I need to add to my subroutine to make it wait for the move to complete?

It will randomly stop on the G1 Z down move, or the G1 X move. Always seems to successfully raise the spindle and move to the start position.

My ngc is attached.
Attachments:

Please Log in or Create an account to join the conversation.

More
06 Jun 2024 12:23 #302463 by Aciera
Can be tricky troubleshooting these things. Usually I liberally insert queuebusters (eg 'M66 L0 E0') to avoid premature ingestion of code lines by the read ahead.
Maybe try that right after 'G53 G1 X1245'

It may also help to insert debug printing like this (this will print to terminal):
;(print, your_parameter=#<your_parameter>)
Or this will print to the gui:
;(msg, your_parameter=#<your_parameter>)


This will give you an indication of where the execution actually fails.

Please Log in or Create an account to join the conversation.

More
06 Jun 2024 13:31 #302469 by MaHa
On my machine, spindle.0.at-speed must be true to do a move with G1

Please Log in or Create an account to join the conversation.

More
13 Jun 2024 00:25 - 13 Jun 2024 00:26 #302917 by JetForMe

It may also help to insert debug printing


I've got a print statement at the end of the Python routine that still gets called, even though the motion stops.

On my machine, spindle.0.at-speed must be true to do a move with G1


This would result in it not moving at all, but it moves an inconsistent amount and then stops.
Last edit: 13 Jun 2024 00:26 by JetForMe.

Please Log in or Create an account to join the conversation.

Time to create page: 0.093 seconds
Powered by Kunena Forum