Dies ist das Handbuch zu Studio 1.1.0, einer früheren Version. Das Handbuch der neuesten Version

Dokumentation 1.1.0 Technisches Handbuch

G-Code und M-Code

Twinwrights eigener Kernel führt den unten stehenden G-Code aus. Die Codes folgen RS274/NGC und LinuxCNC. Ein Code, den der Kernel nicht unterstützt, wird mit error:20 beantwortet, und der Satz bewirkt nichts.

Zu den Echtzeitbefehlen (einzelne Bytes wie ?, ! und ~) siehe Protokoll. Wie sich der Kernel von anderen Grbl-Steuerungen unterscheidet, steht in Twinwrights eigener Kernel.

G-Code

CodeBedeutungHinweise
G0, G1Eilgang, lineare Vorschubbewegung
G2, G3Kreisbogen im Uhrzeigersinn, gegen den Uhrzeigersinn (I J K oder R), HelixDas Werkzeug folgt dem exakten Kreis. Ein Kreisbogen in R-Form ohne Sehne in seiner Ebene wird mit error:33 beantwortet.
G4 PVerweilzeit, P SekundenDie Verweilzeit dauert so lange wie programmiert.
G5, G5.1Kubischer Spline, quadratischer SplineEin G5 ohne I und J setzt in der Richtung fort, in der die vorige Bewegung endete.
G7, G8Durchmessermodus beim Drehen, RadiusmodusNur im Drehmodus ($32=2).
G10 L2, G10 L20Eine Nullpunktverschiebung setzen
G10 L1, G10 L10, G10 L11Die Werkzeugtabelle setzen32 Werkzeuge. Die Tabelle bleibt erhalten, wenn die Steuerung ausgeschaltet ist.
G17, G18, G19Ebene wählen
G20, G21Einheit Zoll, Einheit Millimeter
G28, G30Eine gespeicherte Position über einen Zwischenpunkt anfahren
G28.1, G30.1Die aktuelle Position speichern
G33, G33.1, G76Spindelsynchrone Bewegung, starres Gewindebohren, GewindeschneidzyklusDiese brauchen einen Spindelencoder. Die MC-1 hat keinen, daher werden sie mit error:20 beantwortet.
G38.2–G38.5AntastenDas Ergebnis ist der Punkt, an dem der Messtaster ausgelöst hat, gemeldet als [PRB:]. Setzen Sie den Nullpunkt auf Grundlage dieses Punktes, nicht der Stelle, an der die Achsen angehalten haben.
G40Fräserradiuskorrektur aus
G41, G42, G41.1, G42.1Fräserradiuskorrektur: D aus der Werkzeugtabelle oder .1 mit einem DurchmesserNur in der Ebene G17. Ein- und Ausfahrbewegungen wie in LinuxCNC. Eine Bewegung, die einen Überschnitt verursachen würde, wird abgelehnt.
G43 Hn, G43.2 HnWerkzeuglängenkorrektur aus der Werkzeugtabelle, zusätzliche Korrektur
G43.1Dynamische Werkzeuglängenkorrektur
G49Werkzeuglängenkorrektur aus
G50, G51Skalierung aus, ein
G52Lokales KoordinatensystemTeilt seine Verschiebung mit G92, wie in LinuxCNC.
G53Maschinenkoordinaten für diesen Satz
G54–G59, G59.1–G59.3Werkstückkoordinatensysteme$486 kann G59.1–G59.3 sperren.
G61Exakte Bahn
G61.1GenauhaltDie Achsen halten am Ende jeder programmierten Bewegung an.
G64 P QBahnverschleifungWo es Zeit spart, wird die Ecke zwischen zwei geraden Bewegungen zu einem Bogen innerhalb des Abstands P von der Ecke. Q wird akzeptiert und nicht verwendet.
G65 P1–P6Eingebaute MakrosEinstellungen, Werkzeugkorrekturen, Parameter, Maschinenzustand, Wahl des Messtasters, Warten auf die Spindel. P7 (Modbus-Nachrichten) wird nicht unterstützt.
G65 P100 und höher, G66, G66.1, G67Dateimakros, modale MakroaufrufeP muss eine ganze Zahl sein. Kein anderer Befehl darf im selben Satz stehen (error:21).
G73, G81, G82, G83Bohrzyklen, Tieflochbohren mit EntspanenJede Bohrung erhält die Bohrschritte, die sie braucht.
G84, G85, G86, G89Gewindebohr- und Ausbohrzyklen
G80Zyklus aus
G90, G91Absolute Maße, inkrementelle Maße
G91.1Inkrementelle Bogenmittelpunkte
G92, G92.1, G92.2, G92.3Koordinatenverschiebung: setzen, löschen, aussetzen, wiederherstellen
G93, G94, G95Inverse Zeit, Einheiten pro Minute, Einheiten pro UmdrehungKreisbögen in inverser Zeit benötigen die programmierte Zeit.
G96, G97Konstante Schnittgeschwindigkeit, konstante SpindeldrehzahlNur im Drehmodus.
G98, G99Zyklusrückzug auf die Starthöhe, auf die R-Ebene

Diese G-Codes werden nicht unterstützt (error:20):

  • G5.2, G5.3 (NURBS);
  • G17.1–G19.1 (UVW-Ebenen);
  • G70–G72 (Drehzyklen);
  • G90.1.

M-Code

CodeBedeutungHinweise
M0, M1Programmpause, wahlweiser HaltDer Echtzeitbefehl 0x88 schaltet den wahlweisen Halt (M1) ein oder aus.
M2, M30Programmende
M3, M4, M5Spindel im Uhrzeigersinn, gegen den Uhrzeigersinn, aus
M6Werkzeugwechsel$341 legt fest, was M6 tut. M6 und eine Bewegung in einem Satz werden mit error:40 beantwortet.
M7, M8, M9Kühlung: Sprühkühlung, Flutkühlung, ausBei der MC-1 betreibt M8 die Wasserkühlung der Spindel.
M25Z hoch auf die ReferenzhöheCentroids Code, den manche CAM-Postprozessoren ausgeben.
M48, M49Overrides ein, aus
M50–M53Vorschub-Override, Spindel-Override, adaptiver Vorschub, Vorschub halt: ein oder aus
M56Parken ein oder aus
M60Pause für den Palettenwechsel
M61Das aktuelle Werkzeug setzen, ohne zu wechseln
M62–M65Digitalausgang ein oder aus, mit der nächsten Bewegung oder sofortAuf Platinen mit Zusatzausgängen.
M66Auf einen Eingang wartenDas Warten beginnt, wenn die Bewegungen davor beendet sind.
M70–M73Den modalen Zustand sichern und wiederherstellen
M98 P L, M99Unterprogramm aufrufen, zurückkehrenIn Programmen, die aus dem Dateisystem der Steuerung laufen. Ein Satz für Satz gesendetes M98 wird mit error:39 beantwortet. Ein M99 im Hauptprogramm beendet es.

Diese M-Codes werden nicht unterstützt (error:20):

  • M19 (Spindelorientierung);
  • M67, M68 (Analogausgänge; die MC-1 hat keine);
  • M100–M199 (benutzerdefinierte M-Codes).

Wörter, Syntax und Parameter

Aufbau eines Satzes

  • Kommentare ( … ) und ; sind erlaubt.
  • (MSG,…) sendet den Text als Meldung an das Sender-Programm.
  • (PRINT,…) sendet eine Meldung mit den Werten der Parameter, die es nennt.
  • (DEBUG,…) tut dasselbe, solange #5599 eingeschaltet ist.
  • Satzausblendung /, Satznummern N und %-Zeilen (mit oder ohne Namen) sind erlaubt.
  • Groß- und Kleinschreibung spielt keine Rolle, und Leerzeichen innerhalb von Wörtern werden ignoriert.

Parameter und Ausdrücke

  • Nummerierte Parameter #1–#5000 gehören zum Programm. Sie haben den Wert 0, bis das Programm sie setzt.
  • #5001 und höher sowie die benannten Systemparameter sind nur lesbar.
  • Benannte Parameter #<name>: Das Lesen eines Namens, der nie gesetzt wurde, wird mit error:39 beantwortet. EXISTS[#<name>] zeigt, ob er gesetzt wurde.
  • Ausdrücke in [ ] verwenden die Operatoren und Funktionen von LinuxCNC. Winkel werden in Grad angegeben.
  • Ein Wert, den ein Satz setzt, kann im selben Satz nicht gelesen werden.

O-Wörter

  • Programme, die aus dem Dateisystem der Steuerung laufen, können Unterprogramme sowie if, elseif, else, while, do und repeat verwenden.
  • Unterprogramme und Schleifen, die Satz für Satz gesendet werden, werden gesammelt und ausgeführt, sobald sie vollständig sind.
  • Ein Unterprogramm kann auch eine eigene Datei sein: <name>.ngc oder <name>.macro.

Polarkoordinaten

@ ist der Radius und ^ der Winkel, in der XY-Ebene um den Werkstücknullpunkt.

Fehler in einem Satz

  • Zwei Codes derselben modalen Gruppe in einem Satz werden mit error:21 beantwortet.
  • Zwei Befehle in einem Satz, die beide die Achswörter verwenden, werden mit error:24 beantwortet.
  • Die vollständige Liste der Fehlercodes steht in Fehlercodes.