Faulty G-Code (maybe)
Posted: Wed Apr 20, 2022 5:18 pm
Hi Tom,
I found a strange behaviour with a simple g-code file (see attachment)
Basically this file is a simple hole chamfer path replicated 6 times in a matrix fashion.
The strange thing is that in a random fashion, according to the coordinates used in file, the interpreted goes past the G0 statement even if that motion segment is still not completed. As a result kflop detects a following error and the axis is disabled. I payed attention to every single previous G0 line and the interpreter, correctly, does not proceed if the motion is not completed.
In the attached G-Code it happens at line 423 when positioning to the 5th hole (marked with arrow in the following code).
It seems like the interpreted consider that line as a zero legth segment and passes over.
Please note that this happens only if we make a traverse X-Y combined move; if I change the line to make single axis move everything works fine.
i.e.
Quite strange that the same code structure (but different coordinates) is repeated on ther previous passage from hole 2 to hole 3, but the problem does not arise. If I change slightly the overall coordinates (i.e. moving +-1mm left) the problem disappear or intensifies happening on every diagonal G0 move.
In simulation everything is ok.
I'm using 4.35f version with latest patch to GCodeInterpreter.
Params of TP are pretty standard, but we have CollinearTolerance to 0.0
Any idea?
Thanks
Giancarlo
I found a strange behaviour with a simple g-code file (see attachment)
Basically this file is a simple hole chamfer path replicated 6 times in a matrix fashion.
The strange thing is that in a random fashion, according to the coordinates used in file, the interpreted goes past the G0 statement even if that motion segment is still not completed. As a result kflop detects a following error and the axis is disabled. I payed attention to every single previous G0 line and the interpreter, correctly, does not proceed if the motion is not completed.
In the attached G-Code it happens at line 423 when positioning to the 5th hole (marked with arrow in the following code).
Code: Select all
...
G1 X111.4993 Y85.0 Z-2.0
(Phase:Exit)
G0 Z19.5
(Phase:Exit)
G0 Z99.5
M9
(Phase:Approach)
G0 X149.499 Y35.000 Z99.500 <------
G0 Z19.500
(Phase:Direct Entrance)
M8
F250
G1 Z-2.000
(Phase:Open Profile)
F760
G1 X149.4993 Y35.0 Z-2.0
...
Please note that this happens only if we make a traverse X-Y combined move; if I change the line to make single axis move everything works fine.
i.e.
Code: Select all
(Phase:Approach)
(G0 X149.499 Y35.000 Z99.500)
G0 X149.499
G0 Y35.000
G0 Z19.500
In simulation everything is ok.
I'm using 4.35f version with latest patch to GCodeInterpreter.
Params of TP are pretty standard, but we have CollinearTolerance to 0.0
Any idea?
Thanks
Giancarlo