HSC Functions and contouring methods (D3)

1.1 IntroductionPAGEREF _Toc307388526 \h3

1.2 Description 3

1.2.1 Speed profile 3

1.2.2 Contour smoothing processes 3

1.3 Activation/programming 3

1.3.1 Speed profile, slope function 3

1.3.2 Process 1, HSC mode 1 3

1.3.3 Process 2, HSC mode 2 3

1.3.4 Process 3, Akima and B-spline 3

1.3.4.1 Akima spline 3

1.3.4.2 B-spline 3

1.3.5 Process 4, polynomial contouring 3

1.3.5.1 Polynomial contouring type 1 3

1.3.5.2 Polynomial contouring type 2 3

1.3.5.3 Polynomial contouring type 3 3

1.3.5.4 Polynomial contouring type 4 3

1.3.5.5 Polynomial contouring type 5 3

1.3.6 HSC B-Spline 3

1.4 Contour interpolation points 3

1.5 Machining modes 3

1.5.1 Conventional machining (2.5D) 3

1.5.1.1 Tool radius compensation 3

1.5.2 Five-axis machining 3

1.5.2.1 Positioning commands in the workpiece coordinate system (WCS) 3

1.5.2.2 Positioning commands in the machine coordinate system (MCS) 3

1.6 Influence of slope type and dynamic characteristics 3

1.6.1 Influencing of the dynamic characteristics 3

1.6.1.1 Axis-specific 3

1.6.1.2 Path-specific (option) 3

1.7 FAQ 3

1.7.1 Speed fluctuations 3

1.8 Parameters 3

1.8.1 Overview 3

1.8.2 Description 3

1.8.2.1 Channel parameters 3

1.8.2.2 Axis parameters 3

1.9 Application examples 3

1.9.1 2.5 D machining 3

1.9.1.1 Akima spline 3

1.9.1.2 B-spline 3

1.9.2 Five-axis machining examples 3

1.9.2.1 Akima spline 3

More:

button Introduction

button Description

button Activation/programming

button Contour interpolation points

button Machining modes

button Influence of slope type and dynamic characteristics

button FAQ

button Parameters

button Application examples


Introduction

When CAD/CAM systems are used, the NC program is generated by scanning of the original contour generated by the user. Depending on the CAD/CAM system, linear and/or circular blocks are then generated. Frequently, short blocks come into being within the range from a few millimetres right down to 1/1000 mm. Depending on the kind of workpiece, the contour either describes a relatively harmonious profile (not prismatic) and/or the contour contains corners or edges (prismatic), which have to be contained and be recognisable as such in the workpiece. In the CAD/CAM system, the original contour is scanned by an algorithm with an error tolerance. The NC's task now consists of interpolating this set of interpolation points at the highest possible speed.

Figure 1-1: Scanning a milling contour curve (variant 1)

Figure 1-2: Scanning a milling contour curve (variant 2)

The possible machining speed and thus the production time depend on the following factors:

q Possible data throughput of the NC

q Distance through space of the motion blocks

q Dynamic characteristics of the axes

q Slope type

q Interpolation point and contour (curvature)

q Active mapping functions (transformations)


Description

More:

button Speed profile

button Contour smoothing processes


Speed profile

Without modification of the contour description, NC programs with short blocks can only be run at adequate speed with a relatively high permissible acceleration of the CNC axes and active linear slope because the block transitions are generally discontinuous with regard to the axis speed, i.e. they are not tangential. By using the contour-changing functions or processes described in the following chapters, you achieve the shortest possible machining time (time-optimised) with the linear slope function.

On some machine types, it is not possible to use abrupt acceleration due to the resulting excitation of machine vibrations. In this case, a non-linear speed profile (e.g. slope with a linear acceleration change) is necessary. Due to the necessary jerk limiting, the acceleration is built up and reduced according to the specified ramp time.

When this slop type is used, short non-tangential linear or circular blocks cannot be run at adequate speed. The reason for this is the jerk consideration active in the CNC when using the non-linear slope function. At discontinuous block transitions, the look ahead function has to reduce the contouring speed to achieve acceleration changes that are not too considerable.

For the HSC processing a special HSC slope is available, which is able to determine block global both, the velocity and also the acceleration in look ahead for short blocks. The acceleration profile is similar to the trapezoidal slope profile.

Figure 1-3: Typical contouring speed profile with linear slope function

Figure 1-4: Typical contouring speed profile with non-linear slope function

Figure 1-5: 7 phases profiles with nonlinear slope function


Contour smoothing processes

The contour-influencing processes described below are available to be able to operate at a higher machining speed even with discontinous block transitions and relatively short blocks. All the processes modify the programmed nominal contour in such a way that the transition between the individual programmed interpolation points or partial contours is continuous. To what degree this continuity is achieved depends on the process used.

No. | Process | Polynomial/continuity
1 | HSC mode 1 (insertion of polynomials) | Polynomials of the third order, single (tangential)
2 | HSC mode 2, spline curves | Polynomials of the third order, single (tangential)
3 | Spline (Akima, B-spline) | Polynomials of the third order Akima: single (tangential) Polynomials of the third order B-spline: twofold (tangential and continuous curvature)
4 | Polynomial contouring | Polynomials of the fourth order, twofold (tangential and continuous curvature)
5 | HSC B spline | twofold (tangential and continuous curvature)

When using the processes 1, 2, 4 and 5, by specifying corresponding parameters the user can additionally decide to what extent deviations from the programme nominal contour are permissible. Here, the nominal contour is understood to be the NC program generated by the CAD/CAM system (i.e. the interpolation points). Slight permissible deviations from the nominal contour in the case of highly discontinuous block transitions generally lead to lower machining speeds.

In the case of the spline process 3, the possible contouring error cannot be influenced. It results from the specified interpolation points and the spline algorithm. The Akima spline has the characteristic that it links up the programmed interpolation points. By contrast, the B-spline algorithm uses the programmed interpolation points as check points only and therefore generally does not lead through the interpolation points. The processes are especially suitable for joining smooth and harmonious interpolation point profiles (e.g. joining of circular blocks or elliptical description via linear blocks) because non-linear transitions are smoothed as required. The spline processes listed as number (3) are not suitable for the interpolation of prismatic contour descriptions. Due to the typical characteristics of the B-spline algorithm, this is also partly suitable for generating curves out of scanned surfaces.

The HSC B spline mode 5 offers the possibility to combine automatically spline segments. Beside the smoothing effect of the B spline the roughness of the interpolation points is removed and the block performance is increased. During this the process monitores the contour deviation, parametrized by the user.

The operating principle of all the processes is not limited to main axis motions but, with the exception of process 4, at least one main axis must be involved in a motion.

Processes 2 and 3 are not suitable for smoothing short circular blocks with transitions that are not tangent-constant because spline generation is deactivated automatically before the entry into a circular block! Process 1 or 4 must be used in this case. If the preservation of discontinuous block transitions is desirable (prismatic contour segment), processes 2 and 4 must be given preference. Here, the user can also retain required prismatic contour segments by specifically using the contouring process 4 or by suitably parameterising the limit angle at discontinuous block transitions with process 2.

If interpolation points generated by a CAD/CAM system are used, the actual nominal contour error depends considerably on the scanning process in the CAD/CAM system. Generally, the nominal contour error becomes smaller than the tolerance hose programmed in the CAD/CAM system because the spline curve positioned over the interpolation points comes closer to the original curve than the polygon. As shown by way of example in Figure 1-2, the contour description is approximated via polygons and/or circular blocks, i.e. the generated interpolation points each lie on the original curve or the generated circular blocks approximate the curvature of the original curve locally and end on the original curve.

Process | Influence of the contour description on the nominal curve
 | G00, G01 | G02, G03
1 | Nominal contour not over programmed interpolation points | Circular nominal contour deviation
2 | Nominal contour over programmed interpolation points | Spline inactive, circular block is interpolated exactly
3 | In the case of Akima nominal contour through programmed interpolation points, not in the case of B-spline (interpolation points only check points of the spline curve) | Spline inactive, circular block is interpolated exactly
4 | Nominal contour not over programmed interpolation points | Circular nominal contour deviation
5 | Interpolation points are only control points of the spline curve | Spline inactive, circular block is interpolated exactly

Process | Suitability for program/block structure
 | Short linear blocks, harmonious contour | Short linear and circular blocks, any contour | Short linear blocks, long circular blocks, harmonious contour | Short linear blocks, circular blocks, prismatic contour | Short and long linear blocks
1 | + | + | + | - | +
2 | ++ | - | + | + | -
3 | ++ | - | + | - | -
4 | + | + | + | + | +
5 | ++ | +- | + | - | +

+: suitable -: not suitable


Activation/programming

The diverse variants and programming possibilities are described in detail in the programming instructions [PROG]. Here, only the parameters and commands that are essential to the application will be presented with reference to examples.

More:

button Speed profile, slope function

button Process 1, HSC mode 1

button Process 2, HSC mode 2

button Process 3, Akima and B-spline

button Process 4, polynomial contouring

button HSC B-Spline


Speed profile, slope function

A specific speed profile is chosen by means of the following commands. Default initialisation is done via a machine parameter.

Slope type | NC command
Linear slope | #SET SLOPE PROFIL[0]
Non-linear slope (trapezoidal) | #SET SLOPE PROFIL[1]
Non-linear slope (sine-square) | #SET SLOPE PROFIL[2]
HSC slope (trapezoidal) | #SET SLOPE PROFIL[3]


Process 1, HSC mode 1

Characteristics

In the HSC mode 1, the adjoining blocks at motion block transitions are shortened and a transition polynomial is inserted. The permissible nominal contour error ε is specified as a parameter in the selection.

Figure 1-6: Insertion of transition polynomials

Programming

Example: selection of HSC mode 1 with a maximum nominal contour deviation of 1mm

N10 #HSC ON [OPMODE 1 CONTERROR 1]

G01 G01 G90 X10 Y10 F10000

....................(Further contour description)

N2000 #HSC OFF


Process 2, HSC mode 2

Characteristics

In the HSC mode 2, Akima spline curves are generated which lead through the specified corner points. At the start of prismatic segments, spline generation is cancelled automatically and a tangential transition is realised. In the case of linear blocks, for example, prismatic segments are recognised via the knee angle and the block length change referred to an average block length.

Transition polynomials are inserted automatically (see HSC mode 1) in the case of block transitions in the prismatic range.

Figure 1-7: Akima spline curve through contour interpolation points

Programming

Example: selection of HSC mode 2 with a maximum nominal contour deviation of 1mm

N10 #HSC ON [OPMODE 2 CONTERROR 1]

G01 G01 G90 X10 Y10 F10000

....................(Further contour description)

N2000 #HSC OFF


Process 3, Akima and B-spline

The interpolation points are programmed by means of G01 or G00 blocks. Programmed G02 and G03 blocks are only possible with Akima Spline type, the transition to these blocks takes place tangentially, and spline generation is temporarily suppressed up to the next G01 or G00 block.

This process is particularly interesting for curves that are completely continuous or which are continuous in segments, for example circular or elliptical contours approximated by linear blocks.

Select or cancel either by means of G151/G150 or via the string commands #SET SPLINE ON/#SET SPLINE OFF.

More:

button Akima spline

button B-spline


Akima spline

Characteristics

The Akima spline curve runs through the programmed interpolation points and has a constant tangent within the contour. Contrary to all other processes, in the case of the Akima spline the user can define how the curve is entered and left. To define the transition to the spline zone, either the approach/exit block into/out of the spline zone is used or the user can specify the direction by explicitly specifying the tangent vector.

Figure 1-8: Closed spline contour

Programming

Example: Selecting the Akima spline with a tangential transition out of the approach block and into the exit block.

N01 G00 X-10

N02 #SET SPLINETYPE AKIMA

N03 #SET ASPLINE MODE[2 ,2]

N04 #SET SPLINE ON

N05 G01 G01 G90 X0 F10000

....................(Further contour description)

N1998 X0

N1999 #SET SPLINE OFF

N2000 X10


B-spline

Characteristics

The B-spline curve has a constant tangent and curvature within the contour. The B-spline algorithm uses the programmed linear interpolation points as check points only, i.e. the interpolated spline curve generally does not lead through the interpolation points. As a result, this spline type has a more smoothing characteristic in the case of linear blocks than the Akima spline, and the attainable contouring speed is higher.

Figure 1-9: Typical B-spline curve

Programming

Example: selection of a B-spline with a tangential transition out of the approach block and into the exit block

N01 G01 G01 G90 X0 Y0 F10000

N02 #SET SPLINETYPE BSPLINE

N03 #SET SPLINE ON

N04 X10 Y0

N05 X20 Y10

....................(Further contour description)

N75 X90 Y0

N99 X100 Y0

N100 #SET SPLINE OFF

Figure 1-10: Comparison of the smoothing effects of Akima and B-spline


Process 4, polynomial contouring

Characteristics

In this process, two partial polynomials are generated which lead into the adjoining partial blocks with a constant tangent and curvature.

A total of five contouring types is available. They are selected either for the specific block via G61 or across blocks via G261.

In the case of all types, the contouring curve is limited to 50% of the length of the previous or following block.

With all polynomial contouring types, the permissible angular deviation of coupled axes can also be specified via a parameter. This may be an advantage when hooking in and out of orientation axis motions and in the case of a high permissible angular position error.

More:

button Polynomial contouring type 1

button Polynomial contouring type 2

button Polynomial contouring type 3

button Polynomial contouring type 4

button Polynomial contouring type 5


Polynomial contouring type 1

Characteristics

In the case of polynomial contouring type 1, not only the corner distance but also the axis acceleration and the programmed nominal feed rate are used for calculation. If permitted by the user-specified contour and parameters, the contouring path is run through without a speed drop as far as possible. If the programmed feed rate is very high, the acceleration and the corner deviation are the speed-limiting parameters.

No kinematic transformations are taken into account in estimation of the corner distance.

Figure 1-11: Polynomial contouring type 1

Programming

Example: Selection of polynomial contouring type 1 with maximum nominal contour deviation (corner deviation) in the contouring zone of 2mm

N05 #CONTOUR MODE[AUTO_DEV, PATH_DEV=2.0]

N10 G261

G01 G01 G90 X100 F10000

Y100

....................(Further contour description)

N2000 G260


Polynomial contouring type 2

Characteristics

In the case of this contouring type, the contouring curve is dimensioned so that the curve can be run through with the specified percentage vb_proz of the programmed speed of the previous block (N20). For example, if vb_proz=75% and F=2000mm/min is programmed as the contouring feed rate and this is not limited by permissible axis speeds or accelerations of that axis, the contouring curve is run through at vB=1500mm/min.

No kinematic transformations are taken into account in estimation of the corner distance.

Figure 1- 12 : Polynomial contouring type 2

Programming

Example: Selection of polynomial contouring type 2 with contouring speed in the contouring zone of 1500mm/min (75% of F2000).

N05 #CONTOUR MODE [AUTO_VEL, VEL=75]

N10 G261

N20 G01 G01 G90 X100 F2000

N30 Y100

....................(Further contour description)

N2000 G260


Polynomial contouring type 3

Characteristics

Here, the user programs the corner distances of the previous and following blocks by which the adjoining motion blocks are to be shortened.

Figure 1-13: Polynomial contouring type 3

Programming

Example: Selection of polynomial contouring type 3 with a corner distance of 10mm in N20, 5 mm in N30

N05 #CONTOUR MODE [DIST, PRE_DIST=10, POST_DIST=5]

N10 G261

N20 G01 G01 G90 X100 F2000

N30 Y100

....................(Further contour description)

N2000 G260


Polynomial contouring type 4

Characteristics

In the case of polynomial contouring type 4, the user defines the permissible corner deviation at the programmed time of N20.

Figure 1-14: Polynomial contouring type 4

Programming

Example: Selection of polynomial contouring type 4 with a maximum nominal contour deviation in the contouring zone of 5mm.

N05 #CONTOUR MODE [DEV, PATH_DEV=5]

N10 G261

N20 G01 G01 G90 X100 F10000

N30 Y100

....................(Further contour description)

N2000 G260


Polynomial contouring type 5

Characteristics

In the case of polynomial contouring type 5, the user has a possibility of performing corner machining without a contour deviation and a speed drop. In this case, the corner is machined by means of a looping motion of the tool. Naturally, this is possible only if the tool motion does not violate the contour due to the polynomials inserted in the corner zone. The looping motion in the outer zone of the corner is defined besides the corner distance via the absolutely programmed intermediate point. The corner distance must be set to 0 if no nominal contour deviation is permissible.

Figure 1- 15 : Polynomial contouring type 5

Programming

Example: Selection of polynomial contouring type 5 with intermediate point definition Pz=(250,-150); corner distances are 0.

N05 #CONTOUR MODE [POS, X250, Y-150]

N10 G261

N20 G01 G01 G90 X100 F10000

N30 Y480

....................(Further contour description)

N2000 G260

Application areas

The following table shows the expedient application areas for the various contouring methods. If not requirements/data have to be specified in relation to nominal contouring accuracy, all types can be used for typical 2.5D machining.

Due to direct or indirect specification of the contouring accuracy, types 1, 3 and 4 can be used in the general HSC area. Type 1 is not suitable for HSC five-axis machining.

Type | Use of the various contouring types in the case of
 | Conv. 2.5D | HSC 2.5D | HSC 3D free-form area | HSC 5 axes
1 | + | + | + | -
2 | + | - | - | -
3 | + | + | + | +
4 | + | + | + | +
5 | + | -(*) | -(*) | -(*)

+: suitable -: not suitable

(*) Possibility of parameter definition when using a CAD/CAM system must be checked


HSC B-Spline

Characteristics

The HSC B spline process enables users to spline the programmed contour with a parameter-definable contour deviation. The three-dimensional curve generally does not interpolate the programmed interpolation points and uses them only as checkpoints to be approximated. Contour elements that lie within the parameterised tolerance can be grouped into one single spline segment.

Figure 1- 16 : Reduction of spline segments with the tolerance by P0

Programming

The spline curve is based on the checkpoints N40  N155, and the spline curve passes through at N20 and N150 only.

N10 #SET SLOPE PROFIL[3]

N20 G00 X0 Y0 Z0 F10000

N30 #HSC ON [BSPLINE PATH_DEV=0.2 MERGE=1]

N40 X3 Y25

N50 15 Y15

N60 23 Y12

N70 X25 Y25

N80 X30 Y35

N90 X50 Y37.5

N100 X55 Y32.5

N110 X58 Y12

N120 X70 Y12

N130 X77.5 Y10

N140 X90 Y35

N150 X100 Y37.5

N160 #HSC OFF

N170 #SET SLOPE PROFIL

N180 M30

A program part that is to be smoothed in the HSC mode begins with #HSC ON and ends with #HSC OFF . Necessary settings are either directly behind #HSC ON in square brackets or in a separate program line before it. The following excerpts from NC programs show both variants:

#HSC ON [BSPLINE Settings]

#HSC OFF

or

#HSC [BSPLINE Settings]

#HSC ON

#HSC OFF

Once chosen, settings are retained in further #HSC ON...OFF  sections until they are programmed again.

It is recommended to activate the HSC slope due to the optimised block-global profile planning in the case of short blocks. At the end of the HSC section it is possible to switch again back to the default slope type with #SET SLOPE PROFIL .

To find a favourable setting , three questions must be clarified:

1. Is the machine susceptible to vibrations?

2. Are sharp edges to remain visible?

3. Does the NC program contain circle blocks?

Recommendation: In any case, you should run without pre-segmentation of linear blocks and you should not filter out small NC blocks, i.e. you should make sure that, in the channel parameters list, the parameters

" hsc.gen.linear_segmentation" , and  " hsc.gen.filter_deviation"

are set to zero.

Setting the spline parameters

Below, the parameters of the spline curves are described with which contours are smoothed in the HSC mode. All settings follow the key word BSPLINE . We first show what parameters define the tolerance with which the smoothed path may deviate from the programmed points. How the HSC process reacts to violation of this tolerance has to do with the question whether sharp edges are to be visible or rounded. A choice can be made between both variants.

In rare cases, overlapping of actually parallel paths occurs when combining NC blocks. To prevent this, a presetting must be modified. Finally, an option for smoothing rapid traversing blocks and limits for bend angles and block lengths that should only be modified in exceptional cases are described.

Contour deviation

Contours smoothed by the HSC algorithm do not lie exactly on the programmed points; the maximum deviation of the main axes follows the key word PATH_DEV, and its value ∆ s is specified in millimetres. For 5-axis simultaneous milling, the tolerance of the angle axes is specified ∆φ in degrees after the key word TRACK_DEV :

#HSC ON [BSPLINE PATH_DEV = ∆ s, TRACK_DEV = ∆φ ]

Figure 1- 17 : - Defining the distance of the smoothed contour from the programmed path

Are sharp edges to remain visible?

At sharp edges, the spline curve threatens to depart from the tolerance limits. The HSC process counteracts this in two ways: either it inserts new points, thus pulling the spline towards the programmed path or it interrupts the spline curve at the corner point so that the smoothed contour leads exactly to the tip. In the case of the first method, corners are rounded, whereas in the case of the second one they remain visible.

Rounded edges

This mode is the default. To expressly select it, set the two parameters AUTO_OFF_PATH and AUTO_OFF_TRACK to zero:

#HSC [BSPLINE AUTO_OFF_PATH = 0, AUTO_OFF_TRACK = 0]

Main and slave axes can be set differently, which does not appear to make sense, however.

Figure 1-18 explains the method's operating principle.

If you smooth linear blocks with this method, it results in a curvature like in the case of the "Contour-Mode" command with G261 if, in the channel parameters,: " hsc.gen.linear_segmentation " is set to zero.

Figure 1- 18 : - Adding points at sharp corners to keep to tolerance

Sharp edges

To activate the "angular contour" mode, set the AUTO_OFF_PATH and AUTO_OFF_TRACK parameters to one:

#HSC [BSPLINE AUTO_OFF_PATH = 1, AUTO_OFF_TRACK = 1]

Here, the spline curve ends at corner points, as shown in the following figure.

Although you stop briefly at the tip, the machining time drops in this mode because the process decelerates quickly here and accelerates again, contrary to the "round corners" mode in which you travel a longer distance with a relatively small feed rate.

Figure 1- 19 :  Cancellation of the spline at the corner point; the sharp edge remains visible

Merging blocks

The path's curvature radius and the feed rate determine the axial acceleration perpendicular to the path direction. It may be necessary to lower the feed rate to be able to keep to all axis acceleration limits.

The spline curves generated from the NC code for free-form areas practically always have an unsettled course of the curvature, which fluctuates from one block to another. It therefore makes sense to merge NC blocks to smooth the feed rate limits. In rare cases, overlapping of actually parallel paths occurs, which manifests itself in unequal milling paths. Merging can be deactivated with the MERGE parameter.

#HSC [BSPLINE MERGE = 0 or 1]

MERGE = 1 Merge blocks, default

MERGE = 0 Do not merge blocks

The figure below shows how the spline merge steadies the course of the curvature; it is then possible to travel with a more even feed rate.

The merge process merges NC blocks until further merging leads to violation of the tolerance margin, which was defined with the PATH_DEV and TRACK_DEV parameters.

If jerk limiting is active and the geometric jerk is monitored, a calm curvature profile also leads to higher speeds.

Finally, a setting for smoothing rapid traversing blocks and also limits for bend angles and block lengths are described.

Figure 1- 20 : The spline MERGE steadies the curvature profile

Spline and rapid traversing positioning

As has been found, it is faster to travel into a corner and to wait a moment there than to round the contour and travel at a low feed rate over a longer distance. This is why it may make sense not to smooth transitions with rapid traversing blocks. If the starting motions have been programmed with rapid traversing blocks and you would not like to stop during feeding of the milling tool, AUTO_OFF_G00 must be equal to zero.

#HSC [BSPLINE AUTO_OFF_G00 = 0 or 1]

AUTO_OFF_G00 = 0 Smoothen transitions with rapid traversing blocks,
default

AUTO_OFF_G00 = 1 Implicit cancellation of the spline due to a rapid
traversing block

Threshold values of the algorithm

MAX_PATH_LENGTH <value> - Maximum path length of relevant blocks in mm. The spline is implicitly cancelled if blocks are longer than the specified length. Default: 0 mm (implicit cancellation due to block length does not take place).

MAX_ANGLE <value> - Maximum contour bend angle in degrees for transitions between two linear blocks up to which a B-spline is inserted. The B-spline is cancelled internally if the angle between the two linear blocks is greater. Default value: 0 ° (implicit cancellation due to the bend angle does not take place).

Smoothing over the contour in the HSC mode

In the HSC mode, prismatic parts are machined just as well as polynomial smoothing over with the "Contour-Mode" commands. This mode thus functions for both free-form areas and prismatic contours.

Figure 1- 21 : The HSC mode (top) smoothes linear blocks as in the case of "Contour-Mode" commands (bottom); the contours hardly deviate.


Contour interpolation points

An adequately high contouring speed can only be achieved if the interpolation point profile of the NC program generated is a harmonious one. This influence becomes all the more stronger the shorter the motion blocks are. By way of example, Figure 1-22 shows the scanned linear interpolation points for an axis. Therefore, each interpolation point represents an NC block. Due to the relatively extreme fluctuations of the relative travel distances in relation to path travel (Figure 1-23), the resulting speed profile for this axis fluctuates considerably. This also has a negative impact on machining accuracy. This interpolation point variant can generally only be interpolated by means of a highly smoothing process such as the B-spline process. It is better, however, to use a suitable filter function in the CAD/CAM system because only this system possesses information about the original contour.

Figure 1-22:: Axis positions scanned by a CAD/CAM system

Figure 1-23: Block-related relative travel distance of the axis

In the case of five-axis machining, a harmonious interpolation point profile is particularly important because, in certain circumstances, tool compensating motions have to be generated by the CNC here.

The axis positions and the block-related relative travel distance after smoothing via a simple averaging filter (e.g. in the CAD/CAM system) are shown here.

Figure 1-24: Scanned positions of the axis

Figure 1-25: Block-related relative travel distance of the axis


Machining modes

More:

button Conventional machining (2.5D)

button Five-axis machining


Conventional machining (2.5D)

In this case, a distinction must be made between classical 2.5D machining in the plane and machining in space. In the first case, the contour description can consist of linear or circular blocks and, in the second case, it consists only of linear blocks. In most cases, this is the classical free-form area machining process.

More:

button Tool radius compensation


Tool radius compensation

In the case of classical free-form area machining, tool geometry compensation is already realised in the CAD/CAM system.

The following must be taken into account when using tool radius compensation during 2.5D machining or when machining inclined surfaces.

Tool radius compensation generates contour elements that are offset, starting from the original contour, by the tool radius. On the basis of these interpolation points or the contour elements, polynomials are calculated online, i.e. in the CNC. The result, however, is dependent on the interpolation point density, the chosen interpolation method and the nature of the contour description via linear and/or circular blocks. Two typical examples in combination with the Akima spline are shown below. When the B-spline is used, a greater error must be expected because the spline uses the interpolation points calculated by tool radius compensation as check points only.

Figure 1-26: Akima spline interpolation with active tool radius compensation

Figure 1-27: Akima spline interpolation with active tool radius compensation

When the spline function is active and G02, G03 blocks are programmed, spline generation is interrupted and a tangential transition into the circular block is generated. When tool radius compensation is used in a pure linear block program, this can insert transition circles depending on the operating mode.


Five-axis machining

In the case of five-axis machining, the tool's orientation is altered in addition to its positioning motion. Depending on the contour description, larger-scale motion components can then alternately occur in the orientation or positioning axes. Here, continuity with regard to the contour description must be given a wider interpretation. A continuous block transition in the x-y plane in the first derivation (speed) is generally discontinuous in the case of a tool that is perpendicular oriented to the contour in this plane. For example, a speed change in the orientation axes results in the case of motions with tangential circle -> line, line -> circle or circle -> circle block transitions with different radii.

Therefore, for as high a machining speed as possible, not only should the contour description have a harmonious profile, but also the orientation profile of the tool. If this is not the case, when the spline processes are used you must consider the fact that the generation of spline curves is deactivated when only coupled axes are moved. Therefore, a block transition cannot be smoothed with this process if the contour position and orientation changes in the first motion block and only the orientation is changed in the second motion block!

Such block transitions can be smoothed with the polynomial contouring processes.

A second possibility is to segment main axis motion in the CAD/CAM system and to detach the main axis motion in stages.

More:

button Positioning commands in the workpiece coordinate system (WCS)

button Positioning commands in the machine coordinate system (MCS)


Positioning commands in the workpiece coordinate system (WCS)

Programming is realised by specifying position interpolation points in the WCS and the orientation in the MCS or WCS (depending on the transformation type, RTCP transformation -> MCS, complete transformation -> orientation vector).

The deviation tolerance for interpolation of the orientation between the orientation interpolation points is generally greater than the position tolerance. The orientation can therefore be smoothed to a greater extent. When this method is applied, no large-scale errors are to be expected from smoothing the contour description by means of processes 1 - 4 because the tool compensation motions are calculated online in the NC by means of kinematics transformation.

For machining with constant orientation, use can be made of the CNC's internal tool radius compensation as in the case of 2.5D machining. Otherwise, 3D tool geometry compensation must be realised by the CAD/CAM system.

Example:

N05 #KIN ID[9]

N10 #TRAFO ON

N15 #HSC ON [OPMODE 1 CONTERROR 1]

N20 G01 F10

N30 X100 Y100 Z100 A20 B15

............(Contour/orientation description in the WCS/MCS)

N1998 #HSC OFF

N1999 #TRAFO OFF

N2000 M30


Positioning commands in the machine coordinate system (MCS)

Programming is realised by specifying positioning interpolation points in the MCS.

Example:

N20 G01 F10

N25 #HSC ON [OPMODE 1 CONTERROR 0.1]

N30 X134.45 Y145.56 Z162.45 A20 B30

............(Contour/orientation description in the MCS)

N1999 #HSC OFF

N2000 M30

Here, the deviation tolerance for interpolation of the machine coordinates is generally less than when using the method described above because the tool compensation motions are already calculated into the position coordinates of all axes. Here, therefore, excessive interpolation point distances must be avoided in all axes because the error in the contour after the use of contour-influencing processes in the MCS is difficult to estimate. In certain circumstances, a very considerable contour distortion can occur in the processes that use polynomials of a higher order.


Influence of slope type and dynamic characteristics

If the maximum permissible acceleration of the different slope types is otherwise the same, the shortest possible machining time is always achieved with the linear slope. With this slope type, the active contouring acceleration is built up abruptly.

Larger-scale speed fluctuations are generally to be expected on the contouring path if the dynamic characteristics of the axes differ greatly.

More:

button Influencing of the dynamic characteristics


Influencing of the dynamic characteristics

If required, the axis-specific characteristic quantities can be influenced towards less or higher values right up to the maximum permissible acceleration. By means of NC programming, the contouring characteristics calculated by the NC can also be altered towards lower values. As a result, critical acceleration events within the NC program that have an influence on contouring accuracy can be avoided.

More:

button Axis-specific

button Path-specific (option)


Axis-specific

The dynamic axis acceleration and ramp time (non-linear slope only) limits used by the look ahead function can be weighted by programming of G130 and G132. The weightings are active for G01, G02 and G03 motions only. Weighting values of more than 100% are also possible provided that the maximum permissible acceleration is not exceeded.

Example:

N10 G130 X50 Y75 Z75

N20 G132 X75 Y75 Z75

N10: the axis acceleration of the X axis in use is reduced to 50%, and that of the Y and Z axes to 75%.

N20: the ramp time of the X, Y and Z axes in use is reduced to 75%.

If all axes are to have the same weighting, the G functions G131 and G133 can also be used.

Example:

N10 G131 50

N20 G133 50

N10: the axis acceleration of all axes in use is reduced to 50%.

N20: the ramp time of all axes in use is reduced to 50%.


Path-specific (option)

The path acceleration or speed calculated by the look-ahead function can be limited by means of the #VECTORACC, #VECTORVEL command. The limit can either be programmed explicitly b) or can be obtained from the entry from the channel-specific list a). The associated characteristic quantities are presented in Chapter 0.

a | b
N10 #VECTORACC ON N20 G01 X10 Y10 Z10 F10000 . N1000 #VECTORACC OFF M30 | N10 #VECTORACC ON[2700000] N20 G01 X10 Y10 Z10 F10000 . N1000 #VECTORACC OFF M30
N10 #VECTORVEL ON N20 G01 X10 Y10 Z10 F10000 . N1000 #VECTORVEL OFF | N10 #VECTORVEL[5000] ON N20 G01 X10 Y10 Z10 F10000 . N1000 #VECTORVEL OFF


FAQ

More:

button Speed fluctuations


Speed fluctuations

Influences

The following parameters/influences must be checked if extreme speed fluctuations occur during processing of programs.

q Data throughput of the NC

q Interpolation point profile

q Dynamic characteristic quantities of the axes

q Slope type

q Active mapping functions (transformations)

Dynamics

Generally, it can be said that high permissible accelerations and short ramp times have a favourable influence on the maximum possible contouring speed. 1.8 provides a list of the dynamic characteristic quantities used by the CNC.

Data throughput

To ensure that a programmed contouring speed can be run, the following influences must also be checked:

q Interpolator buffer size

q Required number of blocks/cycle

The buffer size defines the braking distance and thus the theoretically maximum attainable speed. In the case of the non-linear slope function, the braking distance is fundamentally longer and so a larger buffer and number of records per cycle are needed to achieve the same contouring speed. The number of blocks/cycle needed after stabilisation can be estimated on the basis of the feed rate and the cycle time. For example, a travel distance of at least 0.84mm per sampling interval is needed in the case of F=10m/min and a cycle time of 5ms per cycle.

These parameters are generally specified by the machine manufacturer and cannot be influenced by the user.

Generally, the user can only partly influence the following parameters.

Contour profile and curvature

Due to the accuracy requirements for the workpiece, the parameters are specified by the CAD/CAM system. A workpiece with extreme contour curvature generally leads to relatively short motion blocks and a low speed. If the contour curvature changes considerably, speed fluctuations with a high programmed feed rate cannot be avoided.

It is important that the interpolation point profile is harmonious, especially if NC blocks are short, i.e. the fluctuation width of the relative distances of the individual axes referred to the distance in space of successive blocks must be small (scanning by the CAD/CAM system). Otherwise, it is not possible to operate with a constant contouring speed because the CNC reduces the contouring speed due to resulting curvatures and curvature changes.

A certain amount of smoothing of "noisy" interpolation points can be achieved with the B-spline.

Nevertheless, the resulting contouring sped profiles are not optimal and the axis speeds fluctuate considerably depending on the motion components of the single axes. It is advisable to use a suitable smoothing algorithm in the CAD/CAM system here.


Parameters

Depending on the slope type, the following axis-specific and channel-specific parameters have an influence on the speed profile and the attainable contouring speed.

More:

button Overview

button Description


Overview

General dynamic characteristics

ID | Parameter | Description
P-AXIS-00008 | a_max | Maximum permissible axis acceleration
P-AXIS-00209 | vb_eilgang | Rapid traversing speed
P-AXIS-00212 | vb_max | Maximum permissible axis speed

Characteristic quantities and control flags for non-linear slope function

ID | Parameter | Description
P-AXIS-00001 | a_beschl | a during acceleration
P-AXIS-00002 | a_brems | a during deceleration
P-AXIS-00004 | a_grenz | Rapid traversing acceleration
P-AXIS-00013 | a_trans_weight | Weighting of acceleration at the block transition
P-AXIS-00154 | r_trans_weight | Weighting of jolt at the block transition
P-AXIS-00195 | tr_beschl_ab | Ramp time during reduction of acceleration
P-AXIS-00196 | tr_beschl_zu | Ramp time during build-up of acceleration
P-AXIS-00197 | tr_brems_ab | Ramp time during reduction of deceleration
P-AXIS-00198 | tr_brems_zu | Ramp time during build-up of deceleration
P-AXIS-00199 | tr_geom | Ramp time for curved contours
P-AXIS-00200 | tr_grenz | Rapid traversing ramp time

ID | Parameter | Description
P-CHAN-00009 | corr_v_trans_jerk | Activation of jolt limiting at tangential block transitions

Characteristic quantities for linear slope function

ID | Parameter | Description
P-AXIS-00005 | a_grenz_stufe_1 | Rapid traversing acceleration, stage 1
P-AXIS-00006 | a_grenz_stufe_2 | Rapid traversing acceleration, stage 2
P-AXIS-00011 | a_stufe_1 | Acceleration, stage 1
P-AXIS-00012 | a_stufe_2 | Acceleration, stage 2
P-AXIS-00211 | vb_grenz_stufe_1_2 | Stage 1 -> stage 2 rapid traversing changeover speed
P-AXIS-00221 | vb_stufe_1_2 | Stage 1 -> stage 2 changeover speed

Default path-specific characteristic quantities (option)

The following parameters are effective in combination with the path-specific commands described in Chapter 1.5.

ID | Parameter | Description
P-CHAN-00002 | acceleration | Maximum permissible acceleration in space
P-CHAN-00090 | velocity | Maximum permissible speed in space

Acceleration profile defaults

ID | Parameter | Description
P-CHAN-00071 | profile | Slope type 0: abrupt acceleration profile 1: trapezoidal acceleration profile 2: sine-square acceleration profile 3: trapezoidal HSC acceleration profile

Effect of override

ID | Parameter | Description
P-CHAN-00066 | override_weight_prog_feed | Control flag for operating principle of override


Description

More:

button Channel parameters

button Axis parameters


Channel parameters

P-CHAN-00002 | Maximum contouring acceleration
Parameter | vector.acceleration
Description | Limiting the contouring acceleration. The limits are activated/deactivated and modified via an NC command (see also [PROG] ).
Data type | REAL64
Data range | 0 SLOPE_BESCHL_MAX
Dimension | mm/min2
Default | 0
Remarks | -

P-CHAN-00009 | Control flag for jolt limiting at tangential block transitions
Parameter | corr_v_trans_jerk
Description | Activation of jolt limiting at tangential block transitions (constant-speed transition). The permissible jolt results from the active acceleration and ramp time in the case of G01, G02, G03 or G00 motion blocks.
Data type | BOOLEAN
Data range | 0: no jolt limiting at tangential block transitions 1: jolt limiting at tangential block transitions
Dimension | -
Default | 0
Remarks | Depending on the permissible jolt, the feed rate at tangential block transitions such as straight line -> circle may be reduced considerably. This function must be deactivated if this is not wished for technological reasons, for example.

P-CHAN-00066

Control flag for operating principle of override

Parameter

override_weight_prog_feed

Description

This parameter defines if the override value is applied to programmed feed of to the minimum of programmed feed and maximum permissible feed in the current block.

Data type

BOOLEAN

Data range

0: If this parameter is disabled, every change of override leads to a change of velocity always (linear correlation).

1: If this parameter is enabled, the override value is applied to programmed feed always. If maximum permissible feed of the block is smaller than programmed feed multiplied by override value, the feed on the path will not be changed even override value is changed.

Dimension

-

Default

0

Remarks

If because of technological reasons velocity must no drop, the parameter must be set to 1.

P-CHAN-00071

Default acceleration profile

Parameter

prog_start.slope.profile

Description

Setting the selected default acceleration profile

Data type

SGN16

Data range

0: abrupt acceleration profile

1: trapezoidal acceleration profile

2: sine-square acceleration profile

3: trapezoidal HSC acceleration profile

Dimension

-

Default

0

Remarks

The acceleration profile and the associated acceleration and ramp time weighting can be set in the NC program with the #  SET SLOPE PROFIL command [PROG] .

The maximum of the weighted ramp times P-AXIS-00195.. P-AXIS-00198 always effects with trapezoidal HSC acceleration profile.

For every independent axis, the acceleration profile can also be set singly in the NC program with the key word INDP_SYN or INDP_ASYN [PROG] .

P-CHAN-00090 | Maximum contouring speed
Parameter | vector.velocity
Description | Limiting the contouring speed. The limits are activated/deactivated and modified via an NC command (see also [PROG] ).
Data type | REAL64
Data range | 0 SLOPE_VB_MAX
Dimension | mm/min
Default | 0
Remarks | -


Axis parameters

P-AXIS-00001 | Acceleration for increasing speed
Parameter | getriebe[i].slope_profil.a_beschl
Description | This parameter defines the axis acceleration for a constant speed increase.
Data type | UNS32
Data range | 1 < P-AXIS-00001 < P-AXIS-00008(a_max)
Dimension | translatory: mm/s2 | rotary: ° /s2
Default | -
Remarks | The acceleration ramps can be modified in the NC program. The corresponding NC commands are described in greater detail in [PROG] .

P-AXIS-00002 | Acceleration for decreasing speed
Parameter | getriebe[i].slope_profil.a_brems
Description | This parameter defines the axis acceleration for a constant speed decrease.
Data type | UNS32
Data range | 1 < P-AXIS-00002 < P-AXIS-00008(a_max)
Dimension | translatory: mm/s2 | rotary: ° /s2
Default | -
Remarks | The acceleration ramps can be modified in the NC program. The corresponding NC commands are described in greater detail in [PROG] .

P-AXIS-00004 | Rapid traversing acceleration (G00)
Parameter | getriebe[i].slope_profil.a_grenz
Description | During rapid traversing motions (G00), this acceleration parameter is active during braking and acceleration.
Data type | UNS32
Data range | 1 < P-AXIS-00004 < P-AXIS-00008(a_max)
Dimension | translatory: mm/s2 | rotary: ° /s2
Default | MAX[P-AXIS-00001, P-AXIS-00002 ]
Remarks | -

P-AXIS-00005 | Stage 1 rapid traversing acceleration (G00)
Parameter | getriebe[i].lslope_profil.a_grenz_stufe_1
Description | This parameter defines the stage 1 rapid traversing acceleration (G00). Steeper ramps than for workpiece machining (e.g. G01, G02, G03) are often used for rapid traversing positioning (G00).
Data type | UNS32
Data range | 1 < P-AXIS-00005 < P-AXIS-00008(a_max)
Dimension | translatory: mm/s2 | rotary: ° /s2
Default | P-AXIS-00008
Remarks | This limit acceleration is generally set close to the current limit to achieve fast positioning and fast braking deceleration values.

P-AXIS-00006 | Stage 2 rapid traversing acceleration (G00)
Parameter | getriebe[i].lslope_profil.a_grenz_stufe_2
Description | This parameter defines the stage 2 rapid traversing acceleration (G00). Steeper ramps than for workpiece machining (e.g. G01, G02, G03) are often used for rapid traversing positioning (G00).
Data type | UNS32
Data range | 1 < P-AXIS-00006 < P-AXIS-00008(a_max)
Dimension | translatory: mm/s2 | rotary: ° /s2
Default | P-AXIS-00008
Remarks | This limit acceleration is generally set close to the current limit to achieve fast positioning and fast braking deceleration values.

P-AXIS-00008 | Maximum permissible axis acceleration
Parameter | getriebe[i].dynamik.a_max
Description | Maximum permissible axis acceleration
Data type | UNS32
Data range | 1 < P-AXIS-00008 < SLOPE_BESCHL_MAX
Dimension | translatory: mm/s2 | rotary: ° /s2
Default | -
Remarks | -

P-AXIS-00011 | Stage 1 acceleration
Parameter | getriebe[i].lslope_profil.a_stufe_1
Description | This parameter is active during acceleration and deceleration phases. It defines the stage 1 acceleration.
Data type | UNS32
Data range | 1 < P-AXIS-00011 < P-AXIS-00008(a_max)
Dimension | translatory: mm/s2 | rotary: ° /s2
Default | -
Remarks | Acceleration can be modified in the NC program. The corresponding NC commands are described in greater detail in [PROG] .

P-AXIS-00012 | Stage 2 acceleration
Parameter | getriebe[i].lslope_profil.a_stufe_2
Description | This parameter is active during acceleration and deceleration phases. It defines the stage 2 acceleration.
Data type | UNS32
Data range | 1 < P-AXIS-00012 < P-AXIS-00008(a_max)
Dimension | translatory: mm/s2 | rotary: ° /s2
Default | -
Remarks | The acceleration ramps can be modified in the NC program. The corresponding NC commands are described in greater detail in [PROG] .

P-AXIS-00013

Weighting of acceleration at the block transition

Parameter

getriebe[i].dynamik.a_trans_weight

Description

This parameter weights the permissible acceleration at the block transition.

The value 0 deactivates the influence of this parameter, and the weighting of the permissible acceleration with the cycle time/ramp time factor applies, thus keeping to the corresponding jolt transverse to the path. This results in a very low speed at non-tangential contour transitions.

If higher speeds are to be run with correspondingly higher jolt at the block transition, this parameter P-AXIS-00013 is set to a correspondingly high value. With the maximum weighting (1000), the acceleration is maintained at the block transition, and the jolt exceeds the set barriers.

Data type

UNS32

Data range

0 < P-AXIS-00013 < 1000

Dimension

0,1%

Default

0

Remarks

The permissible acceleration at the block transition results from the minimum of the active acceleration (G00, G01) :

a_aktiv * a_trans_weight / 1000.

P-AXIS-00154 | Weighting of the jolt at the block transition
Parameter | getriebe[i].dynamik.r_trans_weight
Description | An abrupt change in the acceleration occurs at the block transition from linear to a circular block and vice versa. The permissible jolt at such block transitions is weighted with this parameter. With the maximum weighting (1000), there is no longer any influence on the speed at the block transition. Lower weighting values (<1000) lead to a reduction in the speed at the block transition. With the minimum weighting (0), the speed is reduced to such an extent that the permissible jolt (resulting from the active acceleration and the ramp time) at the block transition is not violated (see also the parameter P-AXIS-00013). Use of this parameter is influenced by a control flag P-CHAN-00009!
Data type | UNS32
Data range | 0 < P-AXIS-00154 < 1000
Dimension | 0,1%
Default | 0
Remarks | The permissible jolt at the block transition results from the active acceleration, which depends on the block type (G00, G01) and the associated ramp time tr: (a_aktiv /tr_aktiv)* r_trans_weight / 1000.

P-AXIS-00195 | Ramp time for acceleration decrease
Parameter | getriebe[i].slope_profil.tr_beschl_ab
Description | This parameter defines the acceleration ramp time for decreasing the acceleration with increasing speed P-AXIS-00001.
Data type | UNS32
Data range | P-AXIS-00201 < P-AXIS-00195 < MAX(UNS32)
Dimension | μ s
Default | -
Remarks | The acceleration ramps can be modified in the NC program. The corresponding NC commands are described in greater detail in [PROG] .

P-AXIS-00196 | Ramp time for acceleration build-up
Parameter | getriebe[i].slope_profil.tr_beschl_zu
Description | This parameter defines the acceleration ramp time for building up the acceleration with increasing speed P-AXIS-00001.
Data type | UNS32
Data range | P-AXIS-00201 < P-AXIS-00196 < MAX(UNS32)
Dimension | μ s
Default | -
Remarks | The acceleration ramps can be modified in the NC program. The corresponding NC commands are described in greater detail in [PROG] .

P-AXIS-00197 | Ramp time for deceleration decrease
Parameter | getriebe[i].slope_profil.tr_brems_ab
Description | This parameter defines the acceleration ramp time for decreasing the deceleration P-AXIS-00002.
Data type | UNS32
Data range | P-AXIS-00201 < P-AXIS-00197 < MAX(UNS32)
Dimension | μ s
Default | -
Remarks | The acceleration ramps can be modified in the NC program. The corresponding NC commands are described in greater detail in [PROG] .

P-AXIS-00198 | Ramp time for deceleration increase
Parameter | getriebe[i].slope_profil.tr_brems_zu
Description | This parameter defines the acceleration ramp time for building up the deceleration P-AXIS-00002.
Data type | UNS32
Data range | P-AXIS-00201 < P-AXIS-00198 < MAX(UNS32)
Dimension | μ s
Default | -
Remarks | The acceleration ramps can be modified in the NC program. The corresponding NC commands are described in greater detail in [PROG] .

P-AXIS-00199 | Geometric ramp time
Parameter | getriebe[i].dynamik.tr_geom
Description | This parameter defines the permissible ramp time of the jolt resulting from the contour curvature within one motion block in the axis.
Data type | UNS32
Data range | TR_MIN < P-AXIS-00199 < MAX(UNS32)
Dimension | μ s
Default | P-AXIS-00201
Remarks | -

P-AXIS-00200 | Rapid traversing ramp time (G00)
Parameter | getriebe[i].slope_profil.tr_grenz
Description | During rapid traversing motions (G00), this ramp time parameter is active during braking and acceleration. It replaces the ramp times P-AXIS-00195, P-AXIS-00196, P-AXIS-00197 and P-AXIS-00198.
Data type | UNS32
Data range | P-AXIS-00201 < P-AXIS-00200 < MAX(UNS32)
Dimension | μ s
Default | MIN[P-AXIS-00195, P-AXIS-00196, P-AXIS-00197, P-AXIS-00198 ]
Remarks | -

P-AXIS-00209 | Rapid traversing speed (G00)
Parameter | getriebe[i].vb_eilgang
Description | The rapid traversing speed is specified for positioning during rapid traversing (G00).
Data type | UNS32
Data range | 1 < P-AXIS-00209 < P-AXIS-00212(vb_max)
Dimension | translatory: μ m/s | rotary: 0.001 ° /s
Default | P-AXIS-00212
Remarks | -

P-AXIS-00211

Changeover speed between the acceleration stages during rapid traversing (G00)

Parameter

getriebe[i].lslope_profil. vb_grenz_stufe_1_2

Description

Steeper ramps than for workpiece machining (e.g. G01, G02, G03) are frequently chosen for rapid traversing positioning.

This parameter defines the changeover speed between stage 1 (P-AXIS-00005) and stage 2 (P-AXIS-00006) for the acceleration and deceleration phase.

Data type

UNS32

Data range

1 < P-AXIS-00211 < P-AXIS-00212 (vb_max)

Dimension

translatory: μ m/s

rotary: : 0.001 ° /s

Default

-

Remarks

-

P-AXIS-00212

Maximum permissible axis speed

Parameter

getriebe[i].dynamik.vb_max

Description

Maximum permissible axis speed

Data type

UNS32

Data range

1 < P-AXIS-00212 < SLOPE_VB_MAX

Dimension

translatory: μ m/s

rotary: 0.001 ° /s

Default

-

Remarks

In the case of axes belonging to the "ACHSTYP_TRANSLATOR" and "ACHSTYP_ROTATOR" types, it is assumed that the resolution limits of the measurement system are also taken into account when setting this parameter P-AXIS-00212.

In the case of axes belonging to the "ACHSTYP_SPINDEL" type, which are operated by a spindle interpolator, the limit speed for the measurement system P-AXIS-00212 is set.

P-AXIS-00221 | Changeover speed
Parameter | getriebe[i].lslope_profil.vb_stufe_1_2
Description | This parameter defines the changeover speed between stage 1 and stage 2 during the acceleration and deceleration phase.
Data type | UNS32
Data range | 1 < P-AXIS-00221 < P-AXIS-00212 (vb_max)
Dimension | translatory: μ m/s | rotary: 0.001 ° /s
Default | -
Remarks | -


Application examples

Example

The examples are based on the following dynamic characteristic quantities/parameters.

 | a (G01) | Max. acceleration | Max. velocity | Ramp time
Translatory axes | 2000 mm/s2 | 6000 mm/s2 | 1000 mm/s | 150ms
Rotary axes | 2000 mm/s2 | 2000 mm/s2 | 120 mm/s | 60ms

Cycle time | 6ms
Slope profile type | Trapezoidal

More:

button 2.5 D machining

button Five-axis machining examples


2.5 D machining

More:

button Akima spline

button B-spline


Akima spline

In the following test program, a circle with a radius of 80 mm is approximated via 64 interpolation points. In the first run, the spline function is deactivated and the linear blocks are interpolated. In the second run, the spline function is activated. The approach and departure travel blocks are programmed so that the tool entered the scanned ideal circular contour tangentially in each case.

%L uprg_secant

N01 #SET ASPLINE MODE[2, 2]

N01 P5 = 80 ( Radius )

N02 P3 = 64 ( Number of interpolation points )

N03 P4 = 360/P3 ( Angle staggering )

N04 G01 X-P5 F20

N05 X0

N06 G151 (Spline selection )

N07 $FOR P1=1, P3, 1

N08 P2=P1*P4 F20

N09 X=P5*SIN[P2] Y=P5*[1.0-COS[P2]] ( Calculation of secant interpolation points )

N10 $ENDFOR

N11 G150 (Spline cancellation )

N12 XP5

M29

%L uprg_cir

N01 P5 = 80 ( Radius )

N02 G01 X-P5 Y0 F20

N03 X0

N04 G03 JP5

N05 G01 XP5

M29

%Main

N100 LL uprg_secant

N200 LL uprg_cir

M30

Figure 1-28: Feed rate during interpolation of the secant contour (64 interpolation points)

The feed rate fluctuates relatively considerably because the non-linear slop function reduces the speed to 0 at the knee points of the linear blocks.

Figure 1-29: Feed rate during interpolation of the spline curves (64 interpolation points)

When the spline function is used, the interpolation time in the approximated circle drops for approximately 1/10 of the value of linear interpolation and the programmed feed rate is reached.


B-spline

In the following test program, a circle with a radius of 40 mm is approximated via 265 interpolation points. The block length is approximately 1 mm, and the radius of the circle interpolation points fluctuates around +-0.5%.

%L uprg_secant

N01 P5 = 40 ( Radius )

N02 P3 = 256 ( Number of interpolation points )

N03 P4 = 360/P3 ( Angle staggering )

N04 P6 = 0.5*P3

N04 G01 X-P5 Y0 F6

N06 G151 (Spline selection )

N05 X0

N07 $FOR P1=1, P3, 1

N08 P2=P1*P4 F6

N09 P6=P5*[1.0 + 0.005*COS[P2*P6]]

N10 X=P6*SIN[P2] Y=P5 - P6*COS[P2]

N11 $ENDFOR

N12 XP5

N13 G150 (Spline cancellation )

M29

%Main

N50 #SET SPLINETYPE BSPLINE

N100 LL uprg_secant

M30

Figure 1-30: B-spline circle contour

Figure 1-31: Comparison of exactly interpolated circle contour and B-spline circle contour zoomed at circle angle phi=0

Figure 1-32: Contouring speed profile in B-spline circle contour

You can see that the maximally attainable contouring speed drops substantially due to the radius fluctuations. However, the programmed feed rate can be reduced to nevertheless operate without excessive contouring speed fluctuations.


Five-axis machining examples

More:

button Akima spline


Akima spline

In addition to motion in the x-y plane, in the following program the tool of a fivefold head is guided perpendicular to a circle secant contour.

%L uprg_secant

N01 #SET ASPLINE MODE[2, 2]

N01 P5 = 80 ( Radius )

N02 P3 = 64 ( Number of interpolation points )

N03 P4 = 360/P3 ( Angle staggering )

N04 G01 X-P5 F20

N05 X0

N06 G151 (Spline selection )

N07 $FOR P1=1, P3, 1

N08 P2=P1*P4 F20

N09 X=P5*SIN[P2] Y=P5*[1.0-COS[P2]] C[-90+P2]

N10 $ENDFOR

N11 G150 (Spline cancellation )

N12 XP5

M29

%Main

N100 #KIN ID[9]

N100 #TRAFO ON

N150 A90 C-90

N100 LL uprg_secant

N300 #TRAFO OFF

M30

Figure 1-33 Contouring speed in the case of linear blocks with perpendicular oriented tool

The feed rate fluctuates very considerably due to the discontinuity in the rotary axis.

Figure 1-34: Contouring speed in the case of a spline curve with a perpendicular oriented tool

When the spline function is active, the contouring speed is constant. The programmed contouring speed cannot be reached due to the limited rotation speed of the orientation axis. As, in addition to this, the motion component of the rotation axis does not change due to the constant contour curvature, the speed level on the contour can be kept constant.