subroutine randomly stops at first G1 move
- Pipik
- Offline
- New Member
-
Less
More
- Posts: 8
- Thank you received: 3
25 Apr 2025 14:28 - 25 Apr 2025 14:54 #327043
by Pipik
subroutine randomly stops at first G1 move was created by Pipik
Hello.
Finally, my head blown up after a years of this problem.
Linux Wheezy 2.7, 2.8, and the latest 2.9 (debian?) - problem still persist on several machines, several years, all versions.
Remaped M300 code to call o-subroutine (remaped in *.ini). For example, Z-touching. Soubroutine started, performing all commands, but just after touch plate (making contact), program stops with nothing. Respectively pause, but without "pausing". Just stop, do nothing, still pretending working. Need to press ESC and call routine again.
After a several testing, I am figured out that it always stop at first command for G1 move (G1 Z5 F1000, for example, no matter distance or absolute/relative or speed). A little anoying in Z-probing, just run it again, but very anoying with ATC - stopping during tool change. If I change command to G0, it work, but its not always possible to use G0, toolchange for example. Always at first G1 command in subroutine.
There is a days it not happens, but there is also days it happen all times. Absolutely random. No matter program running before or during or after, and never happen twice in a row. No matter computer, old or new. No matter version.
My head finaly blown up.
Need to figure it out. Stopping randomly during tool change is not a good option of ATC.
Thank you.
Ps.: Oh - never happen when calling M300 via button on pendant. Weird, ya?
Z-touch subroutine -
(ztouch.ngc)
o<ztouch> sub
#<vyska_osy_Z> = 191.000
#<vyska_senzoru> = 65.000
#<rozdil_vysek> = 126.000
M66E0L0 ; prepocitani/aktualizace
M70 ; ulozit soucasny modal state, obnovi se na konci
G90 ; absolutni souradnice, kdyby nahodou byla zapla relativni
G53 G0 Z0 ; vyjed uplne nahoru
G59.3 ; prepnout souradnicovy system
G49 ; zrusit kompenzace delky nastroje
G40 ; zrusit kompenzace radiusu nastroje
G92.2 ; docasne vypnout kompenzace G92/G52
G10 L20 P0 Z0 ; nastavit soucasnou polohu jako nula
G91 ; relativni souradnice
G38.2 Z-164 F1000 ; rychle najdi Ztouch s nastrojem
G4 P0.1 ; momentik
HERE IT STOP
G1 Z3.0 F10000 ; kousek se vratit o 3mm
G4 P0.1 ; momentik pockat, aby opravdu dojel o 4mm vys
G1 Z-2.0 F10000 ; zase priblizit k senzoru o 2mm
G38.2 Z-1 F5 ; pomalicku se dotknout
G1 Z1 F10000 ; odtahnout 1mm (vypnout senzor)
;#<z_work_offset> = [#[#5203 + #5220 * 20] + #5213 * #5210] ; uplne presne nevim co to pocita, vytazeno z wiki
G10 L1 P#5400 Z#5063 ; nastavit vypoctenou delku nastroje do tabulky nastroju
G43 ; znovunacist delku nastroje a zapnout kompenzaci
G90 ; absolutni souradnice
G53 G0 Z0 ; vyjed nahoru
G92.3 ; obnovit kompenzace
M72 ; obnovit modal state pred sondovanim
o<ztouch> endsub
Finally, my head blown up after a years of this problem.
Linux Wheezy 2.7, 2.8, and the latest 2.9 (debian?) - problem still persist on several machines, several years, all versions.
Remaped M300 code to call o-subroutine (remaped in *.ini). For example, Z-touching. Soubroutine started, performing all commands, but just after touch plate (making contact), program stops with nothing. Respectively pause, but without "pausing". Just stop, do nothing, still pretending working. Need to press ESC and call routine again.
After a several testing, I am figured out that it always stop at first command for G1 move (G1 Z5 F1000, for example, no matter distance or absolute/relative or speed). A little anoying in Z-probing, just run it again, but very anoying with ATC - stopping during tool change. If I change command to G0, it work, but its not always possible to use G0, toolchange for example. Always at first G1 command in subroutine.
There is a days it not happens, but there is also days it happen all times. Absolutely random. No matter program running before or during or after, and never happen twice in a row. No matter computer, old or new. No matter version.
My head finaly blown up.
Need to figure it out. Stopping randomly during tool change is not a good option of ATC.
Thank you.
Ps.: Oh - never happen when calling M300 via button on pendant. Weird, ya?
Z-touch subroutine -
(ztouch.ngc)
o<ztouch> sub
#<vyska_osy_Z> = 191.000
#<vyska_senzoru> = 65.000
#<rozdil_vysek> = 126.000
M66E0L0 ; prepocitani/aktualizace
M70 ; ulozit soucasny modal state, obnovi se na konci
G90 ; absolutni souradnice, kdyby nahodou byla zapla relativni
G53 G0 Z0 ; vyjed uplne nahoru
G59.3 ; prepnout souradnicovy system
G49 ; zrusit kompenzace delky nastroje
G40 ; zrusit kompenzace radiusu nastroje
G92.2 ; docasne vypnout kompenzace G92/G52
G10 L20 P0 Z0 ; nastavit soucasnou polohu jako nula
G91 ; relativni souradnice
G38.2 Z-164 F1000 ; rychle najdi Ztouch s nastrojem
G4 P0.1 ; momentik
HERE IT STOP
G1 Z3.0 F10000 ; kousek se vratit o 3mm
G4 P0.1 ; momentik pockat, aby opravdu dojel o 4mm vys
G1 Z-2.0 F10000 ; zase priblizit k senzoru o 2mm
G38.2 Z-1 F5 ; pomalicku se dotknout
G1 Z1 F10000 ; odtahnout 1mm (vypnout senzor)
;#<z_work_offset> = [#[#5203 + #5220 * 20] + #5213 * #5210] ; uplne presne nevim co to pocita, vytazeno z wiki
G10 L1 P#5400 Z#5063 ; nastavit vypoctenou delku nastroje do tabulky nastroju
G43 ; znovunacist delku nastroje a zapnout kompenzaci
G90 ; absolutni souradnice
G53 G0 Z0 ; vyjed nahoru
G92.3 ; obnovit kompenzace
M72 ; obnovit modal state pred sondovanim
o<ztouch> endsub
Last edit: 25 Apr 2025 14:54 by Pipik.
Please Log in or Create an account to join the conversation.
- Aciera
-
- Offline
- Administrator
-
Less
More
- Posts: 4296
- Thank you received: 1905
25 Apr 2025 14:35 #327045
by Aciera
Replied by Aciera on topic subroutine randomly stops at first G1 move
might be a good idea to attach the subroutine in question.
Please Log in or Create an account to join the conversation.
- pommen
-
- Away
- Senior Member
-
Less
More
- Posts: 47
- Thank you received: 14
25 Apr 2025 14:47 #327047
by pommen
Replied by pommen on topic subroutine randomly stops at first G1 move
I have the same issue. Sometimes (every other day) I start a probing routine. It probes the first touch, hangs(seemingly), then I need to press 'stop' and start again. Then it works. I've always thought that it was my probe that was a bit iffy.
Is there a way to have a higher degree of logging than starting linuxcnc from the terminal. Would be interesting to see what the last command is that dosent complete, if any.
Is there a way to have a higher degree of logging than starting linuxcnc from the terminal. Would be interesting to see what the last command is that dosent complete, if any.
Please Log in or Create an account to join the conversation.
- Pipik
- Offline
- New Member
-
Less
More
- Posts: 8
- Thank you received: 3
25 Apr 2025 14:56 - 25 Apr 2025 15:03 #327048
by Pipik
Replied by Pipik on topic subroutine randomly stops at first G1 move
Edited original post
But it happens in any subroutine, in simple nor complex.
It can be like this -
G91 ; relative
G38.2 Z-164 F1000 ; quick find
HERE IT STOP
G1 Z3.0 F10000 ; retreat by 3mm
G1 Z-2.0 F10000 ; move toward 2mm
G38.2 Z-1 F5 ; slow find
G1 Z1 F10000
If I change G1 to G0, it never stops. But that not possible everywhere.
But it happens in any subroutine, in simple nor complex.
It can be like this -
G91 ; relative
G38.2 Z-164 F1000 ; quick find
HERE IT STOP
G1 Z3.0 F10000 ; retreat by 3mm
G1 Z-2.0 F10000 ; move toward 2mm
G38.2 Z-1 F5 ; slow find
G1 Z1 F10000
If I change G1 to G0, it never stops. But that not possible everywhere.
Last edit: 25 Apr 2025 15:03 by Pipik.
Please Log in or Create an account to join the conversation.
Time to create page: 0.060 seconds