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.
Programing Example
Definition of feed axes
N10 #FGROUP [X,Y] ;X and Y are feed axes
N20 #FGROUP [X,Y,U,V] ;X,Y,U and V are feed axes
:
N50 #FGROUP [A] ;Tracking axis A is feed axis
N60 #FGROUP [X,Y,U,V,A,B] ;X,Y,U,V,A and B are feed axes
:
N100 #FGROUP ;Feed axes acc. to default settings
: ;in the channel parameters
N999 M30
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 |
Programing Example
Definition of feed axes with feed weighting
N10 #FGROUP [X= 0.5, Y= 0.75]; X and Y are feed axes with
;changed feed factors
:
N50 #FGROUP [A=0.85] ;Tracking axis A is feed axis
;with changed feed factor
N60 #FGROUP [X,Y,U,V,A=0.85,B=1.7] ;X,Y,U,V are feed axes
;with feed factor 1.0
,A and B are feed axes
;with changed feed factors
:
N100 #FGROUP ;All feed axes with feed factor 1.0
:
N999 M30
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 |
Attention
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.
Notice
Typically, this function is used for milling.
Feedrate adaptations for turning work are programmed with G95 and G96.
Programing Example
Workpiece with reference radius R=10mm
N05 G00 C0
N10 G01 C180 F1000; Rotational speed of the workpiece 1000°/min
;Feedrate at workpiece circumference 174.67 mm/min
N20 #FGROUP ROT[AX=C REF=10]
N30 G01 C360 F1000 ;feedrate at workpiece circumference 1000 mm/min
;Rotational speed of workpiece 5727.6°/min
:
Nxx #FGROUP ROT (Deselect)
:
N10 G00 X0 Y0 Z0
N15 #FGROUP ROT[AX=C REF=10] ;Feedrate at milling cutter contact point 1000 mm/min
N60 G01 G91 X10 C57.325 F1000 ;Diagonal on lateral surface
N70 G90 X0 C0
Nxx #FGROUP ROT ;Deselect
:
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 |
Programing Example
N10 #FGROUP [X, Y] ;X and Y are feed axes
N20 G00 X0 Y0
N30 #FGROUP WAXIS ;Weakest axis is feed axis
N40 G01 F1000 X10 Y200 ;Y axis is axis with longest motion time
:
N999 M30