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

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:

Restriktionen:

Die An-/Abwahl der zeitbezogenen Vorlaufbegrenzung erfolgt analog zur satzbezogenen Vorlaufbegrenzung entweder

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