Programmbeispiele

Beispiel 1

Im folgenden Testprogramm wird ein Quadrat mit einer Kantenlänge von 100 mm gefahren, wobei jede Seite in 100 Einzelsätze segmentiert ist. Ausgehend von einer Vorlaufzeit von 2 Sekunden wird bei immer kleineren Werten sichtbar, dass aufgrund der pulsierenden Satzversorgung ab einer bestimmten Schwelle die Bahngeschwindigkeit nicht mehr konstant gehalten werden kann.

% Quadrat.nc
#SLOPE [TYPE=HSC]
G133 100
V.G.MAX_TIME_AHEAD = 2 ;Sekunden
G00 G90 X0 Y0
P40 = 5000
P30=100.0 (* Viereck Kantenlaenge *)
P20 = 100 (* Satzanzahl auf Kantenlaenge *)
P10 = P30/P20
$FOR P1=1,P20, 1
N[P1]G01 G91 XP10 FP40
$ENDFOR
G90
$FOR P1=1,P20, 1
N[P1+1000]G01 G91 YP10
$ENDFOR
G90
$FOR P1=1,P20, 1
N[P1+2000]G01 G91 X-P10
$ENDFOR
G90
$FOR P1=1,P20, 1
N[P1+3000]G01 G91 Y-P10
$ENDFOR
G90
V.G.MAX_TIME_AHEAD = 0 ;Sekunden
M30
Programmbeispiele 1:
Testkontur: Verlauf der Bahngeschwindigkeit bei unterschiedlichen Vorlaufzeiten
Programmbeispiele 2:
Vorlaufzeit: 2 Sekunden, Satzversorgung ausreichend
Programmbeispiele 3:
Vorlaufzeit: 0.5 Sekunden, Satzversorgung ausreichend
Programmbeispiele 4:
Vorlaufzeit: 0.25 Sekunden, Satzversorgung ausreichend
Programmbeispiele 5:
Vorlaufzeit: 0.225 Sekunden, Satzversorgung beginnt zu pulsieren, Bahngeschwindigkeit schwankt
Programmbeispiele 6:
Vorlaufzeit: 0.2 Sekunden, Satzversorgung pulsiert stärker, Bahngeschwindigkeit schwankt
Programmbeispiele 7:
Vorlaufzeit: 0.1 Sekunden, Satzversorgung pulsiert stark, Bahngeschwindigkeit schwankt

Beispiel 2

Die Berücksichtigung der gemittelten Vorschubgeschwindigkeit bei der Berechnung der Vorlaufzeit ist in der Grundeinstellung immer aktiv. Für das Einfahren von Programmen und für Diagnosezwecke ist diese Funktion mit dem Kanalparameter P-CHAN-00428 (calc_average_feed_ahead) abschaltbar.

Mit dem nachfolgend aufgeführten idealisierten Testprogramm wird der Einfluss dieser gemittelten Vorschubgeschwindigkeit auf die Genauigkeit der tatsächlichen Vorlaufzeit untersucht und verdeutlicht.

Test 1:

Programm mit 40 mm Linearsätzen und Vorschublimits, Vorlaufzeit 2s

%average_feed_ahead_1
F60000 G01
V.G.MAX_TIME_AHEAD = 2
#VECTOR LIMIT ON [VEL=20000]
$FOR P1=0,100,1
  G91 X40
$ENDFOR
G91 Y10
#VECTOR LIMIT ON [VEL=40000]
$FOR P1=0,100,1
  G91 X-40
$ENDFOR
G91 Y-10
M30
Programmbeispiele 8:
Vorlaufbegrenzung ohne Berücksichtigung der Durchschnittsgeschwindigkeit (P-CHAN-00428 = 0, Satzlängen 40mm und aktive Vorschublimits)

Durch die langen Geometriesätze (40mm) ist die Satzversorgung gewährleistet. Die Geschwindigkeitsbeinflussung über #VECTOR LIMIT wird wegen P-CHAN-00428 = 0 bei der Vorlaufzeitberechnung nicht berücksichtigt. Die gewünschte Vorlaufzeit von 2 s wird deutlich überschritten

Programmbeispiele 9:
Vorlaufbegrenzung mit Berücksichtigung der Durchschnittsgeschwindigkeit (Default bzw. P-CHAN-00428 = 1, Satzlängen 40mm und aktive Vorschublimits)

Es kommt beim Start zu einer leichten Überschreitung, die aber nachgeregelt wird. Die gewünschte Vorlaufzeit von 2 s wird im Wesentlichen eingehalten

Test 2:

Programm mit 10 mm (kurzen) Linearsätzen und Vorschublimits, Vorlaufzeit 2s

%average_feed_ahead_2
F60000 G01
V.G.MAX_TIME_AHEAD = 2
#VECTOR LIMIT ON [VEL=20000]
$FOR P1=0,400,1
  G91 X10
$ENDFOR
G91 Y10
#VECTOR LIMIT ON [VEL=40000]
$FOR P1=0,400,1
  G91 X-10
$ENDFOR
G91 Y-10
M30
Programmbeispiele 10:
Vorlaufbegrenzung ohne Berücksichtigung der Durchschnittsgeschwindigkeit (P-CHAN-00428 = 0, Satzlängen 10mm und aktive Vorschublimits)

Durch die kurzen Geometriesätze (10mm) hat die Gewährleistung der Satzversorgung bei der Interpolation Priorität. Eine stabile Vorlaufbegrenzung wird nicht erreicht. Die gewünschte Vorlaufzeit von 2 s wird deutlich überschritten.

Programmbeispiele 11:
Vorlaufbegrenzung mit Berücksichtigung der Durchschnittsgeschwindigkeit (Default bzw. P-CHAN-00428 = 1, Satzlängen 10mm und aktive Vorschublimits)

Es kommt beim Start zu einer leichten Überschreitung, die aber nachgeregelt wird. Die gewünschte Vorlaufzeit von 2 s wird im Wesentlichen eingehalten.

Test 3:

Programm mit 40mm Linearsätzen, ohne Vorschublimits, Vorlaufzeit 2s

%average_feed_ahead_3
F60000 G01
V.G.MAX_TIME_AHEAD = 2
$FOR P1=0,100,1
  G91 X40
$ENDFOR
G91 Y10
$FOR P1=0,100,1
  G91 X-40
$ENDFOR
G91 Y-10
M30
Programmbeispiele 12:
Vorlaufbegrenzung mit Berücksichtigung der Durchschnittsgeschwindigkeit (Default bzw. P-CHAN-00428 = 1, Satzlängen 40mm, ohne Vorschublimits)

Es kommt beim Start zu einer leichten Überschreitung, die aber nachgeregelt wird. Die gewünschte Vorlaufzeit von 2 s wird im Wesentlichen eingehalten.

Test 4:

Programm mit 10mm (kurzen) Linearsätzen, ohne Vorschublimits, Vorlaufzeit 2s

%average_feed_ahead_4
F60000 G01
V.G.MAX_TIME_AHEAD = 2
$FOR P1=0,400,1
  G91 X10
$ENDFOR
G91 Y10
$FOR P1=0,400,1
  G91 X-10
$ENDFOR
G91 Y-10
M30
Programmbeispiele 13:
Vorlaufbegrenzung mit Berücksichtigung der Durchschnittsgeschwindigkeit (Default bzw. P-CHAN-00428 = 1, Satzlängen 10mm, ohne Vorschublimits)

Durch die kurzen Geometriesätze (10mm) hat die Gewährleistung der Satzversorgung bei der Interpolation Priorität. Eine stabile Vorlaufbegrenzung wird nicht erreicht. Die gewünschte Vorlaufzeit von 2 s wird deutlich überschritten.

Beispiel 3

Nachfolgende Grafiken zeigen den Verlauf der Vorlaufzeit bei einem Programm aus der Praxis. Dieses ist gekennzeichnet durch stark schwankende Vorschübe (Eilgang- und Normalvorschub). Die sich daraus ergebenden Brems- und Beschleunigungsphasen können bei der Abschätzung der Vorlaufbegrenzung nicht exakt vorab berücksichtig werden und führen somit zu einer mehr oder weniger starken Abweichung zur programmierten Vorlaufzeit.

Test 1:

Programmbeispiele 14:
Vorlaufbegrenzung ohne Berücksichtigung der Durchschnittsgeschwindigkeit (P-CHAN-00428 = 0), Satzversorgung wegen sehr hohem Vorschub nicht ausreichend, Vorlaufzeit bei 7s bis 8s

Test 2:

Programmbeispiele 15:
Vorlaufbegrenzung mit Berücksichtigung der Durchschnittsgeschwindigkeit (Default bzw. P-CHAN-00428 = 1), Satzversorgung ausreichend, System kann einschwingen. Deutlich verbesserte Vorlaufzeit zwischen 3s und 4s.