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

Dokumentation 1.0.2 Technisches Handbuch

Twinwrights eigener Kernel

Twinwrights eigener Kernel ist die CNC-Steuerungs-Firmware von Twinwright selbst. In Studio steuert er die Maschine des Zwillings. Derselbe Code wird für die Steuerungsplatine der MC-1 gebaut.

Er spricht das serielle Protokoll von Grbl 1.1, sodass G-Code-Sender-Programme mit ihm arbeiten. Einstellungen, Alarme und Fehler behalten die Nummern, die Sender-Programme kennen.

Was er leistet

  • Bewegung: vorausschauende Planung über 100 Blöcke, Eckengeschwindigkeiten aus $11 und Kreisbögen auf dem echten Kreis. Die Bewegung läuft in Zeitscheiben von 1 ms. Jede Achse hält ihre maximale Geschwindigkeit ($110–$112) und Beschleunigung ($120–$122) ein.
  • Maschinenfunktionen:
    • Referenzfahrt, Hardware- und Software-Endschalter, Antasten und der Werkzeuglängensensor;
    • der Spindelantrieb (Frequenzumrichter) über Modbus und die Kühlung;
    • Werkzeugwechsel, wie $341 sie festlegt;
    • die Schutztür mit Parken;
    • Overrides, Tippbetrieb und das Handrad.
  • Programme auf der Steuerung: Programme in ihrem Dateisystem laufen mit O-Wort-Unterprogrammen und Makros (siehe O-Wörter).
  • G-Code: RS274/NGC und LinuxCNC. Dazu gehören eine Werkzeugtabelle, Fräserradiuskorrektur, Bahnverschleifung, Ausdrücke und Parameter (siehe G-Code und M-Code).

Das serielle Protokoll, die Echtzeitbefehle und die $-Befehle stehen in Protokoll. Jede Einstellung steht in Einstellungen, jeder Alarm in Alarmcodes und jeder Fehler in Fehlercodes.

Im Vergleich mit anderen Grbl-Steuerungen

Sender-Programme, die für Grbl geschrieben sind, arbeiten mit dem Kernel. Dieser Abschnitt listet auf, was Ihnen auffällt, wenn Sie eine andere Grbl-Steuerung gewohnt sind.

Wo der Kernel anhält

In diesen Fällen machen manche Grbl-Steuerungen weiter; der Kernel hält an oder löst einen Alarm aus.

  • Der Spindelantrieb hält von selbst an (eine Abschaltung, eine Überlast oder seine eigene Stopptaste): Der Vorschub stoppt innerhalb von 0,2 s, und der Kernel löst ALARM:14 aus.
  • Der Spindelantrieb antwortet nicht: Die Achsen bremsen zuerst bis zum Stillstand ab, sodass die Position erhalten bleibt. Dann löst der Kernel ALARM:19 aus.
  • Werkzeugwechsel:
    • Die Spindel hält bei einem Werkzeugwechsel immer an.
    • Läuft ein Werkzeugwechsel ohne Bestätigung weiter, kommen Spindel und Kühlung wieder so zurück, wie sie waren.
  • Fortsetzen nach Vorschub halt oder der Tür: Die Spindel erreicht ihre Drehzahl, bevor sich das Werkzeug bewegt.
  • Die Tür öffnet sich wieder, während die Maschine vom Parken zurückkehrt: Die Maschine hält an und fährt wieder auf die Parkhöhe. Sie wartet auf den nächsten Zyklusstart.
  • Das Sender-Programm geht verloren (USB abgezogen, der Port geschlossen): Der Auftrag stoppt. $1030 steuert dies; es ist standardmäßig eingeschaltet.
  • Messtaster- und Referenzschalter: Störimpulse auf den Leitungen zählen nicht als Berührung.
  • UTF-8-Text in einem Programm (Chinesisch, „Ø“, „–“) wird als Text gelesen, nie als Echtzeitbefehl.
  • Ein Kreisbogen in R-Form ohne Sehne in seiner Ebene, zum Beispiel G91 G2 X0 Z1 R5, antwortet mit error:33.

Mehr G-Code

Manche Grbl-Steuerungen lehnen diese ab oder ignorieren sie; der Kernel führt sie so aus, wie die Normen sie festlegen:

  • die Werkzeugtabelle (G43 Hn, G43.2, G10 L1/L10/L11);
  • die Fräserradiuskorrektur (G41, G42);
  • Bahnverschleifung (G64 P) und Genauhalt (G61.1);
  • O-Wort-Unterprogramme und Ablaufsteuerung, #-Parameter und Ausdrücke;
  • G52, Polarkoordinaten (@, ^) und M99;
  • die Zyklen G85, G86 und G89 zum Bohren und Ausbohren, wobei manche Grbl-Steuerungen sie annehmen und sich nicht bewegen;
  • was CAM-Postprozessoren oft schreiben: ein %-Satz mit einem Namen, G49 H0, Fanuc-Programmnummernsätze (O1000) und Centroids M25.

Näher am Programm

  • Kreisbögen folgen dem echten Kreis. Manche Grbl-Steuerungen zerlegen sie in Sehnen, die bis zu 4 × $12 vom Kreis abweichen.
  • Kreisbögen mit Vorschub im Kehrwert der Zeit (G93) dauern so lange wie programmiert. Manche Grbl-Steuerungen fahren sie um ein Mehrfaches schneller.
  • Verweilzeiten (G4) dauern so lange wie programmiert. Manche Grbl-Steuerungen runden sie auf Schritte von 50 ms.
  • Tieflochbohren mit Entspanen: Jedes Loch bekommt die Zustellungen, die es braucht. Ist die Tiefe ein ganzzahliges Vielfaches der Zustellung, bohren manche Grbl-Steuerungen von der Rückzugshöhe aus noch eine volle Zustellung.
  • Große Kreisbögen nahe den Software-Endschaltern lösen keine Fehlalarme aus.
  • M72 stellt die Werkzeuglängenkorrektur wieder her, die M70 oder M73 gespeichert hat. Manche Grbl-Steuerungen behalten eine später gesetzte Korrektur, wenn die gespeicherte 0 war und die Korrekturart (G43.1) dieselbe ist, sodass dasselbe Programm nach M72 dort mit einer anderen Werkzeuglängenkorrektur laufen kann.
  • Beschleunigung: Jede Achse hält $120–$122 ein, auch bei kleinen Kreisbögen. Ein Programm mit sehr vielen kleinen Kreisbögen kann bis zu etwa 2 % länger dauern als auf manchen Grbl-Steuerungen. Ein gewöhnliches Programm dauert etwa 0,1 % weniger.

Protokolldetails

  • Statusberichte:
    • Bei Vorschub halt oder offener Tür ist der Vorschub in FS: 0: Die Achsen stehen.
    • Der Restweg wird gemeldet, bis die Achsen stehen bleiben.
    • Bei einem kritischen Alarm zeigt Bf: den Planer als leer an.
    • Ist der Parserzustand in $10 eingeschaltet, kommt [GC:] einmal pro Änderung.
  • Eingabeprüfungen:
    • Eine fehlerhafte Einstellungsnummer wie $45x antwortet mit error:3.
    • Eine Ganzzahl-Einstellung, die als $1=25.0 geschrieben wird, speichert 25; manche Grbl-Steuerungen speichern 250.
    • M6 und eine Bewegung in einem Satz antworten mit error:40.
    • G65 oder G66 mit anderen Befehlen in einem Satz antworten mit error:21.
  • Alarme und Start:
    • Nach einem Alarm gibt es keine Pause von 100 ms.
    • Der erste Start mit leerem Einstellungsspeicher antwortet nicht mit error:7.
  • Texte und Einstellungen:
    • Die Beschreibungen der Einstellungen, Alarme und Fehler sind Twinwrights eigene.
    • Der Kernel hat eigene Einstellungen: $1030 (Stopp, wenn das Sender-Programm verloren geht) und $1000 und höher für Input Shaping (standardmäßig aus).
  • $39=0 (Legacy-Echtzeitzeichen aus): ?, ! und ~ sind Text innerhalb von $-Zeilen und Kommentaren und überall sonst Befehle. Der Kernel entscheidet anhand der Bytes, sobald sie eintreffen. Deshalb beantwortet er ? auch bei offener Tür oder bei Vorschub halt, wo manche Grbl-Steuerungen manchmal nicht antworten.

Nicht unterstützt

  • G65 P7 (Modbus-Nachrichten).
  • Fanuc-Systemvariablen. #4120 und dergleichen sind gewöhnliche Parameter und ergeben beim Lesen 0.
  • Gewindeschneiden (G33, G76, G33.1) ohne Spindelencoder. Die MC-1 hat keinen, daher antworten diese mit error:20.
  • Schruppzyklen für Drehmaschinen (andere Grbl-Steuerungen haben ebenfalls keine).
  • Netzwerk, Trinamic-Treiber und andere Fabrikate von Spindelantrieben, die manche Grbl-Steuerungen als Plug-ins anbieten.

Sender-Programme

Die Sender-Programme, die geprüft wurden, und ihre Einstellungen stehen in G-Code-Sender-Programme. Wie Sie eine echte Maschine mit ihrem Zwilling vergleichen, steht in Echte Maschine und Schattenmodus.