Begrenzungen, Sonderfälle

Beschränkung des Look-Ahead-Bereichs

Aufgrund der Ressourcenlimitierung und der Anforderung, dass das NC-Programm möglichst zeitnah nach Start anläuft, ist der betrachtete Look-Ahead-Bereich eingeschränkt.

Im Standard ist die maximale Anzahl von betrachteten Sätzen auf 10 Sätze beschränkt, dies ist über P-CHAN-00603 (alternativ über P-STUP-00061) einstellbar. Je nach Satzlänge ergibt sich hierdurch eine maximale Stegbreite.

Soll eine M/H-Funktion über den Look-Ahead-Bereich hinaus vorgezogen werden, so wird die M/H-Funktion automatisch nur so weit wie es der Look-Ahead-Bereich ermöglicht vorausgegeben.

Programmierbeispiel

prg_example

Beschränkung des Look-Ahead Bereichs

%microjoint4

N01 G00 G90 X0 Y0

N02 G01 F10000

N03 V.G.M_FCT[100].PRE_OUTP_PATH = 28.6 ;in mm

N20 G91 Y1

N21 Y1   ; -> geplanter MicroJoint bei Y1.4 mm

N22 Y1

N23 Y1

N24 Y1

N25 Y1

N37 Y1

N38 Y1

N39 Y1   ; -> realer MicroJoint aufgrund Satzanzahlbeschränkung

N40 Y1

N41 Y1

N42 Y1

N43 Y1

N44 Y1

N45 Y1

N46 Y1

N47 Y1

N48 Y1

N49 Y1

N50 M100 M26

N99 M30

Begrenzen des Wegvorlaufs der M-Funktion auf 10 Sätze
Abb.: Begrenzen des Wegvorlaufs der M-Funktion auf 10 Sätze

Explizites Aufheben des Look-Ahead-Bereichs, #FLUSH, Lesen synchroner V.E.-Variable

Durch ein Leeren des Kanals (#FLUSH bzw. #FLUSH WAIT) wird der Look-Ahead-Bereich der M-Funktionen zurückgesetzt. D.h. die Vorausgabe der M-Funktionen kann nicht über die #FLUSH-Stelle hinaus zurück erfolgen.

Auch beim Lesen einer synchronen V.E-Variablen (s. [EXTV]) wird ein impliziter #FLUSH WAIT ausgeführt d.h. der Kanal geleert. Eine Vorausgabe über den Lesezugriff einer synchronen V.E.-Variable ist daher ebenfalls nicht möglich.

Soll eine M/H-Funktion über einen #FLUSH hinaus vorgezogen werden, so wird die M/H-Funktion automatisch nur bis zum #FLUSH vorausgegeben.

Programmierbeispiel

prg_example

Explizites Aufheben des Look-Ahead Bereichs, #FLUSH, Lesen synchroner V.E.-Variable

%microjoint6

N01 G00 G90 X0 Y0

N02 G01 F10000

N10 V.G.M_FCT[100].PRE_OUTP_PATH = 28.6 ;in mm

N20 G91 Y1

N21 Y1 ; -> geplanter MicroJoint bei Y1.4 mm

N22 Y1

N23 Y1

N38 Y1

N39 Y1

N40 Y1

N41 Y1

N42 Y1

N43 Y1

N44 Y1

N400 #FLUSH ; -> eingefügter MicroJoint bei Y24

N45 Y1

N46 Y1

N47 Y1

N48 Y1

N49 Y1

N50 M100 M26

N99 M30

Explizites Begrenzen des Wegvorlaufs der M-Funktion
Abb.: Explizites Begrenzen des Wegvorlaufs der M-Funktion

„Überlappende“ wegbezogene Vorausgabe

Nach Erkennen einer wegbezogenen Vorausgabe der M-Funktion werden alle seitherigen gespeicherten Bewegungssätze ausgegeben. Dies entspricht einem expliziten Leeren des Kanals (siehe #FLUSH), wodurch eine verzögerte Abarbeitung der Bewegungssätze vermieden wird.

Somit ist es nicht möglich, den Wegbereich von mehreren M-Funktionen überlappend zu legen.

Überlappen sich die Vorausgaben von M/H-Funktionen, werden die einzelnen M/H-Funktionen automatisch jeweils nur bis zur ursprünglich programmierten Position vorgezogen.

Programmierbeispiel

prg_example

„Überlappende“ wegbezogene Vorausgabe

%microjoint5

(* M100 – Laser aus, M26 – Laser ein *)

N01 G00 G90 X0 Y0

N02 G01 F10000

N03 V.G.M_FCT[101].PRE_OUTP_PATH = 5   ;in mm

N04 V.G.M_FCT[102].PRE_OUTP_PATH = 23

N05 V.G.M_FCT[103].PRE_OUTP_PATH = 31

N20 X10

N30 M101 M26

N40 X30

N50 M102 M26

N60 X40

N70 M103 M26

N80 M30

Theoretische Überlappung von Mikrostegen im Teil
Abb.: Theoretische Überlappung von Mikrostegen im Teil
Beschränkung der Überlappung von Mikrostegen im Teil
Abb.: Beschränkung der Überlappung von Mikrostegen im Teil

Kombination von MNS_SNS mit und ohne Vorausgabeweg

Die gleichzeitige Programmierung von MNS_SNS-M-Funktionen mit und ohne Vorausgabeweg im gleichen NC-Satz inklusive einer Achsbewegung ist nicht erlaubt.

Programmierbeispiel

prg_example

Kombination von MNS_SNS mit und ohne Vorausgabeweg

%microjoint9

N01 G01 G90 X0 Y0 F10000

N02 V.G.M_FCT[100].PRE_OUTP_PATH = 35.6 ;in mm

N04 V.G.M_FCT[100].SYNCH = 8 ;MNS_SNS

N04 V.G.M_FCT[200].SYNCH = 8 ;MNS_SNS

N20 X10

N40 X30 M100 M200

N60 X40

N99 M30

Vorausgabe zwischen Ausgabe- und Synchronisationsstelle einer MVS_SNS

Es ist nicht möglich, eine M/H-Funktion vom Synchronisationstyp MVS_SNS mit Bewegung zwischen die Ausgabe- und Synchronisationsstelle zu schieben. Die Vorausgabe der M/H-Funktion wird dann nur bis maximal zur Synchronisationsstelle der MVS_SNS vorgezogen.

Programmierbeispiel

prg_example

Vorausgabe mit einer weiteren M/H-Funktion vom Typ MVS_SNS

Im nachfolgenden Beispiel wird versucht die M100 zwischen die Ausgabe- und Synchronisationsstelle der M200 (eine MVS_SNS mit Bewegung) zu schieben. Die M100 wird in diesem Fall nicht wie gewünscht bei X9, sondern am Ende von N10, also bei X10 ausgegeben.

N01 G01 G90 X0 Y0 F1000

(Definitionen zu M-Funktionen)

N02 V.G.M_FCT[100].PRE_OUTP_PATH = 21.0

N03 V.G.M_FCT[100].SYNCH = 2  ; MVS_SVS

N04 V.G.M_FCT[200].SYNCH = 4  ; MVS_SNS

N10 X10 M200

N20 X30

N30 X40 M100

N40 X0 Y0

N50 M30

Versuchte Vorausgabe mit einer weiteren M/H-Funktion vom Typ MVS_SNS
Abb.: Versuchte Vorausgabe mit einer weiteren M/H-Funktion vom Typ MVS_SNS