Definition of feed axes (#FGROUP, #FGROUP ROT, #FGROUP WAXIS)
#FGROUP defines the axes to which the programmed feedrate (F word) refers. For axes programmed in the #FGROUP command, a path in space is defined for execution at the programmed feedrate. All other axes are treated as tracking axes and they then reach their target points simultaneously with the path axes.
A characteristic feature of a path axis is that the distance to be moved is included in the feedrate. On the other hand, the tracking axis distance to be moved has no direct influence on path velocity.
Syntax of Defining feed axes: |
#FGROUP [ <axis_name> {,<axis_name> } ] |
<axis_name> | Name of the axes which are members of the feed group |
Syntax of Selecting default setting: |
#FGROUP |
If no feed axes are programmed, the default setting defined in the channel parameters P-CHAN-00096 and P-CHAN-00011 are valid. If no feed axes are configured there, all main axes (Index 0, 1, 2) automatically form the channel feed group. This is indicated by the message 21209.
With linear interpolation, feed axes may be given any definition:
With circular and polynomial interpolation, the following exceptions apply:
- With circular interpolation, either all main axes must be feed axes or all defined feed axes must be tracking axes.
- With polynomial interpolation, all main axes form the feed group independent of the #FGROUP command. An exception to this is polynomial contouring in DIST_SOFT mode. Here the programmed #FGROUP is effective.
Programming Example
Definition of feed axes
In the default setting, all feed axes defined with #FGROUP are equally weighted when determining the effective feed rate. By optionally specifying a factor when defining the feed axes, a weighting and therefore its effect on determining the effective feed can be defined for each axis. The extension of #FGROUP is described below.
Syntax of Determining feed axes with feed factors: |
#FGROUP [ <axis_name>=.. { ,<axis_name>=..} ] |
<axis_name>=.. | Name of the axes which form the feed group with associated feed factors. If no factor is specified for an axis, the factor 1.0 will apply. If an axis is fetched by axis exchange to the channel, its feed factor is initialised with a value of 1.0.. The permissible value range for feed factor is [0.001..1000] |
Syntax of Selecting default setting, all feed factors to 1.0: |
#FGROUP |
Programming Example
Definition of feed axes with feed weighting
In order to machine cylindrical workpieces on a rotary workpiece axis, the real programmed feedrate [mm/min] should act at the tool contact point. This can be ensured either by selecting a suitable kinematic transformation (e.g. lateral surface transformation) or by using the command #FGROUP ROT[...]. After programming this command, the feedrate of the rotary axis in [°/min] is recalculated depending on the reference radius. When the rotary axis is programmed alone or together with linear axes, the required programmed feedrate is obtained at the reference radius.
Syntax of Adapting feed for a rotary axis |
#FGROUP ROT [ AX=<axis_name> REF=.. ] |
AX=<axis_name> | Name of the axis on which the reference radius is to act. |
REF=.. | Effective reference radius of the rotary axis in [mm, inch]. |
Syntax of Deselecting adapting feed for a rotary axis |
#FGROUP |
Notice | |
No check is made whether the axis "AX.." is really a rotary axis or not. The function can only be used for feed blocks (G01) and combined with G94. |
![]() | Typically, this function is used for milling. Feedrate adaptations for turning work are programmed with G95 and G96. |
Programming Example
Independent of the default setting in the channel parameters, the command #FGROUP WAXIS defines that the axis with the longest running time ("weakest axis”) is moved automatically as the feed axis at the programmed feedrate (F word). All other axes are treated as tracking axes.
Syntax of Deselecting “weakest” axis as feed axis |
#FGROUP WAXIS |