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