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
