Skip to main content
CNC.wiki

G56 Nullpunktverschiebung 3 an Siemens-Steuerungen programmieren

Mastern Sie die Siemens G56 Nullpunktverschiebung. Konfigurieren Sie Parameter wie MD28080 oder MD24000 und vermeiden Sie Alarm 18312 an Ihrer CNC-Maschine.

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

CNC CARE Mitgründer

Einleitung

Wenn ein NC-Programm mitten im Zyklus abgebrochen oder vor der Deaktivierung einer Nullpunktverschiebung zurückgesetzt wird, bleiben die aktiven Koordinatenverschiebungen im Steuerungsspeicher resident. Führt ein Bediener an einem Turret einen Werkzeugwechsel durch oder verfährt die Achsen, ohne diese Register zu bereinigen, führt das Fortsetzen des Automatikbetriebs dazu, dass der Turret auf einer unretraktierten Bahn verfährt. In diesem Szenario kann der Turret oder die Spindel das Werkzeug direkt in eine Clamp, eine Vise Jaw oder in die rotierenden Backen des Chucks rammen, was zu einer schweren Kollision führt. Wird dieser Parameter nicht verifiziert, liegt das Ergebnis außerhalb der Toleranz — und der Fehler zeigt sich erst bei der Endmessung. Die korrekte Konfiguration der G56 Nullpunktverschiebung auf Siemens-Steuerungen ist daher entscheidend für die Prozesssicherheit, um teure Kollisionen, Schäden an den Kugelumlaufspindeln der Achsen und unnötigen Ausschuss zu vermeiden.

Technische Übersicht

Technisches AttributSpezifikation
BefehlscodeG56
Modale GruppeGruppe 8 (Einstellbare Nullpunktverschiebungen) / Modal
Unterstützte MarkenSiemens (SINUMERIK)
Kritische ParameterMD 28080 $MC_MM_NUM_USER_FRAMES (Speicherallokation der Nullpunktverschiebungen)
MD 24000 $MC_FRAME_ADD_COMPONENTS (aktiviert die feine Nullpunktverschiebungskomponente)
HauptbedingungErfordert explizites Umschalten des Compilermodus (G291), um Verschiebungen programmatisch mit ISO G10-Befehlen zu schreiben. Der Versuch, axiale feine Nullpunktverschiebungen zu schreiben, wenn die Konfiguration für feine Nullpunktverschiebungen deaktiviert ist, löst Alarm 18312 aus.

Schnellleser

  • Einrichter müssen die aktiven Nullpunktverschiebungsregister vor einem Werkzeugwechsel auf dem Turret löschen, um unretraktierte Eilgangbewegungen zu verhindern.
  • Siemens-Steuerungen erfordern das Umschalten in den ISO-Dialektmodus via G291, um G10 L2 P3 Schreiboperationen für Verschiebungen auszuführen.
  • Das aktive Werkstückkoordinatensystem (WCS) wird durch die mathematische Addition von Grobverschiebung (coarse offset) und Feinverschiebung (fine offset) bestimmt.
  • Axiale feine Nullpunktverschiebungen sind nur verfügbar, wenn der Maschinendatenparameter MD 24000 auf 1 gesetzt ist.
  • Programmierte Arbeitsbereichsbegrenzungen (G25/G26 oder WALIMON/WALIMOF) sollten verwendet werden, um Schutzbereiche um Clamps und Vise Jaws zu definieren.
  • Nicht-modale Unterdrückungsbefehle wie G53 oder SUPA deaktivieren G56 vorübergehend, ohne die Nullpunktverschiebungsregister im Speicher zu löschen.

Grundlegende Konzepte

Die praktische Programmierung der G56 Nullpunktverschiebung auf Siemens-Steuerungen verschiebt den Ursprung des Programmkoordinatensystems vom absoluten Maschinennullpunkt (MCS) direkt zu einem lokalisierten Werkstücknullpunkt (WCS), was es Programmierern ermöglicht, Werkzeugwege relativ zur Werkstückgeometrie auszuwerten. Der tatsächliche Abstand zwischen dem Maschinennullpunkt und dem Werkstücknullpunkt hängt vollständig von der Werkstückart und der physischen Aufspannung ab. Bei Drehanwendungen wird diese Nullpunktverschiebung typischerweise eingetragen, um das Spanntoleranzspiel des Chucks zu kompensieren.

Für Bearbeitungszentrum-Anwendungen wird G56 angepasst, um den physischen Abstand vom Maschinennullpunkt zum Werkstücknullpunkt zu definieren, der direkt auf einer Clamp oder Vise Jaw liegt. Symmetrische Konturen oder Mehrfachaufspannungen können durch das Einrichten unabhängiger Koordinatenursprünge dynamisch bearbeitet werden. Beispielsweise können drei identische Werkstücke, die auf einer Palette angeordnet sind, nacheinander entsprechend den Nullpunktverschiebungen G54, G55 und G56 bearbeitet werden, während ein einziges Unterprogramm (wie L47) ausgeführt wird, was die Programmgröße drastisch reduziert.

Befehlsstruktur

Der G56-Befehl verschiebt die aktive Referenz auf die dritte einstellbare Nullpunktverschiebung. Dies ermöglicht es, nachfolgende Koordinaten vom Werkstücknullpunkt aus auszuwerten. Siemens verwendet einen zweisprachigen, umschaltbaren Compiler, um diese Verschiebung nativ oder über externe NC-Sprachstile zu handhaben.

Bei der Programmierung im nativen SINUMERIK-Modus (G290) wird G56 als eigenständiger Befehl aufgerufen, um die Nullpunktverschiebung zu aktivieren. Wenn dagegen älterer ISO-Code ausgeführt wird, muss zuerst G291 programmiert werden, bevor G10 Werte direkt in das Verschiebungsregister schreiben kann.

G56 ;
G90 G56 G00 X__ Y__ Z__ (D__) ;
G291 ;
G10 L2 P3 X__ Y__ Z__ ;
  • X, Y, Z: Absolute Zielkoordinaten, die vom G56-Nullpunkt aus ausgewertet werden.
  • D: Optionale Werkzeugschneiden-Korrektur (D1 bis D12 für Kompensation, D0 zum Aufheben).
  • L2: Kennung des Dateneingaberegisters für Werkstück-Nullpunktverschiebungen (nur im ISO-Modus).
  • P3: Wählt G56 (die dritte Werkstückverschiebung) als Ziel für G10-Daten (nur im ISO-Modus).

Markenanwendungen

Siemens

Siemens SINUMERIK-Steuerungen verarbeiten Werkstücknullpunktverschiebungen als dynamische Frames im Speicher. Die G56-Verschiebung fungiert als einstellbarer Basis-Frame. Programmierer konfigurieren die Speicherallokation und das Verhalten des Interpreters über Maschinendatenparameter wie MD 28080 und MD 24000.

Um G56 nativ auszuwählen, verwenden Sie G290 gefolgt von G56. Um G56-Verschiebungen programmatisch im ISO-Stil zu schreiben, verwenden Sie G291 gefolgt von G10 L2 P3.

Parameter / KomponenteFunktion und WertebereichBetriebliche Rolle
MD 28080 $MC_MM_NUM_USER_FRAMESGanzzahl (z. B. 6 bis 100)Definiert die Gesamtzahl der im Steuerungsspeicher allokierten, vom Benutzer einstellbaren Nullpunktverschiebungen (G54 bis G59, G505 bis G599).
MD 24000 $MC_FRAME_ADD_COMPONENTS0 (deaktiviert) oder 1 (aktiviert)Aktiviert die axiale feine Nullpunktverschiebungskomponente. Muss auf 1 gesetzt sein, um G59 zusammen mit G56 zu verwenden.
MD 20734 $MC_EXTERN_FUNCTION_MASKBit 13: 0 oder 1Erzwingt einen internen Vorlaufstop (STPPRE) während G10-Schreibvorgängen, um die Synchronisation mit dem Hauptlauf zu gewährleisten.
MD 18800 $MN_MM_EXTERN_LANGUAGE1 (aktiviert)Aktiviert den externen NC-Sprachinterpreter für ISO-Dialektmodi (G291).
MD 20150 $MC_GCODE_RESET_VALUES[18]Gruppe 8 Standardwert: 1 (G500)Bestimmt den standardmäßig aktiven G-Code-Wert der Gruppe 8 beim Einschalten (Power-On) oder Reset.

Warnung: Einrichter müssen überprüfen, dass die aktive Werkstücknullpunktverschiebung nicht von den physischen Werkstückkoordinaten abweicht. Wenn ein Programm-Reset mitten in der Bearbeitung erfolgt, bleibt G56 im Hintergrund aktiv, was beim Fortsetzen des Zyklus zu unerwarteten Werkzeugbewegungen und Schäden an der Spindel führen kann.

Markenvergleich

FunktionskategorieSINUMERIK 840D / 840D slSINUMERIK 828DSINUMERIK 808D / 802D sl
Steuerungsklasse & SchnittstellenHigh-End-Mehrkanalsystem. Unterstützt Widescreen-Multi-Touch-Panels, Sidescreen-Windows, ABC-Tastaturen und die Softwareoption „Collision avoidance“.Mittelklasse-Ein-/Zweikanalsystem. Unterstützt Standard-Bedienpanels und integrierte Zyklen ohne Widescreen-Sidescreens. Keine Option für Collision avoidance.Einstiegs-/Kompaktsteuerungen. Standard-Tastenbildschirme. Optionsparameter und Schlüsseleinstellungen (wie MD 10604) sind gesperrt und können nicht geändert werden.
Zuweisung der NullpunktverschiebungenVollständig konfigurierbar auf bis zu 100 User-Frames (G54 bis G59, G505 bis G599) über MD 28080. Vollständige Grob-/Feinverschiebungsstrukturen.Standard-Nullpunktverschiebungsspeicher (G54 bis G57 plus bis zu 4 Benutzerverschiebungen). Unterstützt standardmäßige feine Nullpunktverschiebungen.Feste Nullpunktverschiebungsklassen (Standard G54 bis G57). Gesperrte Maschinenparameter verhindern die Erweiterung der User-Frames.
Ausblendblock-Interpreter (Block Skip)Behandelt „/“ und „/1“ als völlig separate, unabhängige Ausblendebenen (Block Skip), die in den Kanälen konfiguriert werden.Behandelt „/“ und „/1“ als separate Ausblendebenen (Block Skip), die in der Steuerung separat aktiviert werden müssen.Einfache Block-Skip-Ausführung. Ältere ISO-Block-Skip-Ebenen werden direkt auf die Standard-Siemens-Ebenen abgebildet.

Technische Analyse

Jede einzelne Benutzer-Nullpunktverschiebung (G54 bis G599) besteht aus einer Grobverschiebung (coarse offset) und einer Feinverschiebung (fine offset), und Grob- und Feinverschiebung werden mathematisch addiert, um den aktiven Werkstücknullpunkt zu bestimmen. Bediener und Programmierer müssen bezüglich der Registrierung von Koordinatenverschiebungen und aktiven Grenzen während der Programmausführung absolute Wachsamkeit walten lassen. Wenn ein Bediener eine manuelle Nullpunkt-Voreinstellung vornimmt, die Achse manuell während einer aktiven Verschiebung bewegt oder einen Reset mit unvollständigen Achsargumenten ausführt, behalten die verbleibenden Achsen ihre verschobenen Werte bei.

Drei wesentliche programmiertechnische und architektonische Verhaltensweisen unterscheiden Siemens-Steuerungen bei der Handhabung von Nullpunktverschiebungen deutlich von Fanuc- und Mitsubishi-Steuerungen:

Erstens arbeitet Siemens mit einem zweisprachigen, umschaltbaren Compilermodell (G290/G291). Während Fanuc- und Mitsubishi-Steuerungen Koordinatenverschiebungen und Registerverschiebungen nativ innerhalb eines einzigen kontinuierlichen Programmablaufs interpretieren, erfordert Siemens vom Programmierer, den Compiler explizit über G291 in den ISO-Dialektmodus umzuschalten, um Blöcke mit älteren ISO-Stilen wie G10-Verschiebungen oder G56-Auswahlen zu übersetzen. Das Programm muss dann G290 anweisen, 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 Koordinatentransformationen als dynamische, modulare Komponenten eines „Frame“-Speicherstapels. G56 dient als einstellbarer Basis-Frame. Auf diesem G56-Basis-Frame können Programmierer programmierbare absolute Verschiebungen (TRANS/ROT/SCALE/MIRROR) oder additive Modifikatoren (ATRANS/AROT/ASCALE/AMIRROR) innerhalb desselben Programmierblocks dynamisch verketten. Diese Frames können global oder selektiv mit mehrstufigen Unterdrückungsbefehlen (G53, G153, SUPA, oder G500) in Abhängigkeit von den aktiven Parametern ausgeblendet werden, was eine weitaus größere Flexibilität bei der Programmierung bietet als die starre Registerauswahl bei Fanuc und Mitsubishi.

Drittens bildet Siemens ältere Block-Skip-Ebenen als separate, unabhängige Kanäle ab. Im Gegensatz zum ursprünglichen ISO-Dialekt, bei dem die Skip-Zeichen / und /1 genau dieselbe Ebene darstellen, behandelt Siemens / und /1 als separate Skip-Ebenen, die unabhängig voneinander aktiviert werden müssen. Wenn ein Bediener ein älteres Programm mit beiden Skip-Stilen auf einer Siemens-Steuerung ausführt, ohne diese Skip-Ebenen separat zu konfigurieren, werden möglicherweise Blöcke ausgeführt, die eigentlich übersprungen werden sollten, was zu unerwarteten Achsbewegungen und katastrophalen Kollisionen des Werkstücks führt.

Programmbeispiele

; Siemens Native- und ISO-Umschaltbeispiel für G56
G290                                          ; Schaltet den Compiler in den nativen Siemens SINUMERIK-Modus
G56 G17 G90 G00 X100.0 Y50.0 Z10.0 T1 D1      ; Wählt G56 Nullpunktverschiebung, XY-Ebene, absolute Eilgangpositionierung
TRANS X15.0 Y10.0                             ; Setzt absoluten programmierbaren Nullpunktverschiebung-Frame relativ zum aktiven G56 WCS
G291                                          ; Schaltet den Compiler in den ISO-Dialektmodus zum Parsen älterer Blöcke
G10 L2 P3 X-300.0 Y-150.0 Z-50.0              ; ISO-Dialekt: Schreibt Koordinaten programmatisch in die G56 (P3) Verschiebungsregister

Trockenlauf (dry run)

Während eines Trockenlaufs führt die Steuerung die Programmierblöcke wie folgt aus: Zuerst stellt G290 den Interpreter auf den nativen SINUMERIK-Modus ein. Als Nächstes verschiebt sich das aktive Koordinatensystem vom absoluten Maschinennullpunkt zum G56-Werkstückursprung und bewegt die Spindel im Eilgang auf X100.0 Y50.0 Z10.0 mit aktiver Werkzeuglängenkompensation (D1). Der TRANS-Block führt dann eine absolute Verschiebung von X15.0 und Y10.0 relativ zu G56 ein. Wenn G291 aktiviert wird, kompiliert die Steuerung im ISO-Dialektmodus und führt den G10 L2 P3-Block aus, um die G56-Register im Hintergrund mit X-300.0, Y-150.0 und Z-50.0 zu aktualisieren, ohne dass eine sofortige Achsbewegung erfolgt, bis der nächste Aufruf der Nullpunktverschiebung erfolgt.

Fehleranalyse

AlarmcodeAuslösebedingungBediener-SymptomFehlerursache / Behebung
Siemens-Alarm 18312Das Programm versucht, eine axiale Nullpunktverschiebung über G59 mit G56 zu schreiben oder auszuführen, während MD 24000 auf 0 steht.Die Maschinenausführung stoppt mit einer Fehlermeldung, die besagt, dass die feine Nullpunktverschiebung nicht konfiguriert ist.Setzen Sie den Maschinendatenparameter MD 24000 $MC_FRAME_ADD_COMPONENTS = 1, um die Addition der feinen Verschiebungen im Speicher zu aktivieren.
Siemens-Alarm 14800Eine lineare Vorschubbewegung (G01) wird nach der G56-Auswahl ohne programmierten Bahnvorschub (F) oder aktive feste Vorschübe ausgeführt.Die CNC-Bewegung stoppt sofort am G01-Block mit einem Alarm wegen einer Bahngeschwindigkeit von Null.Programmieren Sie ein Vorschubwort (F) vor oder innerhalb des G01-Blocks, oder aktivieren Sie die Funktion „Feste Vorschübe“ in den Steuerungseinstellungen.
Siemens-Alarm 61800Der Compiler versucht, in den ISO-Dialektmodus (G291) zu wechseln, während der externe NC-Sprachinterpreter MD 18800 deaktiviert ist.Ein Systemfehler stoppt die Ausführung sofort beim Lesen von G291, was das Kompilieren von älteren G-Code-Blöcken verhindert.Konfigurieren Sie MD 18800 $MN_MM_EXTERN_LANGUAGE = 1 oder überprüfen Sie das Vorhandensein des Optionsbits 19800 auf der Steuerung.
Siemens-Alarm 12080Vom Interpreter analysierter Syntaxfehler, wie z. B. die Ausführung von ISO-G10-Befehlen im nativen Modus (G290) oder die Verwendung einer ungültigen Syntax für das Ausblenden von Blöcken (Block Skip).Der Bildschirm zeigt einen Syntaxfehler an, der den nicht erkannten Block- oder Befehlsnamen auflistet.Stellen Sie sicher, dass G291 aktiv ist, bevor Sie G10-Befehle ausgeben, und überprüfen Sie die Syntaxstruktur anhand der SINUMERIK-Formatierungsrichtlinien.

Anwendungshinweis

Eine unzureichende Konfiguration der Nullpunkt-Parameter auf Siemens-Systemen führt unmittelbar zu ungeplanten Maschinenstopps oder schweren mechanischen Schäden. Wenn ein Programm versucht, eine axiale Nullpunktverschiebung über G59 in Kombination mit G56 auszuführen, während der Maschinendatenparameter MD 24000 auf 0 konfiguriert ist, stoppt die Steuerung die Achsbewegung sofort und gibt den Alarm 18312 aus. Um dieses Risiko zu eliminieren, muss MD 24000 auf 1 gesetzt werden, um feine Verschiebungsadditionen im Speicher zuzulassen. Zudem muss MD 20734 Bit 13 auf 1 gesetzt werden, was einen internen Vorlaufstop (STPPRE) während G10-Schreibvorgängen erzwingt und die sofortige Synchronisation der G56-Registerwerte im Hauptlauf sicherstellt. Korrekte Konfiguration eliminiert die häufigste Ursache für Maßabweichungen bei diesem Befehl. Ohne diese Verifizierung verfährt der Turret auf unkontrollierten Bahnen und kollidiert mit der Vise Jaw, dem Chuck oder der Clamp, was zu irreparablen Bauteilschäden und Ausschuss führt.

Verwandte Befehle

  • G53 / G153 / SUPA: Unterdrückt die aktiven Koordinaten-Frames und einstellbaren Nullpunktverschiebungen (wie G56) auf verschiedenen Ebenen, ohne sie dauerhaft zu deaktivieren.
  • G54 bis G57 (einschließlich der zweiten einstellbaren Nullpunktverschiebung G55) und G505 bis G599: Standardmäßige einstellbare Nullpunktverschiebungen 1 bis 99, die zur Definition lokalisierter Werkstückkoordinatensysteme verwendet werden.
  • G500: Deaktiviert alle aktiven einstellbaren User-Frames (G54 bis G599) und stellt den Standard-Null-Frame wieder her.
  • TRANS / ATRANS: Formuliert absolute und additive Nullpunktverschiebungstranslationen, die das aktive WCS relativ zur G56-Basisverschiebung verschieben.
  • G58 / G59: Schreibt absolute und additive axiale Nullpunktverschiebungen, um aktive Translationskomponenten zu ersetzen oder zu modifizieren.
  • G290 / G291: Schaltet den zweisprachigen Compiler zwischen dem nativen Siemens-Modus und dem externen ISO-Dialektmodus um.

Fazit

Die präzise Implementierung der G56 Nullpunktverschiebung bildet das Fundament für die Einhaltung enger Fertigungstoleranzen auf Siemens-Steuerungen. Zur Gewährleistung maximaler Prozesssicherheit müssen Einrichter vor dem Start des Automatikbetriebs die Registerzustände verifizieren und nach unvorhergesehenen Programmabbrüchen explizit bereinigen. Durch die zusätzliche Einrichtung von Arbeitsbereichsbegrenzungen (G25/G26 oder WALIMON/WALIMOF) lässt sich das Kollisionsrisiko des Turrets mit Vise Jaws oder Clamps minimieren, was die Entstehung von Ausschuss zuverlässig verhindert.

Häufig gestellte Fragen (FAQ)

Wie verhindere ich Maßabweichungen durch unabsichtlich aktive G56 Nullpunktverschiebungen?

Um sicherzustellen, dass keine Restverschiebungen im Hintergrund aktiv bleiben, sollte standardmäßig am Programmstart G500 aufgerufen werden, um alle einstellbaren User-Frames zu deaktivieren. Zusätzlich kann über die Maschinendaten MD 20150 konfiguriert werden, dass die Steuerung bei jedem Reset automatisch in den G500-Zustand zurückkehrt. Richten Sie MD 20150 $MC_GCODE_RESET_VALUES[18] = 1 ein, um diese automatische Rückstellung zu erzwingen.

Warum führt die Programmierung von TRANS nach einer G56-Aktivierung zu einer Toleranzüberschreitung?

Der absolute TRANS-Befehl ist eine substituierende Anweisung, die alle zuvor im Programm aktiven programmierbaren Transformationen (wie AROT oder AMIRROR) überschreibt und löscht, wodurch Koordinaten unerwartet verschoben werden. Wenn Sie bestehende Rotationen oder Spiegelungen beibehalten und nur eine zusätzliche Verschiebung hinzufügen möchten, müssen Sie stattdessen den additiven Befehl ATRANS verwenden. Programmieren Sie ATRANS, um bestehende Frames auf dem G56-Basis-Frame additiv zu verketten, ohne andere Transformationen zu löschen.

Wie wird die feine Nullpunktverschiebung für G56 auf Siemens-Steuerungen freigeschaltet?

Die Nutzung einer additiven Feinverschiebung (G59) in Kombination mit G56 erfordert die Aktivierung der Maschinendaten für additive Rahmenkomponenten. Wenn dieser Parameter deaktiviert ist, blockiert die Steuerung jegliche Feinwertänderung und bricht mit einem Achsfehler ab, was die Prozesssicherheit gefährdet. Setzen Sie den Parameter MD 24000 $MC_FRAME_ADD_COMPONENTS auf 1 und führen Sie anschließend einen Steuerungs-Reset (Power-On) durch, um axiale Feinverschiebungen im Speicher freizuschalten.

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