On 27 May 2010 00:47, Kirk Wallace <[email protected]> wrote:

> I believe older versions of EMC2 needed to have extra axes installed if
> you wanted a "non-standard" set of axes.

I was working with 2.3.3, which I suppose is still fairly new in the
scheme of things.

On the basis that if I keep on rambling erroneously for long enough
someone who actually knows will jump in and correct me...

I think that by default motmod creates the HAL pins for all axes.
http://linuxcnc.org/docs/html/config_emc2hal.html

How you allocate stepgens and other HAL functions to those is up to
you, as is which [AXIS_N] stanza you pull the data from to set up the
HAL parameters.
However, there are other bits of EMC2 that also use the INI file to
get information such as homing parameters that are less ameanable to
mix-and-match setup.
I think I am correct in saying that it would make more sense for the
[AXIS_N] stanzas in the INI file to read [JOINT_N], as the joints (up
to 9) are mapped to axes by the kinematics module, but homing and step
rates are a per-joint concept rather than a per-axis concept.
Similarly almost all of the axis.N... pins created by motmod really
refer to joints. Joints "become" axes really quite a long way down the
line, at the G-code interpretation level when the kinematics module
(most often trivkins) decodes G-code words in axis-space into motor
positions in joint-space. The fact that that the GUI is also called
"Axis" just adds to the fun.

So: for an XYZC system you can have only 4 [AXIS_N] sections in your
INI file as long as you don't refer to non-existent joints in the HAL
file (ie you get the stepgen.3 scale from the [AXIS_3] section, but
link it to axis.5) and as long as you aren't trying to home that axis.
(because EMC will get the axis.5 (which is a joint) homing information
from the [AXIS_5] section of the INI)
It probably makes more sense to retain the 1:1 mapping in the INI
file, but I think you could skip (or maybe leave empty) the [AXIS_3]
and [AXIS_4] sections of an XYZC system INI file.

The [DISPLAY]GEOMETRY line is important for correct display, and it is
probably worth noting that the order of declaration matters:
from http://www.linuxcnc.org/docview/html//config_ini_config.html :

     "GEOMETRY = XYZABCUVW
     Controls the preview and backplot of rotary motion. This item consists of a
     sequence of axis letters, optionally preceded by a "-" sign. Only axes
     defined in [TRAJ]AXES should be used. This sequence specifies the order
     in which the effect of each axis is applied, with a "-" inverting
the sense of
     the rotation.
     The proper GEOMETRY string depends on the machine configuration and
      the kinematics used to control it. The example string
     GEOMETRY=XYZBCUVW is for a 5-axis machine where kinematics
     causes UVW to move in the coordinate system of the tool and XYZ to move
     in the coordinate system of the material. The order of the letters is
     important, because it expresses the order in which the different
     transformations are applied. For example rotating around C then B is
     different than rotating around B then C. Geometry has no effect without
     a rotary axis."

It appears from this that putting the rotary axes after the active
linear axes in the GEOMETRY line means that their effect will not be
seen in the preview plot, putting them first will show arcs for rotary
axis moves, but I am not sure what AXIS assumes to be the position of
the axis of rotation of the rotary axis in XYZ cartesian space.

-- 
atp

------------------------------------------------------------------------------

_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to