M66 not waiting on input

More
5 years 6 months ago #207509 by rogerxue
Hi I want the spindle to wait before it confirms the tool is in the spindle

but the M66 seems does not wait at all, and I checked the pin does change based on whether the tool is in the spindle or not.

The HAL is
Code:
# --- spindle tool signal --- net spindle-tool-secured and2.10.in0 motion.digital-in-00 <= hm2_5i25.0.7i76.0.0.input-24 net spindle-tool-open motion.digital-in-01 <= hm2_5i25.0.7i76.0.0.input-25

The ini :
Code:
# =============== # rack tool changer [TC] # this is not named TOOL_CHANGE_POSITION on purpose - canon uses it and will # interfere X = 3.0 Y = 3.0 Z = -5.0 X_CLEAR_DELTA = 5.0 Y_CLEAR_DELTA = 0.0 Z_CLEAR = 0.0 #tool slot delta X_DELTA = 0.0 Y_DELTA = 3.0 Z_DELTA = 0.0 RELEASE_DELAY = 0.5 CAPTURE_DELAY = 1.0 SIGNAL_DELAY = 0.5 TOOL_CONFIRM_DELAY = 20 # motion.digital-out-NN pins power draw bar PDB = 0 TOOL_IN_SPINDLE = 0 DB_RELEASED = 1

the sub:
Code:
; parameter: current tool o<get_tool> sub G90 ; value of this pin read is stored in #5399 M66 P#<_ini[TC]TOOL_IN_SPINDLE> L0 o100 if [EXISTS[#<_ini[TC]X>] AND [#5399 EQ 0]] g53 g0 Z #<_ini[TC]Z_CLEAR> g53 g0 X [#<_ini[TC]X> + #1 * #<_ini[TC]X_DELTA>] Y [#<_ini[TC]Y> + #1 * #<_ini[TC]Y_DELTA>] ;release tool and confirm M64 P#<_ini[TC]PDB> M66 P#<_ini[TC]DB_RELEASED> L3 Q#<_ini[TC]TOOL_CONFIRM_DELAY> M66 P#<_ini[TC]TOOL_IN_SPINDLE> L4 Q#<_ini[TC]TOOL_CONFIRM_DELAY> G4 P#<_ini[TC]SIGNAL_DELAY> g53 g0 Z [#<_ini[TC]Z> + #1 * #<_ini[TC]Z_DELTA>] ;capture tool and wait for confirmation M65 P #<_ini[TC]PDB> M66 P#<_ini[TC]DB_RELEASED> L4 Q#<_ini[TC]TOOL_CONFIRM_DELAY> M66 P#<_ini[TC]TOOL_IN_SPINDLE> L3 Q#<_ini[TC]TOOL_CONFIRM_DELAY> G4 P #<_ini[TC]SIGNAL_DELAY> g53 g0 X [#<_ini[TC]X> + #1 * #<_ini[TC]X_DELTA> + #<_ini[TC]X_CLEAR_DELTA>] g53 g0 Y [#<_ini[TC]Y> + #1 * #<_ini[TC]Y_DELTA> + #<_ini[TC]Y_CLEAR_DELTA>] g53 g0 Z #<_ini[TC]Z_CLEAR> o100 endif o<get_tool> endsub m2

Please Log in to join the conversation.

More
5 years 5 months ago #207583 by andypugh
Replied by andypugh on topic M66 not waiting on input
Try adding (DEBUG, delay is #<_ini[TC]TOOL_CONFIRM_DELAY> ) to the G-code to check that the delay is being read as a nonzero value.

Are you absolutely sure that the digital input isn't already high when the code runs?

Please Log in to join the conversation.

More
5 years 5 months ago #207584 by rogerxue
Replied by rogerxue on topic M66 not waiting on input
I monitored the digital input and did oscilloscope on it, it was never high.

I'll try debug on Monday

thanks for the help

Please Log in to join the conversation.

More
5 years 5 months ago #207919 by rogerxue
Replied by rogerxue on topic M66 not waiting on input
It turns out the signal is very bouncy, afterI added a debounce of 300, it worked

Please Log in to join the conversation.

Time to create page: 0.097 seconds
Powered by Kunena Forum