Skip to main content
CNC.wikiCNC.wiki

G04 Dwell Befehl programmieren: Fanuc, Siemens und Mitsubishi prozesssicher

Meistern Sie den CNC G04 Dwell Befehl auf Fanuc, Siemens und Mitsubishi. Vermeiden Sie Toleranzüberschreitungen durch Parameterfehler und teuren Ausschuss.

Hakan Gündoğdu
Hakan Gündoğdu

CNC CARE Mitgründer

Einleitung

Ein mikroskopischer Verzug bei der Entlastung des Schneiddrucks am Bohrungsgrund, ein unerwarteter Werkzeugverschleiß oder sichtbare Rattermarken auf einer hochpräzisen Passfläche — G04 (Dwell) ist im CNC-Programm oft der entscheidende Faktor zwischen spiegelndem Finish und teurem Ausschuss. Wenn der G-Code für die Verweilzeit ausgeführt wird, während der Steuerungs-Parameter 1020 Bit 7 (DWT) auf Fanuc-Systemen fälschlicherweise auf 1 gesetzt ist, schrumpft eine programmierte Pause von P1000 (gedacht als 1 Sekunde) auf eine einzige Millisekunde zusammen. Das Werkzeug verfährt sofort weiter, zieht eine tiefe Riefe quer über das Werkstück und erzeugt eine folgenschwere Toleranzüberschreitung. Wird dieser Parameter nicht verifiziert, liegt das Ergebnis außerhalb der Toleranz — und der Fehler zeigt sich erst bei der Endmessung. Korrekte Konfiguration eliminiert die häufigste Ursache für Maßabweichungen bei diesem Befehl und sichert die Prozessstabilität nachhaltig ab.

Technische Übersicht

Technische SpezifikationWert / Details
BefehlscodeG04 / G4
Modal-GruppeGruppe 00 (Non-modal)
Unterstützte MarkenFanuc, Siemens, Mitsubishi
Kritische ParameterParameter 3405 DWL (Fanuc), MD20734 Bit 2 (Siemens), Parameter #8130 (Mitsubishi)
HauptbeschränkungUnterbricht die Konturglättung im Continuous-Path-Mode, muss bei Siemens allein in einem Block programmiert werden, kann bei aktiver Schneidenradiuskorrektur auf Fanuc den Alarm PS0041 auslösen.

Schnellleser

  • Vorschubmodus verifizieren: Überprüfen Sie immer, ob der Vorschub pro Minute (G94) oder der Vorschub pro Umdrehung (G95) aktiv ist, da Markenparameter die Verweilzeiteinheit dynamisch von Sekunden auf Spindelumdrehungen umschalten können.
  • Verzögerungsmarken vermeiden: Fügen Sie G04 nicht während sanfter Schlichtdurchgänge (G64/G641 bei Siemens) ein, um zu verhindern, dass das Werkzeug bis zum Stillstand abbremst und Oberflächenfehler (witness marks) hinterlässt.
  • Adressformat korrekt wählen: Verwenden Sie explizite Dezimalpunkte für zeitbasierte Adressen (wie X oder U), um mathematische Skalierungs- oder Ganzzahl-Interpretationsfehler zu umgehen.
  • Separate Blockausführung sicherstellen: Schreiben Sie G04 bei Siemens-Steuerungen allein in einen eigenen NC-Block, um sofortige G-Code-Blockfehler (Alarm 12120) zu vermeiden.
  • Schneidenradiuskorrektur-Grenze: Programmieren Sie niemals aufeinanderfolgende verfahrfreie Blöcke wie G04 während der aktiven Schneidenradiuskorrektur (G41/G42), um Bahnüberlappungsfehler (Alarm PS0041) zu verhindern.
  • Spindelstatus prüfen: Stellen Sie sicher, dass sich die Spindel aktiv dreht, bevor Sie eine umdrehungsbasierte Verweilzeit im G95-Modus ausführen, um einen unendlichen Programmstillstand zu verhindern.

Grundlegende Konzepte

Die primäre praktische Programmierwirkung des G04-Befehls ist eine bewusste Pause aller physischen Achsinterpolationen für eine festgelegte Zeit oder eine berechnete Anzahl von Spindelumdrehungen. CNC-Programmierer nutzen diese temporäre Aussetzung der Werkzeugbewegung, um Späne zu brechen, der Spindel das Erreichen der kommandierten Drehzahl zu ermöglichen oder auf das Ende externer mechanischer Vorgänge zu warten. Indem die Werkzeugachsen gezwungen werden, stationär zu bleiben, während sich die Spindel weiterdreht, stellt der Befehl sicher, dass nachfolgende Schnitte aus einem stabilen, kontrollierten Zustand heraus beginnen.

Da G04 jedoch ein nicht-modaler Befehl der Gruppe 00 ist, ist er nur in dem spezifischen NC-Block aktiv, in dem er geschrieben steht. Sobald die Verweilzeit abgelaufen ist, nimmt die Steuerung die normale Achsinterpolation in den nachfolgenden Blöcken sofort wieder auf. Der Übergang vom stationären Standby zurück zum aktiven Vorschub erfordert eine sorgfältige Synchronisation, insbesondere bei der Bearbeitung kritischer Geometrien, bei denen bereits der Bruchteil einer Sekunde einer vorzeitigen Werkzeugbewegung zu Werkstückfehlern oder erheblichem Werkzeugverschleiß führen kann.

Befehlsstruktur

Um einen Verweilzeitbefehl auszuführen, folgt auf den Code G04 ein spezifischer Adressbuchstabe, der die Dauer oder die Anzahl der Spindelumdrehungen angibt. Programmierer müssen abhängig vom aktiven Steuerungssystem und der gewünschten Maßeinheit den korrekten Adressbuchstaben wählen — typischerweise P, X, U, F oder S. Die mathematische Interpretation dieser Adressen hängt stark von den systemweiten Parametereinstellungen ab, die ganzzahlige Eingaben um mehrere Dezimalstellen skalieren oder vorschreiben können, ob ein Dezimalpunkt überhaupt akzeptiert wird.

Darüber hinaus variiert das Verhalten des G04-Befehls je nachdem, ob er in einem zeitbasierten Modus oder einem spindelumdrehungsbasierten Modus programmiert ist. Im zeitbasierten Modus pausieren die Achsen für eine präzise Spanne von Sekunden oder Millisekunden, was ideal ist, um Hardwarezustände einschwingen zu lassen. Im umdrehungsbasierten Modus ist die Achspause direkt mit dem Spindelgeber (encoder) synchronisiert. Das bedeutet, dass die Verweilzeit erst endet, nachdem sich die Spindel eine festgelegte Anzahl von Umdrehungen gedreht hat, was für gleichmäßiges Schneiden und effektiven Spanbruch unerlässlich ist.

; Fanuc Syntax
G04 P_ ;
G04 X_ ;
G04 U_ ;
G04 X(U, P)_ Q_ ;

; Siemens Syntax G4 F_ ; G4 S_ ; G4 S<n>=_ ; G04 X_ ; G04 P_ ;

; Mitsubishi Syntax G94 G04 X_ ; G94 G04 P_ ; G94 G04 U_ ; G95 G04 X_ D_ ;

MarkeParameterFunktionsbeschreibungGültiger Bereich / Bits
FanucParameter 3405 bit 1 (DWL)Bestimmt die Verweilzeitausführung: 0 = immer Sekunden; 1 = Sekunden in G94, Spindelumdrehungen in G95.0 oder 1
FanucParameter 1020 bit 7 (DWT)Bestimmt das Inkrementsystem der P-Adresse: 0 = aktives Inkrementsystem (z. B. 1 ms für IS-B); 1 = sperrt die Einheit auf starr 1 Millisekunde.0 oder 1
FanucParameter 8002 bit 1 (DWE)Spezifiziert die minimal programmierbare Verweilzeit in der PMC-Achskontrolle unter IS-C: 0 = 1 ms; 1 = 0,1 ms.0 oder 1
SiemensMD20734 $MC_EXTERN_FUNCTION_MASK bit 2Im ISO-Dialektmodus: 0 = immer Sekunden/Millisekunden; 1 = Sekunden in G94/G98, Spindelumdrehungen in G95/G99.0 oder 1
SiemensMD11411 $MN_ENABLE_ALARM_MASK bit 7Aktiviert die Warnalarme 16954 und 16957 für den Stop-Verzögerungsbereich.0 oder 1
SiemensMD11550 $MN_STOP_MODE_MASKDefiniert die systemweiten Grenzen des Stop-Verzögerungsbereichs.Systemabhängig
MitsubishiParameter #8112 DECIMAL PNT-PBestimmt, ob ein Dezimalpunkt in der P-Adresse zulässig ist: 0 = Dezimalpunkte ignorieren; 1 = Dezimalpunkte validieren.0 oder 1
MitsubishiParameter #19014 G04 P factorSkaliert den ganzzahligen P-Adresswert (ohne Dezimalpunkt) um den Faktor 10<sup>n</sup>.-3 bis 3
MitsubishiParameter #1173 dwlskpDefiniert die Kombination der PLC-Schnittstellen-Eingangssignale (Skip 1 bis Skip 3) zum sofortigen Abbruch der Verweilzeit.0 bis 7
MitsubishiParameter #8130 Dwell in rev.Bestimmt den Verweilzeittyp im synchronen Vorschubmodus (G95): 0 = zeitbasiert (Sekunden); 1 = Spindelumdrehungen.0 oder 1

Markenanwendungen

Fanuc

Im Fanuc-Steuerungs-Ökosystem dient G04 als präzises, nicht-modales Werkzeug zum Aussetzen der Achsinterpolation. Programmierer müssen Parameter 1020 bit 7 (DWT) und Parameter 3405 bit 1 (DWL) konfigurieren, um zu steuern, ob die P-Adresse als starrer Millisekundenwert interpretiert wird und ob G04 im G95-Modus zu Spindelumdrehungen wechselt.

Die Standard-G-Code-Syntax unterstützt G04 P_, G04 X_ oder das drehmaschinenspezifische G04 U_. Wenn die mehrstufige Skip-Option aktiv ist, wird die Syntax zu G04 X_ Q_ oder G04 P_ Q_ erweitert, was es externen PLC-Signalen ermöglicht, die Verweilzeit vorzeitig abzubrechen.

  • Parameter: Parameter 1020 bit 7 sperrt P auf 1 ms. Parameter 3405 bit 1 aktiviert die umdrehungsbasierte Verweilzeit im G95-Vorschub. Parameter 8002 bit 1 steuert das minimale Zeitinkrement unter PMC-Achsenkontrolle.
  • Alarme: Alarm PS0041 wird während der Schneidenradiuskorrektur (G41/G42) ausgelöst, wenn mehrere verfahrfreie Sätze aufeinanderfolgen. Alarm PS0370 wird ausgelöst, wenn die programmierte Q-Adresse außerhalb des Bereichs von 1 bis 4 (oder 1 bis 8) liegt. Alarm PS0373 wird ausgelöst, wenn identische Hochgeschwindigkeits-Skip-Signale fälschlicherweise in mehreren Pfaden ausgewählt werden.
  • Versionen: Drehmaschinen (T-Serie) unterstützen nativ die inkrementelle U-Adresse für die Verweilzeit, wohingegen Frässteuerungen (M-Serie) die Verweilzeit primär auf X und P beschränken. Optionen für kontinuierlichen Hochgeschwindigkeits-Skip erweitern den Q-Adressbereich auf Q1 bis Q8 im Vergleich zum standardmäßigen Q1 bis Q4-Limit.

Warnung: Das Aneinanderreihen von aufeinanderfolgenden Verweilzeitblöcken oder Hilfsbefehlen bei aktiver Schneidenradiuskorrektur kann den Vorausschauberechnungs-Vektor (look-ahead vector) der Bahn stören und zu einem sofortigen PS0041-Werkzeuginterferenzalarm führen.

Siemens

Originale Siemens-Steuerungen implementieren den Verweilzeitbefehl über die G4-Syntax, die zwingend vorschreibt, dass der Befehl isoliert in einem eigenen NC-Satz stehen muss. Programmierer nutzen das Maschinendatum MD20734 bit 2, um festzulegen, ob der G4-Befehl basierend auf den aktiven G94/G95-Vorschubmodi dynamisch von Sekunden auf Spindelumdrehungen umschaltet.

Im nativen Sinumerik-Modus akzeptiert G4 die Adressen G4 F_ für die Zeit in Sekunden und G4 S_ für Umdrehungen. Zudem erlaubt die einzigartige Syntax G4 S<n>=_ die gezielte Synchronisation der Verweilzeit mit den Umdrehungen einer sekundären Spindel, während der ISO-Dialektmodus (G291) die Syntax in G04 X_ oder G04 P_ konvertiert.

  • Parameter: MD20734 bit 2 ermöglicht vorschubabhängige Verweilzeiteinheiten im ISO-Modus. MD11411 bit 7 schaltet Warnalarme für den Stop-Verzögerungsbereich ein. MD11550 definiert die physischen Grenzen des Stop-Verzögerungsbereichs.
  • Alarme: Alarm 12120 wird ausgelöst, wenn Hilfs-M-Codes oder G-Funktionen im selben Satz wie G4 programmed sind. Alarm 16954 oder 16957 wird ausgegeben, wenn ein Bediener einen programmierten Stop bei 0-Vorschub-Override innerhalb eines Stop-Verzögerungsbereichs versucht. Mechanische Status-Zeitüberschreitungen erzeugen Spann-Alarme wie 700011, 700013 oder 700022.
  • Versionen: Das Umschalten zwischen dem nativen Siemens-Modus (G290) und dem ISO-Dialektmodus (G291) ändert die G4-Adressen von F/S zu X/P. Im nativen Modus werden spezifische Spindelumdrehungen direkt inline zugewiesen, während der ISO-Modus auf einer parameterbasierten Vorschubverfolgung basiert.

Warnung: Programmieren Sie niemals Kühlmittelbefehle oder zusätzliche M-Funktionen im selben NC-Block wie einen G4-Verweilzeitbefehl, da der Sinumerik-Parser die Ausführung sofort mit einem Satzsyntax-Alarm 12120 abbricht.

Mitsubishi

Mitsubishi-Systeme bieten eine robuste G04-Standby-Logik, die Achsenpausen eng mit PLC-Hardwarezuständen verknüpft. Programmierer verlassen sich auf Parameter #8130, um vorzugeben, ob sich die Verweilzeit in G95 an die Spindelumdrehungen anpasst, und konfigurieren Parameter #8112 zur Validierung von Dezimalpunkten.

Syntaktisch unterstützt Mitsubishi die Formate G04 X_, G04 P_ und das drehmaschinenspezifische G04 U_. Für umdrehungsbasierte Pausen verknüpft das Anfügen einer D-Adresse wie G04 X_ D_ die Verweilzeit mit einem zugewiesenen Spindelgeber (encoder).

  • Parameter: Parameter #8130 ermöglicht das umdrehungsbasierte Verweilen im G95-Modus. Parameter #8112 validiert Dezimalpunkteingaben in der P-Adresse. Parameter #19014 skaliert ganzzahlige P-Werte. Parameter #1173 verknüpft die Verweilzeit mit PLC-Skip-Eingängen.
  • Alarme: Alarm P45 wird durch inkompatible G-Code-Kombinationen wie mit G28 oder G53 ausgelöst. Alarm P34 wird ausgelöst, wenn G04 ausgeführt wird, während aktive Modi wie die Hochgeschwindigkeits-Hochpräzisionssteuerung II (G05 P10000) or III (G05 P20000) aktiv sind.
  • Versionen: Drehmaschinensysteme (L-Serie) unterstützen die U-Adresse, wohingegen Bearbeitungszentren (M-Serie) Zeit- und Umdrehungsbefehle starr auf X und P beschränken. Unter Multiple-Spindle Control II-Konfigurationen wird die Zuweisung der D-Adresse ungültig; stattdessen ermittelt die Steuerung die Zielspindel dynamisch über das PLC-Geber-Auswahlsignal.

Warnung: Die Programmierung einer umdrehungsbasierten G04-Verweilzeit im G95-Modus bei stehender Spindel (über M05) führt dazu, dass das CNC-System unendlich wartet und die Maschine einfriert, bis ein manueller Eingriff erfolgt.

Markenvergleich

VergleichsthemaFanucSiemensMitsubishi
Verweilzeiteinheit-AusführungStandardmäßig Sekunden; Spindelumdrehungen im G95-Modus, wenn Parameter 3405 bit 1 (DWL) auf 1 gesetzt ist.Nativ Sekunden (G4 F...) oder Spindelumdrehungen (G4 S...); anpassbar an G94/G95 im ISO-Dialektmodus über MD20734 bit 2.Standardmäßig Sekunden; Spindelumdrehungen im G95-Modus, wenn Parameter #8130 auf 1 gesetzt ist.
AdressformateP (Ganzzahl/ms abhängig von Parameter 1020), X (Sekunden/Dezimalpunkt), U (nur Drehmaschinen-inkrementell).F (Sekunden), S (Hauptspindelumdrehungen), S<n>= (spezifische Spindel) oder X / P (ISO-Modus).X (Sekunden/Dezimalpunkt), P (Ganzzahl/skaliert durch Faktor), U (nur Drehmaschinen-inkrementell) und D (Spindelauswahl).
Dwell abbrechen / überspringenMehrstufige Skip-Q-Adresse im G04-Block bricht die Verweilzeit sofort ab.— (no source)Dwell-Skip-Funktion direkt über PLC-Eingang via Parameter #1173 (dwlskp) konfiguriert.
Verweilzeit Sekundärspindel— (no source)Inline-Syntax G4 S<n>=... ermöglicht Verweilzeiten basierend auf Umdrehungen einer spezifischen Sekundärspindel.Multi-Spindel-Umdrehungsverweilzeit spezifiziert Spindelkennung D neben G04 im G95-Modus.
Zeitmultiplikator / SkalierungGesperrt auf 1 ms über Parameter 1020 bit 7 (DWT) oder abhängig vom IS-System.— (no source)Parameter #19014 skaliert ganzzahliges P um den Faktor 10<sup>-3</sup> bis 10<sup>3</sup>.
Einschränkung als EinzelblockSchneidenradiuskorrektur active: Aufeinanderfolgende G04 verursachen PS0041.Muss allein im Block programmiert werden; andere NC-Elemente (synchrone Aktionen/M-Funktionen) verursachen Alarm 12120.Numerischer Wert muss nach G04 stehen; Kombination mit G28/G53 verursacht P45. Keine Verweilzeit im G05-Modus zulässig (löst P34 aus).

Technische Analyse

Eine tiefgehende technische Analyse dieser Steuerungssysteme offenbart höchst unterschiedliche Philosophien bei der Integration von Verweilzeitbefehlen in die Maschinenhardware und die PLC. Fanuc-Systeme setzen auf feingliedrige Konfigurationen auf Parameterebene, was dem Programmierer explizite Kontrolle über die Skalierung der P-Adresse gibt. Durch die Verknüpfung des DWT-Parameters (1020 bit 7) mit entweder dem aktiven Systeminkrement (IS-B oder IS-C) oder der festen Sperrung auf eine starre Millisekundenskala bietet Fanuc maximale Flexibilität für Mehrachskonfigurationen, führt jedoch zu Programmierambivalenzen, wenn Dezimalpunkte werden weggelassen. Darüber hinaus ermöglicht Fanuc in einzigartiger Weise die direkte Interaktion von G04 mit Hochgeschwindigkeits-Skip-Signalen über die Q-Adresse, was einen hardwarenahen Interrupt-Mechanismus erzeugt, der für schnelle Mess- und Umgehungszyklen äußerst effektiv ist.

Im Gegensatz dazu setzt Siemens auf ein strukturiertes, modulares Design, das G-Code-Blockfunktionen strikt trennt und gleichzeitig eine robuste Mehrspindelfähigkeit bietet. Siemens ermöglicht es dem Programmierer nativ, Verweilzeiten entweder in Sekunden (F) oder Umdrehungen (S) anzugeben und sogar eine Sekundärspindel mittels inline-Syntax S<n>= anzusprechen. Diese native Mehrspindelunterstützung unterscheidet sich grundlegend von den anderen Marken, die auf Parameterzustandsänderungen oder separate Spindelidentifizierungsadressen angewiesen sind. Siemens erzwingt jedoch eine starre syntaktische Isolation: Das Programmieren eines Hilfsbefehls oder einer G-Funktion neben G4 löst sofort einen Syntaxalarm (12120) aus. Zudem integriert Siemens G4 in seine synchronisierten Aktionen und erfordert eine Verweilzeit von mindestens zwei internen Interpolatortakten (wie F0.1), um sicherzustellen, dass nicht-modale PLC-Signale mitten im Programm erfolgreich abgesetzt werden.

Mitsubishi verknüpft diese beiden Paradigmen, indem es eine native Mehrspindel-Adressunterstützung bietet und gleichzeitig eine PLC-gesteuerte Skip-Funktion integriert, die sich grundlegend von Fanucs blockbasiertem Skip-Signal unterscheidet. Mitsubishis G04-Skip-Bedingung wird direkt über Parameter #1173 eingestellt, wodurch physische PLC-Eingänge direkt auf die Verweilzeitausführung abgebildet werden. Dies erlaubt der PLC, eine Verweilzeit dynamisch abzubrechen, wohingegen Fanucs Skip-Funktion eine dedizierte Q-Adresse im NC-Block erfordert. Mitsubishi nutzt zudem einen einzigartigen P-Faktor-Parameter (#19014), um ganzzahlige Eingaben um Faktoren von 10<sup>-3</sup> bis 10<sup>3</sup> zu skalieren. Dieser leistungsfähige Skalierungsmechanismus ist speziell darauf ausgelegt, Legacy-Code ohne manuelle Codeänderungen nahtlos auf unterschiedlichen Maschinen auszuführen, was eine große Hürde in mehrteiligen Fertigungshallen löst.

Programmbeispiele

Fanuc-Programmbeispiel

G94 G04 P1000 ; (Zeitbasierte Verweilzeit für 1,0 Sekunde unter IS-B, oder sperrt auf 1 ms abhängig von Parameter 1020 DWT)
G95 G04 X30.0 ; (Verweilzeit für 30 Spindelumdrehungen bei aktivem Vorschub pro Umdrehung und Parameter 3405 DWL=1)
G04 X1.5 Q2 ;   (Verweilzeit für 1,5 Sekunden unter Nutzung der dem Skip-Signal Q2 zugewiesenen mehrstufigen Skip-Option)

Fanuc-Beispiel Trockenlauf (dry run)

Im ersten Block legt der G94-Code den Vorschub pro Minute fest. Der Befehl G04 P1000 führt eine Verweilzeit von exakt 1,0 Sekunde unter dem Standard-IS-B-Inkrementsystem aus (wobei 1 Einheit gleich 1 Millisekunde entspricht) oder sperrt starr auf 1 Millisekunde, wenn Parameter 1020 (DWT) auf 1 konfiguriert ist, was dazu führt, dass die Verweilzeit vorzeitig endet. Im zweiten Block schaltet der G95-Code die Maschine in den Vorschub-pro-Umdrehung-Modus. Bei auf 1 gesetztem Parameter 3405 (DWL) weist G04 X30.0 die Steuerung an, jede Achsinterpolation zu pausieren, bis die Spindel exakt 30 volle Umdrehungen abgeschlossen hat. Im dritten Block pausiert der Befehl G04 X1.5 Q2 die Achsen für 1,5 Sekunden, bleibt aber aktiv, um das dem Skip-Selektor Q2 zugewiesene Hochgeschwindigkeits-Skip-Signal zu überwachen; falls dieses PLC-Eingangssignal vor Ablauf der 1,5 Sekunden ausgelöst wird, wird die Verweilzeit sofort abgebrochen und die Steuerung fährt mit dem nächsten Programmsatz fort.

Siemens-Programmbeispiel

G04 F5 ;        (Pausiert die Ausführung für 5 Sekunden)
G4 S30 ;        (Verweilzeit für 30 Hauptspindelumdrehungen)
G4 S2=50 ;      (Verweilzeit für 50 Umdrehungen der sekundären Spindel 2)
G95 G04 X1000 ; (ISO-Dialektmodus: Verweilzeit für 1 Spindelumdrehung, wenn G95 aktiv und MD20734 bit 2 auf 1 gesetzt ist)

Siemens-Beispiel Trockenlauf

Im ersten Block weist der Befehl G04 F5 den Siemens-Sinumerik-Interpreter an, jede Achsinterpolation für exakt 5,0 Sekunden zu pausieren, während sich die Spindel weiterdreht. Im zweiten Block erzwingt G4 S30 eine Verweilzeit, die auf der Spindeldrehzahl basiert und die Achsbewegung für exakt 30 Umdrehungen der Hauptspindel anhält. Im dritten Block nutzt G4 S2=50 die native Mehrspindelfähigkeit und befiehlt eine Pause, die exakt 50 Umdrehungen der Sekundärspindel (Spindel 2) dauert, was für synchronisierte Werkstückübergaben an die Gegenspindel entscheidend ist. Im vierten Block läuft das System im ISO-Dialektmodus (G291) bei aktivem G95; der Befehl G04 X1000 bewirkt eine Verweilzeit von 1 Spindelumdrehung, da MD20734 bit 2 auf 1 gesetzt ist, was die Eingabe als Spindelumdrehungen statt als Sekunden interpretiert.

Mitsubishi-Programmbeispiel

G94 G04 X5.0 ;  (Standardmäßige zeitbasierte Verweilzeit unter Verwendung der Adresse X für 5,0 Sekunden im Vorschub-pro-Minute-Modus)
G94 G04 P5000 ; (Zeitbasierte Verweilzeit unter Verwendung der Adresse P, vorbehaltlich Skalierungsparameter #19014 oder Validierungsparameter #8112)
G95 G04 X100. D1 ; (Umdrehungsbasierte Verweilzeit für 100 Umdrehungen, synchronisiert gegen Spindel 1 im G95-Modus)

Mitsubishi-Beispiel Trockenlauf

Im ersten Block wird der Vorschub-pro-Minute-Modus (G94) etabliert und G04 X5.0 pausiert die Werkzeugachsen für exakt 5,0 Sekunden. Im zweiten Block wird G04 P5000 befohlen. Wenn Parameter #8112 (DECIMAL PNT-P) auf 0 gesetzt ist, werden Dezimalpunkte ignoriert, und falls der Skalierungsparameter #19014 auf -3 eingestellt ist (ein 1/1000-Multiplikator), wird der Ganzzahlwert 5000 auf 5 Sekunden skaliert. Wenn #19014 auf 0 gesetzt ist, kann die Verweilzeit je nach Basisinkrement des Systems 5000 Millisekunden (5,0 Sekunden) oder 5000 Sekunden dauern. Im dritten Block ist der Vorschub-pro-Umdrehung-Modus (G95) active; der Befehl G04 X100. D1 weist die Maschine an, für exakt 100 Spindelumdrehungen zu verweilen, synchronisiert direkt gegen den Geber von Spindel 1, um sicherzustellen, dass das Werkzeug synchron mit der physischen Spindeldrehung pausiert.

Fehleranalyse

MarkeAlarmcodeAuslösebedingungBediener-SymptomUrsache & Behebung
FanucPS0041 (Kompensationsinterferenz)Aufeinanderfolgendes Programmieren von G04 mit einem weiteren verfahrfreien Satz (wie einem M-Code) bei aktiver Schneidenradiuskorrektur G41 oder G42.Die Maschine stoppt den Lauf und zeigt den Alarm PS0041 auf dem Bildschirm an, wodurch der Automatikbetrieb unterbrochen wird.Der Vorausschauberechnungs-Vektor (look-ahead vector) der Werkzeugbahn wird durch aufeinanderfolgende verfahrfreie Sätze gestört, was zu einem berechneten Konturüberlauf führt. Vermeiden Sie das Aneinanderreihen mehrerer Verweilzeit- oder Hilfssätze bei aktivem G41/G42.
FanucPS0370 (G31P/G04Q Fehler)Programmierung eines Q-Adresswerts außerhalb des gültigen Bereichs (1 bis 4 für standardmäßige mehrstufige Skips bzw. 1 bis 8 für kontinuierliche Skips) oder Programmierung von Q auf einem System ohne Skip-Option.Sofortiger Programmhalt mit einer PS0370-Alarmmeldung vor der Satzausführung.Es wurde ein unzulässiger Q-Wert programmiert oder die mehrstufige Skip-Option ist auf der Steuerung nicht aktiv. Korrigieren Sie den Q-Adresswert oder aktivieren/erwerben Sie die Skip-Funktionsoption.
Siemens12120 (G-Funktion nicht separat programmiert)Programmieren von zusätzlichen M-Funktionen, synchronisierten Aktionen oder anderen G-Codes im exakt selben NC-Block wie der G4-Verweilzeitbefehl.Die Steuerung weist den Satz während der Ausführung ab, stoppt die Bewegung und gibt den Siemens-Alarm 12120 aus.Siemens erfordert, dass der G4-Verweilzeitbefehl isoliert in einem separaten NC-Block programmiert wird. Verschieben Sie alle Hilfscodes und synchronisierten Aktionen in separate Sätze.
Siemens700013 (Betrieb unzulässig: Spannfutter geöffnet)Ignorieren mechanischer Verzögerungszeiten, die für das Spannen des Spannfutters vor dem Ausführen von Werkzeugbewegungen erforderlich sind.Das CNC-Sicherheitssystem löst aus, unterbricht das Programm und gibt den Alarm 700013 aus.Ein Verfahrsatz wurde befohlen, bevor der physische Spannmechanismus des Spannfutters vollständig eingeschwungen war. Programmieren Sie eine G4-Verweilzeit, um ausreichend Zeit für das Einnehmen des Spannzustands vor der Bewegung bereitzustellen.
MitsubishiP45 (G-Code-Kombination)Programmieren von G04 im exakt selben Block wie ein inkompatibler G-Code, wie z. B. G28 (Referenzpunktfahrt) oder G53 (Maschinenkoordinatensystem).Die Maschine stoppt sofort, zeigt den Alarmcode P45 auf dem Bildschirm an und bricht den aktiven Automatikzyklus ab.Der NC-Parser stößt auf eine unzulässige Kombination aus einer nicht-modalen Verweilzeit und Referenzierungs- oder Koordinatensystemcodes. Programmieren Sie G04 in einem eigenständigen Block oder prüfen Sie kompatible G-Code-Paarungen.
MitsubishiP34 (Fehler Hochgeschwindigkeits-Hochpräzisionssteuerung)Aufruf eines G04-Verweilzeitbefehls bei aktiven Steuerungsmodi wie der Hochgeschwindigkeits-Hochpräzisionssteuerung II (G05 P10000) oder III (G05 P20000).Zyklusunterbrechung und sofortige Anzeige des Alarmcodes P34 auf dem Bildschirm der Steuerung.Fortschrittliche Bahninterpolations-Algorithmen können während aktiver Hochgeschwindigkeitszyklen keine Verweilzeiten verarbeiten. Deaktivieren Sie die G05-Modi vorübergehend, bevor Sie G04-Befehle ausführen.

Anwendungshinweis

Die Missachtung mechanischer Einschwingzeiten und unüberlegte Verweilzeit-Platzierungen führen im Fertigungsprozess direkt zu Maschinenschäden, Alarmabschaltungen und Ausschuss. Auf Siemens-Steuerungen führt das Ignorieren mechanischer Verzögerungen beim Spannen des Spannfutters oder beim Indexieren des Werkzeugrevolvers zum sofortigen Auslösen kritischer Sicherheitsalarme wie 'Spannfutter ungeklemmt' (Alarm 700013), 'Revolvermotor Überlastung' (Alarm 700022) oder 'Werkzeugspannung Zeitüberschreitung' (Alarm 700011). Programmierer müssen G04-Pausen gezielt einsetzen, um diese Hardwarezustände prozesssicher einschwingen zu lassen. Gleichzeitig darf G04 niemals unüberlegt in Schlichtbahnen bei aktivem Continuous-Path-Mode (G64/G641) eingefügt werden; das abrupte Abstoppen des Werkzeugs führt zu sichtbaren Oberflächenfehlern (witness marks) und Maßungenauigkeiten. Bei Fanuc-Steuerungen droht eine sofortige Abschaltung durch den Alarm PS0041 (Kompensationsinterferenz), wenn bei aktiver Radiuskorrektur (G41/G42) mehrere verfahrfreie Sätze wie ein Dwell-Befehl und M-Funktionen nacheinander programmiert werden. Auf Mitsubishi-Systemen führt ein G04-Befehl im synchronen Vorschub (G95) bei aktivem Parameter #8130 und stehender Spindel (M05) zu einem unendlichen Zyklus-Freeze, da der Geber auf Spindelumdrehungen wartet, die niemals eintreffen. Solche Stillstände und mechanischen Fehlabläufe lassen sich durch eine konsequente, parameterkonforme Programmierung verhindern, die Verweilzeiten präzise auf die jeweilige Steuerung abstimmt.

Verwandte Befehle

  • G01 Linearinterpolation: G04 wird häufig zwischen oder am Ende von G01-Vorschubsätzen programmiert, um die Werkzeugbewegung vorübergehend zu pausieren und den Schneiddruck am Ende eines linearen Schnitts abzubauen.
  • G02 Kreisinterpolation im Uhrzeigersinn: G04 kann unmittelbar nach einem G02-Kreisbogen verwendet werden, damit sich der Werkzeugdruck abbauen kann, um eine glatte, präzise Oberfläche bei Innendurchmessern zu gewährleisten.
  • G03 Kreisinterpolation gegen den Uhrzeigersinn: Ähnlich wie bei G02 bietet G04 eine kurze Pause nach einem G03-Bogen gegen den Uhrzeigersinn, um Schnittkräfte abzubauen und Oberflächenfehler (witness marks) an Werkstückkanten zu verhindern.
  • G09 Genauer Halt: Während G04 eine zeitgesteuerte Pause ausführt, ist G09 ein nicht-modaler Code, der die Maschine zwingt, am Satzende bis zum vollständigen Stillstand abzubremsen, um die Position zu verifizieren, bevor der nächste Satz beginnt.
  • G31 Skip-Funktion: Die Skip-Funktion ermöglicht das sofortige Beenden einer Achsbewegung durch ein externes Eingangssignal und teilt ähnliche PLC-Unterbrechungslogiken wie Mitsubishis parametergesteuerter Dwell-Skip.

Fazit

Maximale Präzision und prozesssichere Bearbeitungszyklen erfordern eine lückenlose Abstimmung der G04-Syntax mit den steuerungseigenen Maschinenparametern. Programmierer und Einrichter müssen bei jeder Programmerstellung die aktiven Vorschubmodi und Parameter wie Fanuc 1020, Siemens MD20734 oder Mitsubishi #8130 überprüfen. Durch die konsequente Vermeidung von Ganzzahl-Ambivalenzen bei P-Adressen und den Verzicht auf verschachtelte Verfahrpausen bei aktiver Schneidenradiuskorrektur wird die Maßhaltigkeit sensibler Bauteile garantiert. Die präzise Konfigurationsprüfung im Vorfeld eliminiert folgenschwere Toleranzüberschreitungen und ungeplante Stillstandzeiten dauerhaft aus der Produktion.

Häufig gestellte Fragen (FAQ)

Wie verhindere ich Maßabweichungen und Toleranzüberschreitungen durch falsch interpretierte P-Werte bei G04?

Eine fehlerhafte Parametrierung wie Parameter 1020 (DWT) auf Fanuc-Steuerungen führt dazu, dass ganzzahlige P-Werte starr als Millisekunden interpretiert werden. Ein Programmierer, der G04 P1000 schreibt und eine Sekunde Verweilzeit erwartet, erzeugt so eine Mikrosekunden-Pause, die das Werkzeug vorzeitig verfahren lässt und das Werkstück zerkratzt. Um dies auszuschließen, nutzen Sie bei zeitbasierten Pausen grundsätzlich die Adressen X oder U mit expliziten Dezimalpunkten (z. B. G04 X1.0). Aktion: Prüfen Sie im Parameter-Menü der Steuerung den Zustand von Parameter 1020 (Bit 7) oder weisen Sie Ihre Postprozessoren an, ausschließlich X-Werte mit Dezimalpunkt für Verweilzeiten auszugeben.

Warum führt ein G04-Befehl während einer Bohrungsbearbeitung im G95-Modus zu einem unendlichen Maschinenstillstand?

Dieses Verhalten tritt auf, wenn auf Mitsubishi- oder Fanuc-Steuerungen eine umdrehungsbasierte Verweilzeit aktiv ist (über Parameter #8130 bzw. Parameter 3405) und gleichzeitig die Spindel gestoppt wird (M05). Der Geber registriert keine Spindeldrehungen mehr, weshalb die Steuerung unendlich auf die Erfüllung des Zählwerts wartet. Dies blockiert den gesamten Programmablauf und kann bei unaufmerksamem Personal zu Schäden durch überhitzte Komponenten führen. Aktion: Programmieren Sie vor dem Ausführen einer Verweilzeit bei stehender Spindel einen modalen Wechsel in den zeitbasierten Vorschubmodus (G94) oder stellen Sie sicher, dass der Spindelanlauf (M03/M04) dem G04-Satz vorausgeht.

Wie umgehe ich den Syntax-Alarm 12120 auf Siemens-Steuerungen bei der Nutzung von G4?

Der Sinumerik-Parser fordert streng, dass der G4-Dwell-Befehl isoliert in einem eigenen NC-Satz steht. Sobald M-Funktionen (wie Kühlmittel M08) oder andere G-Codes auf derselben Zeile programmiert sind, bricht die Steuerung mit dem Alarm 12120 ab. Dies soll verhindern, dass zeitkritische Hilfsfunktionen unkontrolliert verzögert werden, stört jedoch den automatischen Ablauf. Aktion: Isolieren Sie jeden G4-Befehl konsequent in einer separaten Zeile (z. B. G4 F1.5) und platzieren Sie Hilfsfunktionen wie M-Codes oder Spindelbefehle in den Sätzen davor oder danach.

Immer noch nicht gelöst?

Frage unseren KI-Assistenten zu diesem Thema in natürlicher Sprache. Basierend auf verifizierten Quellen, keine Halluzinationen.

KI-Assistent fragen
Hakan Gündoğdu
Hakan Gündoğdu
  • CNC CARE Co-Founder (May 2025 - Present)
  • Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
  • Reis CNC Service Engineer (2003 - 2005)
  • Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)

Mit über 25 Jahren Erfahrung in allen Bereichen der CNC-Maschinenbranche bin ich weiterhin als Mitgründer von CNC CARE tätig, wo wir markenunabhängige Beratung, Engineering und Original-Ersatzteil-Services anbieten.

Ähnliche Artikel

Weitere Artikel zu diesem Thema