Synchronising an axis in coordinated motion (SYNC IN / OUT)

Release Note

release_note

This function is available as of CNC Build V2.11.2013.22

Some specific processes require a synchronised motion of a single axis (slave axis) in combination with a coordinated motion. At certain programmed positions it is required that the slave axis is located at a specific position and moves at a specific velocity. The slave axis then moves at the synchronised velocity until synchronisation is cancelled.

Typical application examples include machines with the continuous throughput of endless material. The material must then be cut at a specific place during the coordinated motion. At a specific master position (workpiece length) the rotating knife must be placed in cutting position. The knife then moves at constant velocity until the cut is finished.

Synchronised cutting
Synchronised cutting

Restrictions:

An axis cannot be synchronized if:

Configuration:

To use this function, the following setting must be made in the start-up list ([STUP]):

configuration.channel[0].path_preparation.function FCT_DEFAULT | FCT_SYNC

configuration.channel[0].interpolator.function FCT_IPO_DEFAULT | FCT_SYNC

Syntax of Programming synchronous motions:

<axis_name> [ SYNC IN | OUT G90 | G91 G00 | G01 FEED=.. FEED_MAX_WEIGHT=.. POS=.. DIST=.. { \ } ]

<axis_name>

Name of the axis to be synchronised

SYNC

Identifier for synchronised axis motion. Must always be programmed as the first keyword.

IN

Identifier to mark the start of synchronised motion.

OUT

Identification to mark the end of synchronised motion.

G90 / G91

Absolute/relative dimension

G00 / G01

Rapid traverse/linear interpolation

FEED=..

Axis-specific feedrate in [mm/min, m/min, inch/min]

FEED_MAX_WEIGHT=..

Weighting factor in [%], referred to axis-specific maximum feed P-AXIS-00212. Only weighting values less than 100% are permitted (as per G194).

POS=..

Axis position in [mm, inch] at which the synchronous velocity is reached.

DIST=..

Distance in [mm, inch] at which the synchronous velocity is moved..

\

Separator ("backslash") for clear programming of the command over multiple lines.

Programing Example

prg_example

Synchronising an axis in coordinated motion

%sync

N010 G90 X0 Y0 Z0 A0

N020 G91 F5000

N030 X=67.913 A[SYNC IN G01 FEED_MAX_WEIGHT=100 G91 POS=130 DIST=70]

              ;A axis reaches maximum velocity at position 130,

              ;while X axis is reaching position 67.913 at this point

N040 X=1.5 ;A and X axes move synchronously, in doing so the velocity

              ;of the X axis is then defined so that the X axis covers a distance of 3mm

N050 X=1.5    ;while the A axis moves 70° at maximum velocity

N060 X=14.541 A[SYNC OUT G91 G0 POS160] G261

              ;At start of this block, synchronous motion is cancelled

              Path axes move again at the programmed feed rate; the A axis

              moves independently to the specified position

N070 X=15.862 Z=1.248 Y=0.185

N080 X=15.992 Z=1.889 Y=0.213

N090 X=32.243 Z=3.306 Y=0.482

N100 X=22.186

N110 X=31.696 Z=-2.597 Y=-0.389

N120 X=25.297 Z=-3.846 Y=-0.491

N130 X=39.819 A[SYNC IN G01 FEED_MAX_WEIGHT=100 G91 POS=130 DIST=70]

N140 X=1.257

N150 X=1.257

N160 X=200    A[SYNC OUT G91 G0 POS160]

N180 M30