Zeitbezogene Vorlaufbegrenzung
Definition der Begrenzung
Bei der zeitbezogenen Vorlaufbegrenzung wird der maximal zulässige Decodiervorlauf durch die Angabe einer Zeit in Sekunden festgelegt. Die Begrenzung bestimmt, wie viele Sekunden die Decodierung der Programmausführung (Interpolation) voraus sein darf.
Hierbei wird ausschließlich die Verfahrzeit von Bewegungssätzen (wie G00, G01, G02, G03) sowie die Verweilzeit (G04, #TIME) betrachtet. Andere zeitverbrauchende NC-Funktionen, wie z.B. M-Funktionen werden nicht berücksichtigt.
Die Vorlaufbegrenzung der Decodierung basiert auf der programmierten idealen Sollgeschwindigkeit und der aktuellen Satzlänge. Hieraus ergeben sich insbesondere Abweichungen bei Funktionen, welche die Kontur- und Dynamik beeinflussen, wie z.B.:
- Echtzeitbeeinflussungen der Geschwindigkeit über FEEDHOLD, Override
- Gewichtungen der Geschwindigkeit, z.B. über #VECTOR LIMIT
- Abweichung, falls die programmierte Geschwindigkeit nicht erreicht werden kann, z. B. aufgrund der zu fahrenden Geometrie
- Konturbeinflussungen durch Polymonüberschleifen oder Splineinterpolation
Damit die Verfahrzeit für die Vorlaufbegrenzung dennoch realistisch abgeschätzt werden kann, stellt die Interpolation eine gemittelte Vorschubgeschwindigkeit (Durchschnittsgeschwindigkeit) der nächsten auszuführenden Verfahrsätze zur Verfügung.
In der Durchschnittsgeschwindigkeit sind krümmungsabhängige Dynamikbegrenzungen und Echtzeiteinflüsse wie Override und Feedhold berücksichtigt. Die berechnete Verfahrzeit basiert dann auf dem Minimum von Durchschnittsgeschwindigkeit und dem zum Decodierzeitpunkt im Satz gültigen Vorschub (F-Wort, Eilgang).
Für die Berechnung der Verfahrzeit gelten folgende Bedingungen:
- Es werden Linear- und Zirkularsätze betrachtet.
- Bei der Ermittlung der Verfahrzeit auf der Bahn werden nur Vorschubachsen (#FGROUP) berücksichtigt
- Sind nur Mitschleppachsen im Satz programmiert, wird bei der Berechnung der Verfahrzeit die langsamste Achse verwendet.
Restriktionen:
- Unabhängige Achsbewegungen (INDP_SYN. INDP_ASYN) und der "Z"-Anteil von Helikalbewegungen werden nicht berücksichtigt.
- Keine Berücksichtigung von M/H-Funktionen, Werkzeugwechseln etc.
Die An-/Abwahl der zeitbezogenen Vorlaufbegrenzung erfolgt analog zur satzbezogenen Vorlaufbegrenzung entweder
- im NC-Programm durch die spezielle V.G-Variable V.G.MAX_TIME_AHEAD = <Wert in [sek.]> oder
- generell durch den Kanalparameter P-CHAN-00269: max_time_ahead <Wert in [10-6 sek.]>
Statusanzeige
Wenn die Decodierung die zeitbezogene Vorlaufgrenze erreicht hat, wird der Wartezustand des Decoders durch nachfolgendes Statusbit angezeigt. Bei Fortsetzung der Decodierung wird das Statusbit wieder zurückgenommen.
0x00200000 TIME_AHEAD_LOCK_ACTIVE
Das Anzeigedatum kann in den Diagnosedaten angezeigt werden.
Interner Ablauf
Die Berechnung der relevanten Verfahrzeiten wird vollständig im Decoder durchgeführt.
Der Decoder schätzt für jeden (Verfahr-)Satz hierzu eine minimale Ausführungszeit = Bahnlänge / Geschwindigkeit ab.
Der Decoder hält in einer Tabelle für jeden ausgegebenen Verfahrsatz den Blockcount und die benötigte Zeit. Mit dem vom Interpolator angezeigten Blockcount wird dann über die Tabelle der Zeitvorlauf zum zuletzt verarbeiteten Verfahrsatz ermittelt.
Ist dieses Delta größer als die festgelegte zulässige Begrenzung, unterbricht der Decoder seine Bearbeitung und wartet so lange mit der Fortsetzung der Decodierung, bis der Interpolator die festgelegte Begrenzung wieder unterschreitet; also wieder "aufgeholt" hat.
Wirksamkeit
Die Vorlaufbegrenzung ist nur dann wirksam, wenn die Satzversorgung des Interpolators (Überwachter Betriebsmodus, Kapitel „Zeitbezogene Vorlaufbegrenzung“) gewährleistet ist.
Programmierbeispiel
Zeitbezogene Vorlaufbegrenzung
Zeitbezogene Vorlaufbegrenzung über Definition im NC-Programm
%MAIN
N190 #HSC[ MODE 1 CONTERROR 0.01]
N270 G54 G90
N280 V.G.MAX_TIME_AHEAD = 2 ;Anwahl Vorlaufbegrenzung 2 Sekunden
…
N320 #HSC ON
N47200: G1 F4000 Y597.771 Z-5.596
N47210 Y597.343 Z-5.205
N47220 Y596.911 Z-4.861
N47230 Y596.475 Z-4.561
N47240 Y596.067 Z-4.321
N47250 Y595.643 Z-4.112
N47260 Y595.278 Z-3.965
N47270 Y594.905 Z-3.841
N47280 Y594.524 Z-3.747
N47290 Y594.136 Z-3.683
…
N47440 Y589.152 Z-5.735
N47450 Y588.76 Z-6.156
N47460 Y588.235 Z-6.767
N47470 Y587.299 Z-7.889
N47480 Y587.034 Z-8.198
N47490 Y586.768 Z-8.463
N47500 Y586.492 Z-8.686
N47510 Y586.235 Z-8.853
N47520 Y585.994 Z-8.971
N47530 Y585.791 Z-9.039
N475403 V.G.MAX_TIME_AHEAD = 0 ;Abwahl Vorlaufbegrenzung
…
N999999 M30