Gmoccapy - spindle restarts at program stop

More
2 years 1 week ago #312881 by Aciera
Does this happen in QtDragon for you as well?

Please Log in to join the conversation.

More
2 years 1 week ago #313046 by MennilTossFlykune
Yes. I have a real machine with QtDragon where this has been happening for some time now but I thought it was caused by something else until I noticed it happening in a simulation as well. I did some more experimenting and I discovered that if I have a G64 with a large P value, like 1 for example, the spindle doesn't restart. The smaller the P value is the further into a program it has to run before the spindle doesn't restart after an abort.With a G61 the spindle always restarts. I've only used 3D_Chips.ngc to test it.

I think this is related to what's happening:
github.com/LinuxCNC/linuxcnc/issues/579#issuecomment-640557582

This sure does sound related to #865 and #882, where readahead segments aren't dropped during task abort, and get flushed into the queue by commands following the abort: the ON_ABORT_COMMAND in this case, and the restored state tag in the case of #865.

However, in my quick test, I couldn't tickle the bug in the 2.8 branch by adding the ON_ABORT_COMMAND from @sheetcam's config. Anyway, if it is the same problem, hopefully #882 will fix it.

Please Log in to join the conversation.

More
2 years 1 week ago #313062 by Aciera
If it's related to that issue then we should expect this to also show up using the Axis GUI. Are you seeing it in Axis as well?

Please Log in to join the conversation.

More
2 years 6 days ago #313065 by MennilTossFlykune
Yes. I tested it now on 2.10 RIP and it seems to behave like how I described.

Please Log in to join the conversation.

More
2 years 6 days ago #313070 by Aciera
Yes, I can reproduce this as well (took me a few tries but eventually I also got the spindle to still run when the program stopped):

 

Attachment not found



Python stat:
Code:
acceleration    100.0 active_queue    0 actual_position    0.0000   0.0000   -0.1561 adaptive_feed_enabled    False ain    0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000 angular_units    1.0000 aout    0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000   0.0000 axis_mask    7 block_delete    True call_level    0 command    - current_line    2613 current_vel    0.0000 cycle_time    0.001 debug    0 delay_left    0.0 din    False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False distance_to_go    0.0000 dout    False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False False dtg    0.0000   0.0000   0.0000 echo_serial_number    126 enabled    True estop    0 exec_state    done feed_hold_enabled    True feed_override_enabled    True feedrate    1.0 file    /tmp/tmput72cao1/3D_Chips.ngc flood    0 g5x_index    1 g5x_offset    0.0000   0.0000   -1.9685 g92_offset    0.0000   0.0000   0.0000 gcodes    G1 G17 G40 G21 G90 G94 G54 G49 G99 G64 G97 G91.1 G8 homed    1 1 1 ini_filename    /home/user/git/linuxcnc-master-official/configs/sim/axis/axis.ini inpos    True input_timeout    False interp_state    idle interpreter_errcode    0 joints    3 kinematics_type    identity limit    0 0 0 linear_units    0.0394 max_acceleration    100.0000 max_velocity    5.0000 mcodes    M3 M8 M48 M53 M0 misc_error    (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) mist    0 motion_id    0 motion_line    0 motion_mode    teleop motion_type    none num_extrajoints    0 optional_stop    True paused    False pocket_prepped    1 position    0.0000   0.0000   -0.1561 probe_tripped    False probe_val    0 probed_position    0.0000   0.0000   0.0000 probing    False program_units    mm queue    0 queue_full    False queued_mdi_commands    0 rapidrate    1.0 read_line    0 rotation_xy    0.0000 settings    2614.0000 1000000.0000 1600.0000 0.1000   0.1000 spindle    0                brake 1 0            direction 0 0              enabled 1 0     override_enabled True 0                speed 1600.0 0             override 1.0 0                homed False 0         orient_state 0 0         orient_fault 0 1                brake 1 1            direction 0 1              enabled 0 1     override_enabled False 1                speed 0.0 1             override 1.0 1                homed False 1         orient_state 0 1         orient_fault 0 2                brake 1 2            direction 0 2              enabled 0 2     override_enabled False 2                speed 0.0 2             override 1.0 2                homed False 2         orient_state 0 2         orient_fault 0 3                brake 1 3            direction 0 3              enabled 0 3     override_enabled False 3                speed 0.0 3             override 1.0 3                homed False 3         orient_state 0 3         orient_fault 0 4                brake 1 4            direction 0 4              enabled 0 4     override_enabled False 4                speed 0.0 4             override 1.0 4                homed False 4         orient_state 0 4         orient_fault 0 5                brake 1 5            direction 0 5              enabled 0 5     override_enabled False 5                speed 0.0 5             override 1.0 5                homed False 5         orient_state 0 5         orient_fault 0 6                brake 1 6            direction 0 6              enabled 0 6     override_enabled False 6                speed 0.0 6             override 1.0 6                homed False 6         orient_state 0 6         orient_fault 0 7                brake 1 7            direction 0 7              enabled 0 7     override_enabled False 7                speed 0.0 7             override 1.0 7                homed False 7         orient_state 0 7         orient_fault 0 spindles    1 state    rcs_done task_mode    manual task_paused    0 task_state    on tool_from_pocket    1 tool_in_spindle    1 tool_offset    0.0000   0.0000   0.0000 toolinfo    <built-in method toolinfo of linuxcnc.stat object at 0x562b15b3de50> velocity    0.0

Please Log in to join the conversation.

More
2 years 6 days ago #313071 by Aciera
Has this been filed as an issue on github yet?

Please Log in to join the conversation.

More
2 years 6 days ago #313087 by MennilTossFlykune
I'm still not sure exactly how to describe this issue, I can only demonstrate it.
You can see here how G61/G64 are related to this:

The larger the P value the further into the program the interpreter will be able to read.
If the interpreter has reached a queuebuster when the program is aborted, the interpreter state and machine state will be synched properly(?)

Please Log in to join the conversation.

More
2 years 6 days ago #313098 by Aciera

You can see here how G61/G64 are related to this:

Hm, I'm afraid I don't. You are inserting a tool change which I believe is a queue buster. I'm not sure how the P value in G64 would influence how far ahead the interpreter read ahead is. Could you elaborate a bit?

Please Log in to join the conversation.

More
2 years 6 days ago #313101 by Aciera
Looks like this might be limited to spindle speed and direction pins not consistently reacting to a program stop as 'spindle.0.on' seems to always clear.


 

Attachment not found

Please Log in to join the conversation.

More
1 year 7 months ago #325035 by HalaszAttila
Hello, is there any progress to be made in solving the problem? I think it is very risky (especially on a lathe) if the spindle can start unexpectedly, but it can also cause problems on milling machines with tool changers.

Please Log in to join the conversation.

Time to create page: 0.074 seconds
Powered by Kunena Forum