The final destination is Y2. Despite there being no Y2 command
anywhere above.
I would say the problem is with the way G98 is being handled. When the
plane is switched from XY to XZ, the "old Z position" (2.0 in this
case) is used as the "old Y position" for the canned cycle return
value in the second G85 cycle (which, by the way, should really be G98
G85 F10 R1 Y0 since G18 selects the XZ plane. I would have expected
you to get an error that says, "Y value unspecified in xz plane
canned cycle".).
"The initial (G98) plane is reset any time cycle motion mode is
abandoned, whether explicitly (G80) or implicitly (any motion code that
is not a cycle). Switching among cycle modes (say G81 to G83) does NOT
reset the initial plane."
If you put in a G80 after the G85 block, and before switching planes,
the behavior changes, but I don't think it's doing the right thing
even then.
Thanks,
Matt
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The final destination is Y2. Despite there being no Y2 command
anywhere above.
I would say the problem is with the way G98 is being handled. When the
plane is switched from XY to XZ, the "old Z position" (2.0 in this
case) is used as the "old Y position" for the canned cycle return
value in the second G85 cycle (which, by the way, should really be G98
G85 F10 R1 Y0 since G18 selects the XZ plane. I would have expected
you to get an error that says, "Y value unspecified in xz plane
canned cycle".).
The behaviour is identical with G98 G85 F10 R1 Y0. A rapid to Y1, feed
to Y0, feed to Y1, rapid to Y2.
In the first example I assume that the X0 is taken as a destination
coordinate in the XZ plane at which to perform the cycle.
(And, indeed, Y0 X1 in the command finishes ax X1 Y2 Z2. )
(which, by the way, should
really be G98 G85 F10 R1 Y0 since G18 selects the XZ plane. I would
have expected you to get an error that says, "Y value unspecified
in xz plane canned cycle".).
The behaviour is identical with G98 G85 F10 R1 Y0. A rapid to Y1, feed
to Y0, feed to Y1, rapid to Y2.
Yes it is, and I think you are correct that the behavior is wrong in
either case.
In the first example I assume that the X0 is taken as a destination
coordinate in the XZ plane at which to perform the cycle.
(And, indeed, Y0 X1 in the command finishes ax X1 Y2 Z2. )
My point, in the parenthesized aside, was just that the canned cycle
endpoint must be specified for the axis that is perpendicular to the
active plane. So, when in G17 mode, the active plane is XY, and the
destination endpoint is specified as Z<something>. If you leave out the
Z word in the block, you'll get an error message like the one I quoted.
I just figure that leaving out the Y word when G18 (XZ plane) is
active, or leaving out the X word when G19 (YZ plane) is active, should
produce a similar error.
Is it, or should it be allowable to change the active plane while a
canned cycle is active? I wonder what a Fanuc 0M would do with this
code...
Thanks,
Matt
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My point, in the parenthesized aside, was just that the canned cycle
endpoint must be specified for the axis that is perpendicular to the
active plane. So, when in G17 mode, the active plane is XY, and the
destination endpoint is specified as Z. If you leave out the
Z word in the block, you'll get an error message like the one I quoted.
I just figure that leaving out the Y word when G18 (XZ plane) is
active, or leaving out the X word when G19 (YZ plane) is active, should
produce a similar error.
Once in a cycle you are allowed to leave out all but the destinations.
In fact the following gives the same result too.
Fanuc 10M manual (1984), II-14.1 (Note 2) says "Switch the drilling axis after cancelling a canned cycle."
This manual doesn't reliably tell you what will cause an error message and what will just not work right [in another place, (Note 7), it says "The tool offset commands are ignored in canned cycle mode"], but either way I think this means we ought to give an error in the situation you've found.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On Fri, 01 Nov 2013 22:28:08 +0000
"andypugh" andypugh@users.sf.net wrote:
I would say the problem is with the way G98 is being handled. When the
plane is switched from XY to XZ, the "old Z position" (2.0 in this
case) is used as the "old Y position" for the canned cycle return
value in the second G85 cycle (which, by the way, should really be G98
G85 F10 R1 Y0 since G18 selects the XZ plane. I would have expected
you to get an error that says, "Y value unspecified in xz plane
canned cycle".).
At:
http://linuxcnc.org/docs/devel/html/gcode/gcode.html#sec:G98-G99-Set
it says:
"The initial (G98) plane is reset any time cycle motion mode is
abandoned, whether explicitly (G80) or implicitly (any motion code that
is not a cycle). Switching among cycle modes (say G81 to G83) does NOT
reset the initial plane."
If you put in a G80 after the G85 block, and before switching planes,
the behavior changes, but I don't think it's doing the right thing
even then.
Thanks,
Matt
On 2 November 2013 01:46, Matt Shaver mshaver@users.sf.net wrote:
The behaviour is identical with G98 G85 F10 R1 Y0. A rapid to Y1, feed
to Y0, feed to Y1, rapid to Y2.
In the first example I assume that the X0 is taken as a destination
coordinate in the XZ plane at which to perform the cycle.
(And, indeed, Y0 X1 in the command finishes ax X1 Y2 Z2. )
--
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto
On Sat, 02 Nov 2013 20:55:57 +0000
"andypugh" andypugh@users.sf.net wrote:
Yes it is, and I think you are correct that the behavior is wrong in
either case.
My point, in the parenthesized aside, was just that the canned cycle
endpoint must be specified for the axis that is perpendicular to the
active plane. So, when in G17 mode, the active plane is XY, and the
destination endpoint is specified as Z<something>. If you leave out the
Z word in the block, you'll get an error message like the one I quoted.
I just figure that leaving out the Y word when G18 (XZ plane) is
active, or leaving out the X word when G19 (YZ plane) is active, should
produce a similar error.
Is it, or should it be allowable to change the active plane while a
canned cycle is active? I wonder what a Fanuc 0M would do with this
code...
Thanks,
Matt
On 2 November 2013 23:47, Matt Shaver mshaver@users.sf.net wrote:
Once in a cycle you are allowed to leave out all but the destinations.
In fact the following gives the same result too.
G17
G0 X0 Y0 Z2
G98 G85 R1 Z0 F10
G18
X0
And, for fun.
G17
G0 X0 Y0 Z2
G98 G85 R1 Z0 F10
G18
Y0
G19
X0
G17
Z0
Finishes at X2 Y2 Z2 despite the last several commands being X0 Y0 and Z0
I suspect not, I think there should perhaps be an implicit G80.
--
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto
Fanuc 10M manual (1984), II-14.1 (Note 2) says "Switch the drilling axis after cancelling a canned cycle."
This manual doesn't reliably tell you what will cause an error message and what will just not work right [in another place, (Note 7), it says "The tool offset commands are ignored in canned cycle mode"], but either way I think this means we ought to give an error in the situation you've found.