Commit 4f20b8df authored by Fabrice Salvaire's avatar Fabrice Salvaire

added linuxcnc asciidoc files

parent 283f6515
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
[[cha:other-codes]]
= Other Codes
[[sec:set-feed-rate]]
== F: Set Feed Rate
(((F: Set Feed Rate)))
'Fx' - set the feed rate to 'x'. 'x' is usually in machine units
(inches or millimeters) per minute.
The application of the feed rate is as described in the
<<sub:feed-rate,Feed Rate>> Section, unless 'inverse time feed rate mode'
or 'feed per revolution mode' are in effect, in which case the feed rate
is as described in the <<gcode:g93-g94-g95,G93 G94 G95>> Section.
[[sec:set-spindle-speed]]
== S: Set Spindle Speed
(((S: Set Spindle Speed)))
'Sx' - set the speed of the spindle to 'x' revolutions per minute (RPM).
The spindle will turn at that speed when a 'M3' or 'M4' is in effect.
It is OK to program an S word whether the spindle is turning or not.
If the speed override switch is enabled and not set at 100%,
the speed will be different from what is programmed.
It is OK to program S0, the spindle will not turn if that is done.
It is an error if:
* the S number is negative.
[[sec:select-tool]]
== T: Select Tool
(((T: Select Tool)))
'Tx' - prepare to change to tool 'x'.
The tool is not changed until an 'M6' is programmed (see Section
<<mcode:m6,M6>>). The T word may appear on the same line as the
'M6' or on a previous line. It is OK if T words appear on two or more
lines with no tool change. Only the the most recent T word will take
effect at the next tool change.
NOTE: When LinuxCNC is configured for a nonrandom toolchanger (see
the entry for RANDOM_TOOLCHANGER in the <<sec:emcio-section,EMCIO
Section>>), 'T0' gets special handling: no tool will be selected. This
is useful if you want the spindle to be empty after a tool change.
NOTE: When LinuxCNC is configured for a random toolchanger (see
the entry for RANDOM_TOOLCHANGER in the <<sec:emcio-section,EMCIO
Section>>), 'T0' does not get any special treatment: T0 is a valid
tool like any other. It is customary to use T0 on a random toolchanger
machine to track an empty pocket, so that it behaves like a nonrandom
toolchanger machine and unloads the spindle.
It is an error if:
* a negative T number is used,
* T number is used that does not appear in the tool table file (with
the exception that T0 on nonrandom toolchangers *is* accepted,
as noted above).
On some machines, the carousel will move when a T word is programmed,
at the same time machining is occurring. On such machines, programming
the T word several lines before a tool change will save time. A common
programming practice for such machines is to put the T word for the
next tool to be used on the line after a tool change. This maximizes
the time available for the carousel to move.
Rapid moves after a 'T<n>' will not show on the AXIS preview until after
a feed move. This is for machines that travel long distances to change
the tool like a lathe. This can be very confusing at first. To turn
this feature off for the current tool program a G1 without any
move after the 'T<n>'.
// vim: set syntax=asciidoc:
[[cha:rs274ngc-programs]]
= RS274/NGC Differences
== Changes from RS274/NGC
.Differences that change the meaning of RS274/NGC programs
Location after a tool change::
In LinuxCNC, the machine does not return to its original position
after a tool change. This change was made because the new tool
might be longer than the old tool, and the move to the original
machine position could therefore leave the tool tip too low.
Offset parameters are ini file units::
In LinuxCNC, the values stored in parameters for the G28 and G30 home
locations, the P1...P9 coordinate systems, and the G92 offset are
in "ini file units". This change was made because otherwise the
meaning of a location changed depending on whether G20 or G21 was
active when G28, G30, G10 L2, or G92.3 is programmed.
Tool table lengths/diameters are in ini file units::
In LinuxCNC, the tool lengths (offsets) and diameters in the tool
table are specified in ini file units only. This change was made
because otherwise the length of a tool and its diameter would
change based on whether G20 or G21 was active when initiating
G43, G41, G42 modes. This made it impossible to run G code in the
machine's non-native units, even when the G code was simple and
well-formed (starting with G20 or G21, and didn't change units
throughout the program), without changing the tool table.
G84, G87 not implemented::
G84 and G87 are not currently implemented, but may be added to a
future release of LinuxCNC.
G28, G30 with axis words::
When G28 or G30 is programmed with only some axis words present,
LinuxCNC only moves the named axes. This is common on other machine
controls. To move some axes to an intermediate point and then
move all axes to the predefined point, write two lines of G code:
+
G0 X- Y- (axes to move to intermediate point) G28 (move all axes
to predefined point)
== Additions to RS274/NGC
.Differences that do not change the meaning of RS274/NGC programs
G33, G76 threading codes::
These codes are not defined in RS274/NGC.
G38.2::
The probe tip is not retracted after a G38.2 movement. This
retraction move may be added in a future release of LinuxCNC.
G38.3...G38.5::
These codes are not defined in RS274/NGC
O-codes::
These codes are not defined in RS274/NGC
M50...M53 overrides::
These codes are not defined in RS274/NGC
M61..M66::
These codes are not defined in RS274/NGC
G43, G43.1::
'Negative Tool Lengths'
+
The RS274/NGC spec says "it is expected that" all tool lengths
will be positive. However, G43 works for negative tool lengths.
+
'Lathe tools'
+
G43 tool length compensation can offset the tool in both the X
and Z dimensions. This feature is primarily useful on lathes.
+
'Dynamic tool lengths'
+
LinuxCNC allows specification of a computed tool length through G43.1
I K.
G41.1, G42.1::
LinuxCNC allows specification of a tool diameter and, if in lathe
mode, orientation in the G code. The format is G41.1/G42.1 D L,
where D is diameter and L (if specified) is the lathe tool
orientation.
G43 without H word::
In ngc, this is not allowed. In LinuxCNC, it sets length offsets for
the currently loaded tool. If no tool is currently loaded, it is
an error. This change was made so the user doesn't have to
specify the tool number in two places for each tool change, and
because it's consistent with the way G41/G42 work when the D word
is not specified.
U, V, and W axes::
LinuxCNC allows machines with up to 9 axes by defining an additional
set of 3 linear axes known as U, V and W
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment