Skip to main content
CNC.wiki

G59 Feinverschiebung auf Siemens CNCs prozesssicher einrichten

Erfahren Sie, wie Sie das additive Feinverschiebungsregister G59 auf Siemens SINUMERIK programmieren, MD 24000 konfigurieren und Alarm 18312 vermeiden.

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

CNC CARE Mitgründer

Einleitung

Eine fehlerhaft registrierte Nullpunktverschiebung oder eine unvorhergesehene Abweichung während des Werkzeugwechsels am Revolver führt dazu, dass das Schneidwerkzeug oder die Spindel unkontrolliert in eine Spannpratze, eine Schraubstockbacke der Vorrichtung oder die rotierenden Backen eines Spindelfutters fährt. Führt der Bediener automatische Bearbeitungszyklen ohne vorherige Überprüfung der Nullpunktregister aus, verursacht selbst ein minimaler Versatz im Submillimeterbereich eine harte Kollision. Die Folgen sind ein zertrümmertes Werkzeug, beschädigte Achsführungen, die Auslösung schwerwiegender Überlastungsalarme der Spindel oder Achsen und ein ruiniertes Werkstück, das direkt als Ausschuss ausgesondert werden muss. Zur Beseitigung dieser physischen Risiken auf Siemens-Steuerungen dient die axiale programmierbare Nullpunktverschiebung G59 als additive Feinverschiebungskomponente, um Werkstückursprünge prozesssicher einzurichten.

Korrekte Konfiguration eliminiert die häufigste Ursache für Maßabweichungen bei diesem Befehl. Wird dieser Parameter nicht verifiziert, liegt das Ergebnis außerhalb der Toleranz — und der Fehler zeigt sich erst bei der Endmessung. Um Maßabweichungen und eine folgenschwere Toleranzüberschreitung im automatischen Betrieb sicher auszuschließen, müssen CNC-Programmierer und Einrichter die steuerungsspezifischen Parameter präzise einstellen und die Koordinatensysteme verifizieren.

Technische Übersicht

Technisches MerkmalSpezifikation
BefehlscodeG59
Modal-GruppeGruppe 3 (Programmierbare Frames, Arbeitsbereichsbegrenzungen und Polprogrammierung)
Unterstützte MarkenSiemens
Kritische ParameterMD 24000 $MC_FRAME_ADD_COMPONENTS, MD 28080 $MC_NUM_USER_FRAMES
HauptbeschränkungMuss im nativen Modus in einem separaten Block programmiert werden; MD 24000 muss auf 1 gesetzt sein.

Schnellleser

  • Setzen Sie MD 24000 $MC_FRAME_ADD_COMPONENTS auf 1, um die Feinverschiebungskomponenten zu aktivieren und Steuerungssperren zu vermeiden.
  • Programmieren Sie G59 in einem separaten Block ohne Geometrieverfahrbefehle, um Syntax- und Ausführungsfehler zu verhindern.
  • Schalten Sie den Compiler über G291 in den ISO-Dialekt-Modus um, wenn Sie programmierbare G10-Offsetaktualisierungen ausführen.
  • Verwenden Sie G290, um in den nativen Siemens-Modus zurückschalten, um fortgeschrittene parametrische Frames zu verarbeiten.
  • Nutzen Sie die Arbeitsbereichsbegrenzungen G25/G26, um aktive Schutzzonen um den Revolver und die Spindel zu definieren.
  • Verifizieren Sie, dass der aktive Schneidenkorrekturwert (D-Code) die Kompensationen bei Übergängen dynamisch neu berechnet.

Grundlegende Konzepte

Die praktische Programmierung der G59-Nullpunktverschiebung auf Siemens-Steuerungen etabliert eine äußerst vielseitige, mehrstufige Koordinatentranslationsstruktur. Bei der Ausführung im nativen SINUMERIK-Modus (G290) fungiert G59 als axiale programmierbare additive Nullpunktverschiebung. Sie verändert nur die additive feine Translationskomponente (Feinverschiebung) des aktuell aktiven programmierbaren Frames auf einer bestimmten Achse, während die absolute/grobe Translationskomponente (TRANS oder G58) intakt bleibt. Dies ermöglicht es Programmierern, sub-millimetrische, fein abgestimmte Anpassungen an Werkstückkoordinaten-Nullpunkten auf einer Palette oder einem Mehrfach-Aufspannungs-Setup vorzunehmen — wie beispielsweise das Ausgleichen von Gussabweichungen oder Werkzeugverschleiß —, ohne das zugrunde liegende absolute Koordinatensystem zu verändern oder neu zu definieren.

Bediener und Programmierer müssen verstehen, dass jeder Siemens-Anwender-Frame aus einer Grobverschiebung (coarse offset) und einer Feinverschiebung (fine offset) besteht, die mathematisch addiert werden, um das aktive Werkstückkoordinatensystem zu bestimmen. Vor dem Start automatischer Bearbeitungszyklen muss der Bediener das Rohteil physisch ausrichten und diese Maße präzise in den Registern der Nullpunktverschiebung registrieren. Beim Drehen definiert die Nullpunktverschiebung das Spannen in einem Chuck. Beim Fräsen repräsentiert der Offset den physischen Abstand vom Maschinennullpunkt zum Werkstücknullpunkt, der sich auf einer Spannvorrichtung (clamp) oder einer Schraubstockbacke (vise jaw) befindet. Während Übergängen des Koordinatensystems berechnen aktive Schneidenkorrekturen (D-Codes) die aktiven Offsets dynamisch neu, ohne sie zu deaktivieren.

Befehlsstruktur

Um die axiale programmierbare Nullpunktverschiebung im nativen SINUMERIK-Modus auszuwählen, muss G59 in einem separaten NC-Satz befohlen werden. Die Anweisung ersetzt die Feinverschiebungswerte der angegebenen Achsen modal. Sie arbeitet im aktiven Werkstückkoordinatensystem, das durch einstellbare Anwender-Frames festgelegt ist.

Im Gegensatz dazu wählt G59, wenn die Steuerung im ISO-Dialekt-Modus arbeitet, das sechste Standard-Werkstückkoordinatensystem aus. Falls Koordinatenversatzwerte programmatisch innerhalb des NC-Programms im ISO-Modus aktualisiert werden müssen, wird die Anweisung zur programmierbaren Dateneingabe G10 verwendet. Schalten Sie die Compilermodi mit G290 und G291 um, um diese unterschiedlichen Syntaxformate zu verarbeiten.

Syntax im nativen Siemens-Modus:

G59 X_ Y_ Z_ A_ ;

Syntax im ISO-Dialekt-Modus:

G10 L2 P6 X_ Y_ Z_ ;

Parameter und Adressen:

  • X, Y, Z, A: Koordinatenwerte, die den axialen Offset spezifizieren. Im nativen Modus ersetzen diese Werte die additiven Feinverschiebungskomponenten.
  • L2: Spezifiziert die Dateneingabe für Werkstückkoordinatensystem-Offsets im ISO-Dialekt-Modus.
  • P6: Identifiziert G59 (Werkstückkoordinatensystem 6) als Zielregister für G10.

Markenanwendungen

Siemens

Siemens SINUMERIK-Steuerungen konfigurieren die axiale programmierbare additive G59-Nullpunktverschiebung innerhalb des aktiven Kanals unter Verwendung spezifischer Maschinenparameter. Das Verhalten der Feinverschiebung wird durch das Maschinendatum MD 24000 geregelt, das auf 1 gesetzt sein muss. Die Gesamtzahl der benutzerdefinierbaren Frames wird durch MD 28080 definiert, um Speicherbelegungen zu konfigurieren.

Der Befehl muss im nativen Modus in einem separaten Block programmiert werden, wie z. B. G59 X10.0 Y10.0 ;. Im ISO-Dialekt-Modus wird G59 unter Verwendung von G10 programmatisch ausgewählt oder aktualisiert, wie z. B. G10 L2 P6 X150.0 Y100.0 ;.

  • MD 24000 $MC_FRAME_ADD_COMPONENTS: Rahmenfeinverschiebung aktiv. Muss auf 1 gesetzt sein, um Feinverschiebungskomponenten zu aktivieren.
  • MD 28080 $MC_NUM_USER_FRAMES: Anzahl der Nullpunktverschiebungen. Konfiguriert die Gesamtzahl der einstellbaren Anwender-Frames.
  • MD 20150 $MC_GCODE_RESET_VALUES: Bestimmt die Reset-Position der G-Gruppen.
  • MD 18800 $MN_MM_EXTERN_LANGUAGE: Aktivierung externer NC-Sprachen (ISO-Dialekt). Muss auf 1 gesetzt sein.
  • Alarm 18312: Feinverschiebung nicht konfiguriert. Versuch, G59 zu programmieren, während MD 24000 auf 0 steht.
  • Alarm 14800: Die programmierte Bahngeschwindigkeit ist kleiner oder gleich null. Vorschub F ist 0.
  • Alarm 12080: Syntaxfehler. Nicht erkannter Befehl (z. B. natives Siemens G500 im ISO-Modus).
  • Alarm 14060: Unzulässige Ausblendebene für differentiellen Satzsuchlauf. Wert < 1 oder > 9.
  • SINUMERIK ISO-Dialekt Versionsunterschied: Bimodale Ausblendebenen (/ und /1) sind separate Ausblendebenen, anders als im nativen ISO.
  • SINUMERIK 840D sl vs. 802D sl Versionsunterschied: Befehle der Gruppe 20, G51.2 (Mehrkantschneiden EIN) und G50.2 (Mehrkantschneiden AUS), sind nur auf der 840D sl verfügbar.

Warnung: Bediener dürfen axiale Feinverschiebungen nicht programmieren, solange MD 24000 nicht aktiviert ist, da dies den Alarm 18312 auslöst und die Maschine während der Ausführung stoppt.

Markenvergleich

SteuerungsmerkmalSINUMERIK 840D sl / ONESINUMERIK 828DSINUMERIK 802D sl
Frame-Stack & FeinverschiebungenUnterstützt vollständige grobe und feine Verschiebungsebenen im Stack. Feinverschiebungen werden über MD 24000 aktiviert.Unterstützt standardmäßige grobe und feine Verschiebungsebenen über MD 24000.Vereinfachte Frame-Stacks. Keine fortgeschrittenen Optionen für Feinverschiebungen; MD 24000 ist in der Regel gesperrt oder inaktiv.
Anwender-Offsetspeicher (MD 28080)Konfigurierbar auf bis zu 100 global einstellbare Anwender-Frames (G54 bis G57, G505 bis G599).Unterstützt standardmäßig einstellbare Anwender-Frames (G54 bis G57, G505 bis G599) mit vordefinierten Speicherbegrenzungen.Eingeschränkte Nullpunktverschiebungsregister. Keine umfassende Zuweisung von benutzerdefinierten Frames.
Compiler & SprachumschaltungVollständige zweisprachige Compiler-Umschaltung (G290/G291) mit fortgeschrittener externer Dialekt-Kompilierung.Unterstützt zweisprachigen G290/G291-Modus für die standardmäßige Ausführung von Legacy-G-Codes.Einfacher Interpreter-Modus. Keine fortgeschrittenen zweisprachigen Kompilierungen und keine Befehle der Gruppe 20 für das Mehrkantschneiden (G51.2/G50.2).

Technische Analyse

Die Architektur von Siemens-Steuerungen verwaltet Nullpunktverschiebungen als dynamische, modulare Komponenten eines mehrstufigen Frame-Speicherstacks. Im Gegensatz zu Steuerungen mit Einzelregistern, die Nullpunktverschiebungen als monolithische Positionen behandeln, teilt SINUMERIK die Translationen in grobe (coarse) und feine (fine) Stack-Ebenen auf. Im nativen Modus wird G59 als programmierbare achsspezifische additive Feinverschiebungskomponente der G-Gruppe 3 behandelt. Sie arbeitet in Verbindung mit G58 (axiale programmierbare absolute Grobverschiebung), um nur die additive feine Translationskomponente des aktuell aktiven programmierbaren Frames auf einer bestimmten Achse zu modifizieren, während die absolute/grobe Translationskomponente unberührt bleibt. Dies ermöglicht es Programmierern, präzise Mikroeinstellungen vorzunehmen, ohne das zugrunde liegende absolute Koordinatensystem neu definieren zu müssen.

Um verschiedene Dialekte zu parsen, arbeitet Siemens mit einem zweisprachig umschaltbaren Compiler-Modell (G290/G291). Der Programmierer muss den Compiler explizit über G291 in den ISO-Dialekt-Modus schalten, um Sätze zu kompilieren, die ältere ISO-Stile enthalten, wie z. B. G10-Offseteingaben oder G59-Koordinatensystemauswahlen. Das Programm muss dann G290 befehlen, um in den nativen SINUMERIK-Modus zurückzukehren, um fortgeschrittene parametrische Frames (TRANS/ROT/SCALE/MIRROR) und native Nullpunktverschiebungen zu verarbeiten. Siemens verfügt über einen speziellen absoluten Unterdrückungsbefehl, SUPA. Wenn SUPA programmiert wird, unterdrückt er alle aktiven Nullpunktverschiebungen, programmierten Verschiebungen, Basisverschiebungen und Handradverschiebungen, um die Achsen sicher auf den Maschinenkoordinaten-Nullpunkt zurückzuziehen.

Programmbeispiele

G290 ; Schaltet den Compiler in den nativen Siemens-SINUMERIK-Modus um
N50 TRANS X10.0 Y10.0 Z10.0 ; Setzt die absoluten groben Translationskomponenten
N60 G58 X20.0 ; Ersetzt den absoluten groben Offset der X-Achse durch 20.0
N70 G59 X10.0 Y10.0 ; Ersetzt die additiven feinen Offsetkomponenten der X- und Y-Achse durch 10.0
N80 G291 ; Schaltet den Compiler in den ISO-Dialekt-Modus um
N90 G10 L2 P6 X150.0 Y100.0 ; ISO-Dialekt: Aktualisiert den G59-Werkstückkoordinatensystem-Offset
N100 G290 ; Schaltet zurück in den nativen Siemens-Modus
N110 SUPA G00 Z0 D0 M5 ; Unterdrückt aktive Nullpunktverschiebungen, um die Z-Achse sicher zurückzuziehen

Trockenlauf (dry run)

Während eines Trockenlaufs (dry run) des Programms führt die Steuerung zuerst den G290-Befehl aus, um den aktiven Compiler auf den nativen Siemens-SINUMERIK-Modus einzustellen. Satz N50 wendet TRANS an, um die absoluten groben Translationskomponenten auf den Achsen X, Y und Z auf 10.0 mm festzulegen. Als nächstes führt Satz N60 G58 aus, um den absoluten groben Offset auf der X-Achse durch 20.0 mm zu ersetzen, während die groben Translationen für Y und Z bei 10.0 mm verbleiben. Satz N70 führt G59 aus, um die programmierbaren additiven feinen Verschiebungskomponenten auf den Achsen X und Y durch 10.0 mm zu ersetzen. Die Steuerung wechselt dann in Satz N80 über G291 in den ISO-Dialekt-Modus. In Satz N90 aktualisiert G10 L2 P6 das G59-WCS-Offsetregister im Speicher. Schließlich wechselt Satz N100 zurück in den nativen Modus, und Satz N110 befiehlt SUPA, alle aktiven Nullpunktverschiebungen und Werkzeugkorrekturen zu unterdrücken, wodurch die Z-Achse sicher zurück auf den physischen Maschinenkoordinaten-Nullpunkt gefahren wird.

Fehleranalyse

AlarmcodeAuslösebedingungBediener-SymptomAbhilfe / Behebung
Alarm 18312Versuch, die G59- oder G58-Feinverschiebungskomponente zu programmieren, während der Maschinendatenparameter MD 24000 auf 0 gesetzt ist.Der Interpreter stoppt die Satzausführung und zeigt einen Konfigurationsfehler der Feinverschiebung an.Konfigurieren Sie MD 24000 = 1 in den Maschinendaten, um Feinverschiebungen zu aktivieren.
Alarm 14800Versuch eines Achsverfahrwegs nach G59-Nullpunktverschiebungsänderungen, wenn der Bahnvorschub F null ist.Die Achsbewegung stoppt sofort mit einer Warnung über eine Bahngeschwindigkeit von null.Programmieren Sie einen gültigen Vorschub F oder aktivieren Sie feste Vorschübe.
Alarm 12080Befehlen von ISO-G10-Offsetaktualisierungen, während sich der Compiler im nativen Siemens-Modus (G290) befindet.Der Programmsuchlauf stoppt und meldet einen Syntaxfehler wegen eines nicht erkannten Befehls.Fügen Sie vor dem G10-Block einen G291-Befehl ein, um den ISO-Compiler zu aktivieren.

Anwendungshinweis

Ein schwerer Maschinencrash mit Werkzeugbruch und bleibenden Geometrieschäden an den Achsführungen droht, wenn die Feinverschiebung auf einer SINUMERIK-Steuerung aufgerufen wird, während das Maschinendatum MD 24000 ($MC_FRAME_ADD_COMPONENTS) auf 0 konfiguriert ist. In diesem Zustand blockiert der NC-Kernel die Ausführung mit Alarm 18312, was die Bahnplanung unvollständig unterbricht und bei verbleibendem Restweg zum Aufprall des Revolvers auf das Spindelfutter führen kann. Um solche Störungen zu verhindern, müssen Einrichter vor dem Einfahren die Maschinenparameter manuell prüfen und MD 24000 auf 1 setzen. Programmierer sollten zudem die Arbeitsbereichsbegrenzungen G25/G26 nutzen, um physische Schutzräume um Spannpratzen und Schraubstockbacken zu legen. Zur Vermeidung von Vorschub-Ausfällen (Alarm 14800) ist es zwingend erforderlich, vor der Bewegung einen gültigen Vorschub F zu befehlen. Zur Absicherung des Programms empfiehlt sich ein strukturierter Trockenlauf, bei dem auch das Umschalten zwischen dem nativen Modus (G290) und dem ISO-Dialekt (G291) mit G10-Befehlen genau überwacht wird, um folgenschwere Syntaxfehler (Alarm 12080) auszuschließen.

Verwandte Befehle

  • G58: Axiale programmierbare absolute Nullpunktverschiebung, die als grobe Verschiebungskomponente neben den G59-Feinverschiebungen fungiert.
  • G57: Einstellbare Nullpunktverschiebung 4, die das Basiskoordinatensystem definiert, bevor programmierbare Offsets angewendet werden.
  • G53: Nicht-modaler Befehl zur Frame-Unterdrückung, der verwendet wird, um programmierbare und einstellbare Offsets für eine sichere Positionierung im Maschinenkoordinatensystem vorübergehend zu deaktivieren.
  • TRANS / ATRANS: Ersetzende absolute und additive Nullpunktverschiebungs-Frames, die neue temporäre Koordinatenursprünge definieren.
  • G290 / G291: Zweisprachige Compilerbefehle, mit denen die Steuerung zwischen dem nativen SINUMERIK-Modus und dem älteren ISO-Dialekt-Modus umgeschaltet wird.

Fazit

Die Aktivierung des Parameters MD 24000 auf den Wert 1 und das separate Programmieren des Befehls G59 im NC-Satz sind zwingende Voraussetzungen für eine präzise additive Nullpunktverschiebung. Vor jedem automatischen Programmstart müssen Einrichter und Bediener die aktiven Grob- und Feinverschiebungsebenen im Frame-Stack überprüfen und mit einem Kantentaster manuell abgleichen. Das zusätzliche Aktivieren der Arbeitsbereichsbegrenzungen über G25/G26 bietet eine verlässliche Schutzbarriere, um Achsbewegungen bei Toleranzüberschreitungen oder Eingabefehlern vor einer physischen Kollision zu stoppen. Korrekte Konfiguration eliminiert die häufigste Ursache für Maßabweichungen bei diesem Befehl. Wird dieser Parameter nicht verifiziert, liegt das Ergebnis außerhalb der Toleranz — und der Fehler zeigt sich erst bei der Endmessung. Ein kontrollierter Nullpunktabgleich sichert die Maßhaltigkeit der Bauteile und minimiert das Risiko von teurem Ausschuss in der Serienfertigung.

Häufig gestellte Fragen (FAQ)

Wie wird die additive G59-Feinverschiebung auf Siemens-Steuerungen zur prozesssicheren Maßkorrektur angewendet?

Die G59-Feinverschiebung ermöglicht mikro-genaue Anpassungen der Werkstückursprünge auf einzelnen Achsen, um beispielsweise thermische Ausdehnungen oder Werkzeugträger-Verschiebungen während des Betriebs auszugleichen. Da der grobe WCS-Bezugspunkt (z. B. G54) unverändert bleibt, kann die Maßkorrektur flexibel vorgenommen werden, ohne das gesamte Setup neu einzumessen. Aktion: Schreiben Sie für Korrekturen im Mikrometerbereich Werte direkt in das Feinverschiebungsregister der Z-Achse, anstatt die G54-Nullpunkttabelle manuell zu editieren.

Warum stoppt die SINUMERIK-Steuerung mit Alarm 18312 beim Aufruf von G59 und wie wird dies behoben?

Der Alarm 18312 signalisiert, dass der Programmierer versucht, die additive Feinverschiebung G59 zu nutzen, während die dafür erforderlichen Kanalspeicher-Komponenten in der Steuerung deaktiviert sind. Dies liegt typischerweise daran, dass das Maschinendatum MD 24000 auf 0 gesetzt ist. Aktion: Navigieren Sie in den Maschinendaten zu MD 24000 ($MC_FRAME_ADD_COMPONENTS), ändern Sie den Wert auf 1, führen Sie einen Neustart (PO-Reset) der Steuerung durch und verifizieren Sie den Parameterzustand.

Wie lässt sich eine Kollision mit Spannvorrichtungen bei der Verwendung von G59 im ISO-Dialekt-Modus (G291) vermeiden?

Im ISO-Dialekt-Modus (G291) fungiert G59 nicht als Feinverschiebung, sondern wählt das sechste Werkstückkoordinatensystem (WCS 6) aus. Wird dies mit einer programmierbaren G10-Eingabe (z. B. G10 L2 P6) kombiniert, müssen die geänderten Werte sofort in den Interpolator geladen werden, da veraltete Pufferwerte zu unkontrollierten Fahrwegen führen. Aktion: Fügen Sie unmittelbar nach dem G10-Block einen Preprozessorstopp (STPPRE) oder einen Compilerwechsel mit G290 ein, um sicherzustellen, dass die Steuerung die neuen Koordinaten vor der nächsten Verfahrbewegung physisch lädt.

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