Example

Programming Example

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]
Example 1:
Block limit before contouring curve

Output within contouring curve:

N01 #CONTOUR MODE [DEV PATH_DEV=10.0 INTER_ACTION]
Example 2:
Block limit within contouring curve

Output after contouring curve:

N01 #CONTOUR MODE [DEV PATH_DEV=10.0 POST_ACTION]
Example 3:
Block limit after contouring curve

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.

Example 4:
Block limit after contouring curve

Programming 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.

Programming 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
Example 5:
Example 6: