Skip to main content
CNC.wiki

G58 Absolute axiale Nullpunktverschiebung: Siemens SINUMERIK Guide

Siemens SINUMERIK G58 Nullpunktverschiebung sicher programmieren. Absolute Grobverschiebung anwenden und mit Fanuc & Mitsubishi Methoden vergleichen.

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

CNC CARE Mitgründer

Einleitung

Wenn ein Bediener ein CNC-Programm mitten im Zyklus abbricht, die Maschinenachsen manuell freifährt oder einen Reset ausführt, ohne einen Befehl zur Ausblendung des aktiven Koordinatensystems auszuführen, bleiben die über G58 programmierten absoluten Versatzwerte im Hintergrund-Frame aktiv. Die Fortsetzung des Programms unter diesen Bedingungen führt dazu, dass die Achsen ihre Verfahrwege von einem verschobenen, falschen Ursprung berechnen. Beim Werkzeugwechsel des Revolvers oder während der Spindelbewegung entlang dieser unkompensierten Bahn überfährt das Schneidwerkzeug die physischen Sicherheitsabstände und rammt den Werkzeugträger oder die rotierende Spindel direkt in die Spannpratze auf dem Maschinentisch, eine Schraubstockbacke der Vorrichtung oder die rotierenden Backen eines Spindelfutters. Eine solche harte Kollision zerstört das Werkzeug, verbiegt die Kugelgewindetriebe der Achsen, löst einen Überlaststromalarm aus und verwandelt das Rohmaterial in teuren Ausschuss.

Wird dieser Parameter nicht verifiziert, liegt das Ergebnis außerhalb der Toleranz — und der Fehler zeigt sich erst bei der Endmessung. Eine korrekte Konfiguration eliminiert die häufigste Ursache für Maßabweichungen bei diesem Befehl. Um die Prozesssicherheit zu gewährleisten und eine Toleranzüberschreitung zu verhindern, muss die Programmierung der axialen Nullpunktverschiebung G58 auf Siemens SINUMERIK-Steuerungen mit absoluter Präzision erfolgen.

Technische Übersicht

Technische SpezifikationDetails / Werte
BefehlscodeG58
Modale GruppeGruppe 3 (Programmierbare Verschiebungen, Arbeitsbereichsbegrenzungen und Polprogrammierung)
Unterstützte MarkenSiemens SINUMERIK (im nativen G290 Modus)
Kritische ParameterMD 24000 $MC_FRAME_ADD_COMPONENTS (Feinverschiebung im Frame aktiv, muss auf 1 gesetzt sein)
HauptbeschränkungMuss in einem separaten NC-Satz ohne andere Verfahrbefehle programmiert werden

Schnellleser

  • G58 ist ein substituierender absoluter axialer Frame-Befehl, der nur die Grobverschiebungskomponente der aktuell aktiven Nullpunktverschiebung überschreibt.
  • Programmieren Sie G58 in einem eigenen, dedizierten NC-Satz, um sicherzustellen, dass der Siemens-Interpreter die Koordinatenverschiebung vor der Ausführung von Achsbewegungen verarbeitet.
  • Stellen Sie sicher, dass das Maschinendatum MD 24000 auf 1 gesetzt ist, da die Ausführung von G58 andernfalls sofort Alarm 18312 auslöst und die Steuerung stoppt.
  • Beachten Sie, dass G58 nur die Grobverschiebungskomponente ändert und die über G59 aktualisierte aktive Feinverschiebungskomponente beibehält.
  • Verifizieren Sie die Koordinatenzustände nach jeder Zyklusunterbrechung und verwenden Sie SUPA, um die Maschine sicher auf den physischen Maschinennullpunkt zurückzuziehen.
  • Richten Sie aktive Arbeitsbereichsbegrenzungen mit G25 und G26 ein, um eine elektronische Sicherheitsbarriere zum Schutz von tool turret, chuck und fixtures zu bilden.

Grundlegende Konzepte

Die Implementierung der absoluten axialen Nullpunktverschiebung G58 auf Siemens SINUMERIK-Steuerungen bietet eine dynamische Methode zur Verwaltung von Koordinatenverschiebungen während der Bearbeitung. Im Gegensatz zu Fanuc- und Mitsubishi-Steuerungen, bei denen G58 einfach zur Auswahl eines statischen Werkstückkoordinatensystems verwendet wird, bewertet Siemens G58 als programmierbaren absoluten axialen Substitutions-frame. Dies ermöglicht es Programmierern, die absoluten Grobverschiebungskomponenten bestimmter Achsen innerhalb eines Blocks relativ zur aktiven Nullpunktverschiebung (wie G54) vorübergehend auszutauschen. Dies ist besonders nützlich für lokalisierte Modifikationen von toolpaths auf Multi-Cavity-fixtures, bei denen geringfügige Grobanpassungen erforderlich sind, ohne das grundlegende Werkstück-Setup zu verschieben. Koordinatenwechsel berechnen die aktiven Werkzeugkorrekturen dynamisch neu, ohne sie zu deaktivieren.

Befehlsstruktur

Im nativen Siemens SINUMERIK-Modus (G290) arbeitet G58 als modal aktive vorbereitende Funktion, die zur G-code-Gruppe 3 gehört. Dieser Befehl verhält sich eher als substituierende frame-Anweisung denn als additive. Wenn ein G58-Block eingelesen wird, ersetzt die Steuerung die Grobverschiebungskomponente der aktuell aktiven Nullpunktverschiebung für die angegebenen Achsen, während Feinverschiebungen und nicht modifizierte Achsen unberührt bleiben.

Da der Befehl bestehende Koordinatenverschiebungsebenen überschreibt, muss er sorgfältig isoliert werden. Der Interpreter erfordert, dass G58 in einem separaten NC-Block eingegeben wird. Das Mischen von Verfahrbefehlen mit einer Koordinatensubstitution im selben Block führt zu Syntaxvalidierungsfehlern oder unvorhersehbaren Achsbewegungen während der Ausführung des cycle.

Befehlssyntax

G58 X__ Y__ Z__ A__ ;

Befehlsparameter

  • X, Y, Z, A: Spezifiziert die absoluten axialen Koordinatenwerte, um die programmierbare absolute Grobverschiebungskomponente des aktiven frame zu ersetzen.
  • MD 24000 $MC_FRAME_ADD_COMPONENTS: Maschinendatenparameter, der auf 1 gesetzt sein muss, um axiale Feinverschiebungskomponenten zu aktivieren. Ein Wert von 0 löst beim Parsen von G58 einen Systemfehler aus.
  • MD 28080 $MC_NUM_USER_FRAMES: Konfiguriert die Gesamtzahl der im Steuerungsspeicher zugewiesenen benutzerdefinierbaren Nullpunktverschiebungen (G54 bis G57, G505 bis G599) im Bereich von 1 bis 93.
  • MD 10760 $MN_G53_TOOLCORR: Bestimmt, ob Werkzeuglängen- und Werkzeugradiuskorrekturen beim Unterdrücken von Koordinaten-frames unterdrückt oder beibehalten werden.

Markenanwendungen

Siemens

Siemens SINUMERIK-Steuerungen verarbeiten G58 im nativen Modus (G290) als axialen absoluten Verschiebungs-substitution frame. Dieser Offset modifiziert die Grobkomponente der aktiven Nullpunktverschiebung für bestimmte Achsen, während die additive Feinkomponente intakt bleibt. Bediener müssen vor dem Ausführen des Codes überprüfen, ob der Parameter MD 24000 aktiviert ist.

Die Ausführung von G58 verschiebt den Koordinatenursprung durch direktes Schreiben in den frame-Stack der Gruppe 3. Dies zeigt sich bei der Konfiguration von Multi-Cavity-Setups, bei denen einzelne Achsverschiebungen nacheinander programmiert werden, um die spindle über verschiedene vise jaws zu führen.

SteuerungselementSpezifikation / EinstellungZweck & Alarmverhalten
MD 24000 $MC_FRAME_ADD_COMPONENTSWert: 1Aktiviert Feinverschiebung-frames. Wenn auf 0 gesetzt, stoppt die G58-Ausführung das System mit Alarm 18312.
MD 28080 $MC_NUM_USER_FRAMESBereich: 1 bis 93Legt die Anzahl der im Speicher abgelegten benutzerdefinierbaren Nullpunktverschiebungen fest.
Versionen des Drehmodus840D sl vs. 802D slDie fortschrittliche 840D sl unterstützt Group 20-Befehle (G51.2/G50.2) für das Mehrkantschneiden; die kompakte 802D sl tut dies nicht.
Alarm 14800Auslöser: Feedrate = 0Wird ausgelöst, wenn eine Bewegung unter einem G58-frame befohlen wird, während die Bahngeschwindigkeit als Null ausgewertet wird.

Warnung: Isolieren Sie G58 immer in einem eigenen NC-Block. Die Kombination von G58 mit Verfahr-G-Codes (wie G01 oder G00) auf derselben Zeile führt zu Syntaxfehlern des Interpreter oder unerwarteten toolpath-Bewegungen.

Markenvergleich

Siemens-SteuerungsreiheMehrkantschneiden (Gruppe 20)Benutzer-Frame-Zuweisung (MD 28080)Speicher- & Frame-Stacking-Fähigkeiten
SINUMERIK 840D sl / ONEVollständig unterstützt (G51.2 Mehrkantschneiden EIN, G50.2 AUS)Bis zu 93 Nullpunktverschiebungen (G54 bis G57, G505 bis G599)Hochkapazitiver Mehrebenen-frame-Stack mit dynamischer Aufteilung in Grob- und Feinverschiebung
SINUMERIK 828DEingeschränkte / anwendungsabhängige UnterstützungBis zu 93 Nullpunktverschiebungen (G54 bis G57, G505 bis G599)Standard-frame-Stack, der absolute Grob- (G58) und additive Feinverschiebungen (G59) unterstützt
SINUMERIK 802D slAusgelassen (Gruppe-20-Befehle vollständig nicht unterstützt)Grundlegende Frame-SpeicherzuweisungKompakter Frame-Puffer; nur grundlegende axiale Nullpunktverschiebung-Modifikationen

Technische Analyse

Drei zentrale programmiertechnische und architektonische Verhaltensweisen unterscheiden Siemens SINUMERIK-Steuerungen bei der Handhabung der Nullpunktverschiebung deutlich von Fanuc- und Mitsubishi-Steuerungen:

Erstens arbeitet Siemens mit einem zweisprachig umschaltbaren Compiler-Modell (G290/G291). Während Fanuc- und Mitsubishi-Steuerungen Koordinatenverschiebungen und Registerverschiebungen nativ innerhalb eines einzigen kontinuierlichen Programmflusses interpretieren, erfordert Siemens vom Programmierer den expliziten Wechsel des Compiler in den ISO-Dialekt-Modus über G291, um Sätze zu kompilieren, die ältere ISO-Stile enthalten (wie G10-Offset-Eingaben). Das Programm muss dann G290 befehlen, um zurück in den nativen SINUMERIK-Modus zu wechseln, um fortgeschrittene parametrische frames (TRANS, ROT, SCALE, MIRROR) und native Nullpunktverschiebungen zu verarbeiten.

Zweitens verwaltet Siemens Nullpunktverschiebungen als dynamische, modulare Komponenten eines mehrstufigen frame-Speicherstacks. G58 wird als programmierbare achsspezifische Substitutionskomponente der G-Gruppe 3 behandelt. Sie arbeitet in Verbindung mit G59 (axiale additive Feinverschiebung), um absolute und feine Koordinatenverschiebungen in unabhängige Stack-Ebenen aufzuteilen, während Fanuc und Mitsubishi Werkstückkoordinatensysteme (WCS G54–G59) als monolithische Einzelregister-Absolutpositionen behandeln.

Drittens verfügt Siemens über den dedizierten Befehl zur absoluten Unterdrückung, SUPA. Wenn programmiert, unterdrückt SUPA alle aktiven einstellbaren Nullpunktverschiebungen, programmierten Verschiebungen, Basisverschiebungen und Handradverschiebungen, um die Achsen sicher auf den Maschinenkoordinatennullpunkt zurückzuziehen. Fanuc- und Mitsubishi-Steuerungen fehlt ein solcher mehrstufiger Unterdrückungssatzbefehl wie SUPA; sie stützen sich stattdessen auf standardmäßige, nicht-modale Koordinatenunterdrückungsbefehle wie G53.

Programmbeispiele

; N10 G290 ; In nativen SINUMERIK-Modus umschalten
; N20 G54 ; Primäre einstellbare Nullpunktverschiebung aktivieren
; N30 TRANS X10 Y10 Z10 ; Absolute Grobverschiebung auf X10 Y10 Z10 setzen
; N40 ATRANS X5 Y5 ; Additive Feinverschiebungskomponente X5 Y5 hinzufügen (Gesamtverschiebung: X15, Y15, Z10)
; N50 G58 X20 ; Grobe X-Verschiebung durch X20 ersetzen (Gesamtverschiebung: X25, Y15, Z10)
; N60 G59 X10 Y10 ; Feinverschiebungen durch X10 Y10 ersetzen (Gesamtverschiebung: X30, Y20, Z10)
; N70 G01 X0 Y0 F150 ; Lineare Bearbeitung mit feedrate 150 durchführen
; N80 SUPA ; Alle Koordinatenverschiebungen unterdrücken, um Achsen sicher zurückzuziehen
; N90 M30 ; Ende der Programmausführung

Trockenlauf (dry run)

Während des Trockenlauf (dry run) der Programmausführung schaltet der N10-Satz den compiler in den nativen SINUMERIK-Modus um. N20 lädt die Basis-Nullpunktverschiebung. Satz N30 wendet eine TRANS-Grobkoordinatenverschiebung an und etabliert den Ursprung des Koordinatensystems bei X10, Y10, Z10. Satz N40 wendet eine additive ATRANS-Feinverschiebung an, wodurch sich ein Versatz von X15 und Y15 aufsummiert. Satz N50 führt G58 aus, wodurch der grobe X-Versatz von 10 mit 20 überschrieben wird, was den aktiven Ursprung des toolpath auf X25 verschiebt, während Y auf 15 bleibt. Satz N60 ruft G59 auf, um die Feinverschiebungen zu substituieren, was zu einer Gesamtverschiebung von X30 und Y20 führt. Nach der G01-Bearbeitung in Satz N70 ruft Satz N80 SUPA auf, um die Verschiebungen von G58, G59 und G54 sofort zu unterdrücken und den Spindelträger sicher zum Maschinennullpunkt zurückzuführen.

Fehleranalyse

Siemens-AlarmcodeAlarmbeschreibung & MeldungAuslösebedingungFehlerursache / Bedienerbehebung
Alarm 18312Kanal %1 Satz %2 Frame: Feinverschiebung nicht konfiguriertDer NC-interpreter parst G58 oder G59, während MD 24000: FRAME_ADD_COMPONENTS auf 0 konfiguriert ist.Die Feinverschiebung im frame ist in den Parametern deaktiviert. Setzen Sie das Maschinendatum MD 24000 auf 1 und starten Sie die Steuerung neu.
Alarm 14800Kanal %1 Satz %2 Programmierte Bahngeschwindigkeit ist kleiner oder gleich NullEin axialer Verfahrbefehl (z. B. G01) wird unter aktivem G58-Offset ausgeführt, aber die path feedrate wird als F0 ausgewertet.Die Bahngeschwindigkeit (feedrate) ist auf Null gesetzt, ohne dass feste Vorschübe aktiv sind. Spezifizieren Sie einen Vorschubwert ungleich Null (z. B. F150) im Verfahrblock.
Alarm 61000Werkzeugkorrektur nicht aktivEine Offset-Verschiebung oder ein Bearbeitungszyklus läuft ohne eine gültige aktive Werkzeugkorrekturnummer D.Die Koordinatentranslation wird mit einer nicht konfigurierten Werkzeugkorrektur durchgeführt. Programmieren Sie vor der Bearbeitung einen gültigen Werkzeugkorrektur-Code (z. B. D1).

Anwendungshinweis

Eine harte Kollision, das Zertrümmern des Werkzeugs, verbogene Kugelgewindetriebe der Achsen und das Auslösen des Überlaststromalarms Alarm 14800 sind die unmittelbaren Folgen, wenn das Programm nach einer manuellen Achsbewegung oder einem Abbruch unter einem unkompensierten G58-Frame fortgesetzt wird. Beim Eindrehen des tool turret oder bei Spindelbewegungen entlang dieser unkompensierten Bahn steuern die Achsen den Werkzeugträger direkt in die Spannpratzen (clamps), eine Schraubstockbacke (vise jaw) oder in das rotierende Spindelfutter (chuck). Dies ruiniert das Rohmaterial und führt zu teurem Ausschuss. 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. Um diese prozesskritischen Risiken auszuschließen, müssen Programmierer Arbeitsbereichsbegrenzungen (G25/G26 oder WALIMON/WALIMOF) nutzen, um einen elektronischen Schutzraum um den tool turret, die Spindel und die fixture zu etablieren. Zudem darf G58 nur in einem separaten NC-Block aufgerufen werden, und das Maschinendatum MD 24000 muss auf 1 stehen, um den Interpreter-Stopp durch Alarm 18312 zu verhindern.

Verwandte Befehle

  • g53-suppress-current-frame: Unterdrückt aktive einstellbare frames und programmierbare Verschiebungen, um sichere Bewegungen in Maschinenkoordinaten zu ermöglichen.
  • g54-settable-zero-offset: Etabliert den Werkstück-Nullpunktursprung, auf den axiale Verschiebungen (G58/G59) angewendet werden.
  • g52-local-coordinate-system: Fungiert als lokale Koordinatensystemverschiebung, die in einer anderen Hierarchie als der frame-basierte Siemens G58-Stack arbeitet.

Fazit

Die prozesssichere Verwendung der axialen Nullpunktverschiebung G58 setzt voraus, dass Einrichter die Verschiebungswerte über Kantentaster verifizieren und das Maschinendatum MD 24000 kontrollieren. 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. Als grundlegende Schutzmaßnahme für die Fertigung wird empfohlen, am Ende jedes Programms oder vor Werkzeugwechseln einen SUPA-Befehl zu programmieren, um verbleibende Offsets im G58-Frame zuverlässig zu löschen und das Entstehen von Ausschuss durch unkontrollierte Achsbewegungen zu verhindern.

Häufig gestellte Fragen (FAQ)

Wie unterscheidet sich die G58-Nullpunktverschiebung bei Siemens von Fanuc-Steuerungen?

Auf Siemens SINUMERIK ist G58 kein statisches Werkstückkoordinatensystem wie bei Fanuc (WCS 5), sondern ein axialer Substitutions-Frame, der nur die Grobverschiebung des aktiven Nullpunkts überschreibt. Da verbleibende Werte im Frame-Stack nach Zyklusabbrüchen aktiv bleiben, müssen Bediener vor dem Neustart die aktuelle Verschiebung in der Steuerung verifizieren. Programmieren Sie vor jedem Werkzeugwechsel einen SUPA-Befehl, um alle aktiven Frames sicher zu unterdrücken.

Warum bricht die SINUMERIK-Steuerung bei der Ausführung von G58 mit Alarm 18312 ab?

Dieser Fehler tritt auf, wenn das Maschinendatum MD 24000 ($MC_FRAME_ADD_COMPONENTS) auf 0 konfiguriert ist, was die Verwendung von Feinverschiebungen im Frame blockiert. Wird dieser Parameter nicht verifiziert, liegt das Ergebnis außerhalb der Toleranz — und der Fehler zeigt sich erst bei der Endmessung. Wechseln Sie in die Maschinendaten, setzen Sie MD 24000 auf 1 und führen Sie einen Neustart durch, um die Feinversatz-Schichten freizugeben.

Wie kann man Maßabweichungen durch unabsichtlich aktive G58-Verschiebungen verhindern?

Wenn G58 ohne vorheriges Löschen aktiv bleibt, berechnen die Achsen den Verfahrweg ausgehend von einem verfälschten Nullpunkt, was Maßungenauigkeiten verursacht. Korrekte Konfiguration eliminiert die häufigste Ursache für Maßabweichungen bei diesem Befehl. Nutzen Sie das Programmierkommando TRANS ohne Achswerte (TRANS) am Programmanfang und Programmende, um alle programmierbaren Offsets wieder auf Null zurückzusetzen.

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 - 2008)
  • Ö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