# Example

## Programing Example

The examples below show the influence of the different output of M functions during contouring.

N907090              X0 Y0

G91 G01 F6000

N01 #CONTOUR MODE [DEV PATH_DEV=10 POST_ACTION]

N10 X100 G61 M25    (MVS_SNS)

N20 Y100 F3000

N30 X100 G61 F6000

N40 G04 X2

N50 Y100

N00 X0 Y0

N60 X100 G61

N70 Y100 M26        (MVS_SVS)

N907091 G04 X1

## Output before the contouring curve:

N01 #CONTOUR MODE [DEV PATH_DEV=10.0 PRE_ACTION]

## Output within contouring curve:

N01 #CONTOUR MODE [DEV PATH_DEV=10.0 INTER_ACTION]

## Output after contouring curve:

N01 #CONTOUR MODE [DEV PATH_DEV=10.0 POST_ACTION]

If the acknowledgement of M25 is delayed by block N10, the motion is stopped after the contouring curve and the program waits for PLC acknowledgement.

## Programing Example

Change the limit angle during contouring:

#CONTOUR MODE [DEV PATH_DEV=0.50 RELEVANT_PATH=0.1 TRACK_DEV=2 RELEVANT_TRACK=0.2]

F10000

G261

N5 #CONTOUR MODE [MAX_ANGLE=3]

N10 G01 X0 Y0 Z0 G61

N15 #CONTOUR MODE [MAX_ANGLE=4]

N20 G01 X100 Y0 Z0

N25 #CONTOUR MODE [MAX_ANGLE=5]

N30 G01 X100 Y100 Z0

N35 #CONTOUR MODE [MAX_ANGLE=6]

N40 G01 X0 Y0 Z0 G61

G260

Result:

Contour the N block always takes place at the limit angle of the previous N<i-5> block.

## Programing Example

Variation of the contour angle with constant limit angle:

#CONTOUR MODE [DEV PATH_DEV=0.50 RELEVANT_PATH=0.1 TRACK_DEV=2 RELEVANT_TRACK=0.2]

#CONTOUR MODE [RELEVANT_TRACK=0.3]

P100 = 50

F10000

#CONTOUR MODE [MAX_ANGLE=73]

N10 G01 X-P100 Y0 Z0 C0 A0

\$FOR P123 = 0, 90, 7.5

N2 G01 X0 Y0 Z0 C0 A0 G61

P1 = COS[P123]*P100

P2 = SIN[P123]*P100

NP123 XP1 YP2

N100 G01 X-P100 Y0 Z0 C0 A0

\$ENDFOR

\$FOR P123 = 270, 370, 7.5

N120 G01 X0 Y0 Z0 C0 A0 G61

P1 = COS[P123]*P100

P2 = SIN[P123]*P100

NP123 XP1 YP2

N400 G01 X-P100 Y0 Z0 C0 A0

\$ENDFOR

M30