Synchronising the workpiece on the linear conveyor

After the previous steps are completed, a workpiece can then be synchronised on the linear conveyor. An NC program describes in detail all the machining operations executed on a workpiece on the linear conveyor. The sequence for synchronising the workpiece is always identical:

If the workpiece is only measured via the drive interface, the CNC can synchronise itself with the workpiece independently and this only requires starting an NC program.

If the PLC has to trigger the measurement or even manage the measured values, the application consists of two concurrent processes. The two processes have two synchronisation times:

  1. Before machining a workpiece, the CNC waits until a valid measurement is presented.
  2. Before the next measurement, the PLC must wait until the current machining operation is completed.

To test the CNC synchronisation, it is recommended to program only a waiting period for the machining operation.

This can be implemented using the program example below:

Programming Example

Synchronising the workpiece and waiting time on the linear conveyor

N0030 G00 G90 X0 Y0 Z0
(- Start conveyor, only required if CNC controls the conveyor )
N030 S1[MC_MoveVelocity Velocity=300000 (500000=30m/min) Acceleration=2000 Deceleration=2000 Jerk=750000 Direction=1]
N0040 S1 [MC_TouchProbe Channel=1] ;Read measured value
N0050 #SYNC IN [CONV_VEL 30]       ;Select synchronisation
N0060 G0 X0 Y0                    ;Position on moving workpiece
N0070 G04 10                       ;Waiting time instead of machining
N0130 #SYNC OUT [FEED_CONT=5]      ;Select desynchronisation
N0140 X[INDP_SYN G1 POS0 FEED5 INTERRUPTIBLE]  ;Position in the MCS
N0160 M30

After the machine is successfully synchronised, the delay time compensation can be optimally set using the parameter P-AXIS-00626 and the display variable synchro_lag, see Filtering the actual values of the conveyor axis.

Below is an example of the curve with an inconstant feed rate (approximate sinusoidal curve) and a delay time in the control section:

Synchronising the workpiece on the linear conveyor 1:
Time curve with inconstant conveying velocity

Since the position feedforward control for delay time compensation assumes that the velocity remains constant, the assumed sinusoidal signal also results in a sinusoidal position deviation.

A static error can also be seen in the signal since the sine does not oscillate about 0. This static error can be improved to 0 by correctly setting the delay time using P-AXIS-00626.

The synchro_lag variable is only correct if programmed in a specific way. A distinction must be made between a machine with a co-moving processing unit and a machine with a static processing unit.

Two program examples are presented below:

Programming Example

Static processing unit

N030 #CONTOUR MODE [DEV]
N040 G17 G161
; Request measurement from conveyor
N050 S1 [MC_TouchProbe Channel=1]
; Synchronise with conveyor
N060 #SYNC IN [CONVEYOR=S1, CONV_VEL=200 VEL_RESOLUTION=mm/s FEED_CONT=0]
N070 G0 G90 X50 Y0 F100
N070 G01 G90 X25 Y0 F100 G61
N070 G01 G90 X0 Y0 F100 G61
; Linear motion moves in Y in the same way as X moves
N080 G01 X-550 Y-550 G61
N085 G01 X-600 Y-550 G61
; End sequence
N090 #SYNC OUT [FEED_CONT=5]
N100 X[INDP_SYN G0 G90 POS0 INTERRUPTIBLE] Y[INDP_SYN G0 G90 POS0 INTERRUPTIBLE]

Programming Example

Co-moving processing unit

; Waiting position
N040 G0 G90 X0 Y400 Z0
; Request spindle measured value
N050 S1 [MC_TouchProbe Channel=1]
; Synchronise with the belt
N060 #SYNC IN [CONVEYOR=S1, CONV_VEL=18000 FEED_CONT=0]
N080 G0 G90 X0 Y450 Z160
N090 G04 2
N100 #SYNC OUT [FEED_CONT=5]
N110 X[INDP_SYN G0 G90 POS0 INTERRUPTIBLE] Y[INDP_SYN G0 G90 POS400 INTERRUPTIBLE] Z[INDP_SYN G0 G90 POS0 INTERRUPTIBLE]