Dynamic optimised contouring

Contouring types with corner deviation and interim point define the contouring curve by a direction- and curvature-continuous connection between two motion blocks. This contouring curve referred to the axes may result in a fluctuation in acceleration.

During the axis related evaluation of possible dynamic data (acceleration, jerk), the contouring curve is determined below a possible uniform acceleration (minimum jerk) of the participating axes. The maximum acceleration of the axes additionally reduces the duration of the contouring process.

Parameterisation takes place as follows:

#CONTOUR MODE   [ DIST_SOFT [PATH_DIST<expr>] [TRACK_DIST<expr>]

                                 [ACC_MAX<expr>] [ACC_MIN<expr>] [RAMP_TIME<expr>]

                                 [DIST_WEIGHT<expr>] ]

DIST_SOFT

Dynamic optimised contouring

PATH_DIST<expr>

Corner distance of pre-block and post-block (symmetrical) in [mm, °] after which a deviation from the original contour is allowed. The definition refers to the motion path of the feed axes.

Default value: 1 mm or 1°

Monitoring off: -1 mm or -1°

TRACK_DIST<expr>

Corner distance to pre-block and post-block in [mm, °] after which non-feed axes (tracking axes) may deviate from the original contour.

Default value: Value is adopted automatically from PATH_DIST provided this value was not explicitly specified (since program start).

Monitoring off: -1 mm or -1°

ACC_MAX<expr>

Percentage in [0%-100%] of maximum axis acceleration (machine data) which may be used by the contouring curve.

Default value: 100%

ACC_MIN<expr>

Percentage in [0%-100%] of maximum axis acceleration (machine data) which should be used by the contouring curve. If the specified corner distance (see PATH_DIST) is not maintained, the acceleration is increased to maximum value (ACC_MAX).

Default value: 50%

RAMP_TIME<expr>

Percentage weighting of the ramp time in [0%-10000%].

Default value: 100%

DIST_WEIGHT<expr

Influences the split of contoured linear blocks in [0%-100%]: In the 0% pre-definition, all blocks are halved; at 100%, the split ratio corresponds to the lengths of adjacent blocks. This value can be used to combine the two methods by percentage.

Default value: 0%

Restrictions:

When axis-specific contouring is executed, the corner distances of the pre-block and post-block are always identical (symmetrical). If the maximum corner distances are also limited on the half block motion path, a shorter contouring section and therefore a lower contouring velocity results for longer motion paths due to the shorter preceding/following motion path.

Maximum corner distance of block N20 independent of the block lengths of N10 and N20 (DIST_WEIGHT = 0%)
Maximum corner distance of block N20 independent of the block lengths of N10 and N20 (DIST_WEIGHT = 0%)

If the length of the pre- and post-blocks are considered in the calculation of the maximum corner distances, the contouring zone can then be increased.

Maximum corner distance of block N20 subdivided relative to the block lengths of N10 and N30 (DIST_WEIGHT = 100%)
Maximum corner distance of block N20 subdivided relative to the block lengths of N10 and N30 (DIST_WEIGHT = 100%)

Programing Example

prg_example

Dynamic optimised contouring

Comparison of contouring of a 90° corner with the methods:

- Dynamically optimised contouring (DIST_SOFT):

N010 #CONTOUR MODE [DIST_SOFT PATH_DIST=12]

N020 G0 X0 Y80

N030 G261

N040 G01 X40 Y40 F2.5

N050 G01 X80 Y80

N060 G260

N070 M30

- Contour with corner deviation (DEV):

N010 #CONTOUR MODE [DEV PATH_DEV=0.2]

N020 G0 X0 Y80

N030 G261

N040 G01 X40 Y40 F2.5

N050 G01 X80 Y80

N060 G260

N070 M30

Comparison of contouring curves: