Synchronisation des Werkstücks auf dem linearen Förderer

Wenn die vorangegangenen Schritte abgeschlossen sind, kann die Synchronisation eines Werkstücks auf dem linearen Förderer erfolgen. Die Bearbeitung eines Werkstücks auf dem linearen Förderer wird vollständig in einem NC-Programm beschrieben. Der Ablauf zur Synchronisation des Werkstücks ist immer identisch:

Bei einer Messung des Werkstücks nur über das Antriebsinterface kann die Synchronisation mit dem Werkstück von der CNC eigenständig erfolgen und es ist nur das Starten eines NC-Programms erforderlich.

Falls die SPS die Messung triggern oder sogar die Messwerte verwalten muss, besteht die Applikation aus zwei nebenläufigen Prozessen. Diese beiden Prozesse haben zwei Synchronisationszeitpunkte:

  1. Die CNC wartet vor der Bearbeitung eines Werkstücks so lange, bis ein gültiger Messwert vorliegt.
  2. Die SPS muss vor der Vorgabe des nächsten Messwerts warten, bis die aktuelle Bearbeitung beendet ist.

Um die Synchronisation der CNC zu testen wird empfohlen, als Bearbeitung nur eine Wartezeit zu programmieren.

Das lässt sich mit nachfolgendem Programmbeispiel realisieren:

Programmierbeispiel

Synchronisation des Werkstücks inkl. Wartezeit mit linearem Förderer

N0030 G00 G90 X0 Y0 Z0
(- Starte Förderer, nur notwendig wenn die CNC den Förderer steuert )
N030 S1[MC_MoveVelocity Velocity=300000 (500000=30m/min) Acceleration=2000 Deceleration=2000 Jerk=750000 Direction=1]
N0040 S1 [MC_TouchProbe Channel=1] ;Auslesen des Messwertes
N0050 #SYNC IN [CONV_VEL 30]       ;Anwahl der Einsynchronisierung
N0060 G0 X0 Y0                     ;Positionieren auf bewegtem Werkstück
N0070 G04 10                       ;Wartezeit anstelle der Bearbeitung
N0130 #SYNC OUT [FEED_CONT=5]      ;Anwahl der Aussynchronisierung
N0140 X[INDP_SYN G1 POS0 FEED5 INTERRUPTIBLE] ;Positionieren im MCS
N0160 M30

Sobald die Maschine erfolgreich synchronisiert ist, kann die Totzeitkompensation mit dem Parameter P-AXIS-00626 und mit der Anzeigevariable synchro_lag optimal eingestellt werden, siehe Filterung der Istwerte der Förderachse.

Nachfolgend ist ein exemplarischer Verlauf bei inkonstanter Fördergeschwindigkeit (angenähertem Sinusverlauf) und einer Totzeit in der Steuerstrecke:

Synchronisation des Werkstücks auf dem linearen Förderer 1:
Zeitverlauf bei nicht konstanter Fördergeschwindigkeit

Durch die Annahme einer konstanten Geschwindigkeit bei der Positionsvorsteuerung für die Totzeitkompensation wirkt sich das angenommene Sinussignal auch in einer sinusförmigen Positionsabweichung aus.

In dem Signal ist auch noch ein statischer Fehler zu erkennen, da der Sinus nicht um 0 schwingt. Dieser statische Fehler kann mit einer korrekt eingestellten Totzeit mit P-AXIS-00626 auf 0 verbessert werden.

Die synchro_lag Variable ist nur bei einer bestimmten Programmierung korrekt. Dabei muss zwischen einer Maschine mit mitfahrendem und statischem Aggregat unterschieden werden.

Im Folgenden sind zwei Programmierbeispiele zu sehen:

Programmierbeispiel

Statisches Aggregat

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]

Programmierbeispiel

Mitfahrendes Aggregat

; Warteposition
N040 G0 G90 X0 Y400 Z0
; Messwert Spindel anfragen
N050 S1 [MC_TouchProbe Channel=1]
; Aufsynchronisieren auf das Band
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]