1. Touch Off((Touch Off)

Mit dem Touch Off Screen in der AXIS Schnittstelle können Sie die Werkzeugtabelle automatisch aktualisieren.

Typische Schritte zum Aktualisieren der Werkzeugtabelle:

  • Nach der Referenzfahrt laden Sie ein Werkzeug mit Tn M6, wobei n die Werkzeugnummer (engl. tool number) ist.

  • Fahren Sie das Werkzeug mit Hilfe einer Lehre auf einen festgelegten Punkt oder machen Sie einen Testschnitt und messen Sie.

  • Klicken Sie auf der Registerkarte "Manuelle Steuerung" auf den Button "Ausschalten" (oder drücken Sie die Taste "Ende" auf Ihrer Tastatur).

  • Wählen Sie „Werkzeugtabelle“ im Dropdown-Feld „Koordinatensystem“ aus.

  • Geben Sie das Messgerät oder die gemessene Bemaßung ein und wählen Sie OK aus.

Die Werkzeugtabelle wird mit der korrekten Z-Länge geändert, damit die DRO die richtige Z-Position anzeigt, und ein G43-Befehl wird ausgegeben, damit die neue Z-Länge des Werkzeugs in Kraft tritt. Das Antasten der Werkzeugtabelle ist nur verfügbar, wenn ein Werkzeug mit Tn M6 geladen ist.

Touch-Off-Werkzeugtabelle
Abbildung 1. Touch-Off-Werkzeugtabelle

1.1. Verwendung von G10 L1/L10/L11

Die G10-Befehle L1/L10/L11 können zum Einstellen von Werkzeugtabellen-Offsets verwendet werden:

  • G10 L1 P__n__ - Setzt den/die Offset(s) auf einen Wert. Die aktuelle Position ist irrelevant (siehe G10 L1 für Einzelheiten).

  • G10 L10 P__n__ - Setzt Offset(s), so dass die aktuelle Position mit dem Gerät 1-8 ein Wert wird (siehe G10 L10 für Details).

  • G10 L11 P__n__ - Offset(s) setzen, so dass die aktuelle Position mit dem Gerät 9 ein Wert wird (siehe G10 L11 für Details).

Anmerkung
Dies ist nur eine kurze Darstellung, genauere Erläuterungen finden Sie im Referenzhandbuch des G-Codes.

2. Werkzeugtabelle

Die "Werkzeugtabelle" ist eine Textdatei, die Informationen über jedes Werkzeug enthält. Die Datei befindet sich im gleichen Verzeichnis wie Ihre Konfiguration und heißt standardmäßig "tool.tbl". Ein Dateiname kann mit der INI-Datei [EMCIO]TOOL_TABLE festgelegt werden. Die Werkzeuge können sich in einem Werkzeugwechsler befinden oder einfach manuell geändert werden. Die Datei kann mit einem Texteditor bearbeitet werden oder mit G10 L1 aktualisiert werden. Im Abschnitt Lathe Tool Table finden Sie ein Beispiel für das Format der Drehbank-Werkzeugtabelle. Die maximale Platzanzahl beträgt 1000.

Der Tool Editor oder ein Texteditor können verwendet werden, um die Werkzeugtabelle zu bearbeiten. Wenn Sie einen Texteditor verwenden, stellen Sie sicher, dass Sie die Werkzeugtabelle in der GUI neu laden.

2.1. Werkzeugtabellen-Format

Tabelle 1. Werkzeugtabellen-Format
T# P# X Y Z A B C U V W Durchm FA BA Ori Rem

;

(keine Daten nach dem öffnenden Semikolon)

T1

P17

X0

Y0

Z0

A0

B0

C0

U0

V0

W0

D0

I0

J0

Q0

;rem

T2

P5

X0

Y0

Z0

A0

B0

C0

U0

V0

W0

D0

I0

J0

Q0

;rem

T3

P12

X0

Y0

Z0

A0

B0

C0

U0

V0

W0

D0

I0

J0

Q0

;rem

Im Allgemeinen ist das Zeilenformat der Werkzeugtabelle wie folgt:

  • T - Werkzeugnummer (Werkzeugnummern müssen eindeutig sein)

  • P - Taschennummer, 1-1000 (Taschennummern müssen eindeutig sein, Tasche 0 steht für die Spindel)

  • X.. W - Werkzeugversatz auf vorgegebener Achse - Gleitkommazahl

  • D - Werkzeugdurchmesser - Fließkommazahl, absoluter Wert

  • I - Frontwinkel (nur Drehbank) - Gleitkommazahl

  • J - Rückenwinkel (nur Drehmaschine) - Gleitkommazahl

  • Q - Werkzeugausrichtung (nur Drehmaschine) - ganze Zahl, 0-9

  • ; - Beginn des Kommentars oder der Bemerkung - Text

Werkzeugnummern sollten eindeutig sein. Zeilen, die mit einem Semikolon beginnen, werden ignoriert.

Die Einheiten für Länge, Durchmesser usw. werden in Maschineneinheiten angegeben.

Wahrscheinlich werden Sie die Werkzeugeinträge in aufsteigender Reihenfolge halten wollen, besonders wenn Sie einen zufälligen Werkzeugwechsler verwenden. Die Werkzeugtabelle erlaubt jedoch Werkzeugnummern in beliebiger Reihenfolge.

Eine Zeile kann bis zu 16 Einträge enthalten, wird aber wahrscheinlich viel weniger enthalten. Die Einträge für T (Werkzeugnummer) und P (Platznummer) sind erforderlich. Der letzte Eintrag (eine Bemerkung oder ein Kommentar, dem ein Semikolon vorangestellt ist) ist optional. Es erleichtert das Lesen, wenn die Einträge in Spalten angeordnet sind, wie in der Tabelle gezeigt, aber die einzige Formatvorschrift ist, dass nach jedem Eintrag in einer Zeile mindestens ein Leerzeichen oder Tabulator und am Ende jedes Eintrags ein Zeilenumbruch stehen muss.

Die Bedeutung der Einträge und die Art der Daten, die sie enthalten, sind wie folgt.

Werkzeugnummer (erforderlich)

Die Spalte T enthält die Zahl (Ganzzahl ohne Vorzeichen), die eine Codenummer für das Tool darstellt. Der Benutzer kann jeden Code für jedes Tool verwenden, solange die Codes ganze Zahlen ohne Vorzeichen sind.

Taschen-Nummer (erforderlich)

Die Spalte P enthält die Taschennummer (ganzzahlig ohne Vorzeichen, auch Steckplatznummer, engl. pocket number oder slot number) des Werkzeugwechslers, in dem sich das Werkzeug befindet. Die Einträge in dieser Spalte müssen alle unterschiedlich sein.

Die Platznummern beginnen in der Regel bei 1 und gehen bis zum höchsten verfügbaren Platz auf Ihrem Werkzeugwechsler. Aber nicht alle Werkzeugwechsler folgen diesem Muster. Die Platznummern richten sich nach den Nummern, die Ihr Werkzeugwechsler für die Bezeichnungen der Plätze verwendet. Das heißt also, dass die von Ihnen verwendeten Platznummern durch das Nummerierungsschema Ihres Werkzeugwechslers bestimmt werden, und dass die von Ihnen verwendeten Platznummern auf Ihrer Maschine Sinn machen müssen.

Daten-Offset-Nummern (optional)

Die Spalten Datenversatz (XYZABCUVW) enthalten reelle Zahlen, die Werkzeugversätze in jeder Achse darstellen. Diese Zahl wird verwendet, wenn die Werkzeuglängenkorrekturen verwendet werden und dieses Werkzeug ausgewählt ist. Diese Zahlen können positiv, null oder negativ sein, und sind eigentlich völlig optional. Allerdings sollten Sie hier mindestens einen Eintrag vornehmen, da es sonst wenig Sinn macht, einen Eintrag in der Werkzeugtabelle vorzunehmen.

Bei einer typischen Fräsmaschine benötigen Sie wahrscheinlich einen Eintrag für Z (Werkzeuglängenkorrektur). Bei einer typischen Drehmaschine benötigen Sie wahrscheinlich einen Eintrag für X (X-Werkzeugkorrektur) und Z (Z-Werkzeugkorrektur). Bei einer typischen Fräsmaschine, die eine Fräserdurchmesserkompensation verwendet, möchten Sie wahrscheinlich auch einen Eintrag für D (Fräserdurchmesser) hinzufügen. In einer typischen Drehmaschine, die eine Werkzeugdurchmesserkompensation (tool comp) verwendet, möchten Sie wahrscheinlich auch einen Eintrag für D (Werkzeugdurchmesser) hinzufügen.

Eine Drehmaschine erfordert auch einige zusätzliche Informationen, um die Form und Ausrichtung des Werkzeugs zu beschreiben. Daher möchten Sie wahrscheinlich Einträge für I (vorderer Werkzeugwinkel) und J (hinterer Werkzeugwinkel) haben. Wahrscheinlich möchten Sie auch einen Eintrag für Q (Werkzeugausrichtung).

Siehe das Kapitel Informationen für Nutzer von Drehmaschinen für weitere Details.

Die Spalte "Durchmesser" enthält eine reelle Zahl. Diese Zahl wird nur verwendet, wenn die Fräskompensation für dieses Werkzeug aktiviert ist. Wenn die programmierte Bahn während der Kompensation die Kante des zu schneidenden Materials ist, sollte dies eine positive reelle Zahl sein, die den gemessenen Durchmesser des Werkzeugs darstellt. Wenn die programmierte Bahn während der Kompensation die Bahn eines Werkzeugs ist, dessen Durchmesser nominal ist, sollte dies eine kleine Zahl sein (positiv oder negativ, aber nahe Null), die nur den Unterschied zwischen dem gemessenen Durchmesser des Werkzeugs und dem nominalen Durchmesser darstellt. Wenn die Fräser-Korrektur nicht mit einem Werkzeug verwendet wird, spielt es keine Rolle, welche Zahl in dieser Spalte steht.

Die Spalte "Kommentar" kann optional zur Beschreibung des Werkzeugs verwendet werden. Jede Art von Beschreibung ist zulässig. Diese Spalte ist nur für den menschlichen Leser gedacht. Dem Kommentar muss ein Semikolon vorangestellt werden.

Anmerkung
Frühere Versionen von LinuxCNC hatte zwei verschiedene Werkzeug-Tabelle Formate für Fräsen und Drehen, aber seit der 2.4.x Release, wird dasselbe Werkzeug-Tabellen-Format für alle Maschinen verwendet.

2.2. Werkzeug-E/A (engl. tool I/O)

Das durch [EMCIO]EMCIO = io spezifizierte nicht-Echtzeit-Programm wird üblicherweise für die Werkzeugwechsler-Verwaltung (und andere E/A (I/O)-Funktionen zum Aktivieren von LinuxCNC und die Steuerung von Kühlmittel-Hardware) verwendet. Die HAL-Pins, die für die Werkzeugverwaltung verwendet werden, sind mit dem Präfix iocontrol.0. versehen.

Ein G-Code T-Befehl setzt den HAL-Ausgangspin iocontrol.0.tool-prepare. Der HAL-Eingangspin iocontrol.0.tool-prepared muss durch externe HAL-Logik gesetzt werden, um die Werkzeugvorbereitung abzuschließen, was zu einem anschließenden Reset des Tool-Prepare-Pins führt.

Ein G-Code M6-Befehl aktiviert den HAL-Ausgangspin iocontrol.0.tool-change. Der zugehörige HAL-Eingangs-Pin, iocontrol.0.tool-prepared, muss durch externe HAL-Logik gesetzt werden, um den Abschluss des Werkzeugwechsels anzuzeigen, was zu einem anschließenden Reset des Tool-Change-Pins führt.

Der Zugriff auf die Werkzeugdaten erfolgt über einen geordneten Index (idx), der vom Typ des Werkzeugwechslers abhängt, der durch [EMCIO]RANDOM_TOOLCHANGER=type festgelegt ist.

  1. Bei RANDOM_TOOLCHANGER = 0 (0 ist die Standardeinstellung und gibt einen nicht zufälligen Werkzeugwechsler an) ist idx eine Zahl, zur Angabe der Reihenfolge, in der die Werkzeugdaten geladen wurden.

  2. Bei RANDOM_TOOLCHANGER = 1 ist idx die aktuelle Platznummer für die Werkzeugnummer, die durch den G-Code-Befehl zur Werkzeugauswahl Tn festgelegt wurde.

Das io-Programm bietet HAL Ausgangsstifte, um die Verwaltung des Werkzeugwechslers zu erleichtern:

  1. iocontrol.0.tool-prep-number

  2. iocontrol.0.tool-prep-index

  3. iocontrol.0.tool-prep-pocket

  4. iocontrol.0.tool-from-pocket

2.2.1. E/A (I/O) für nicht-zufälligen Werkzeugwechsler

  1. Werkzeugnummer n==0 zeigt an, dass kein Werkzeug vorhanden ist.

  2. Die Platznummer für ein Werkzeug wird beim Laden/Nachladen der Werkzeugdaten aus der Datenquelle ([EMCIO]TOOL_TABLE oder [EMCIO]DB_PROGRAM) festgelegt.

  3. Beim Befehl G-Code Tn (n != 0):

    1. iocontrol.0.tool-prep-index = idx (Index basierend auf der Tooldaten-Ladesefolge)

    2. iocontrol.0.tool-prep-number = n

    3. iocontrol.0.tool-prep-pocket = die feste Platz-/Taschen-Nummer für n

  4. Beim Befehl G-code T0 (n == 0 entfernen):

    1. iocontrol.0.tool-prep-index = 0

    2. iocontrol.0.tool-prep-number = 0

    3. iocontrol.0.tool-prep-pocket = 0

  5. Bei M-Code M6 (nach iocontrol.0.tool-changed pin 0-->1):

    1. iocontrol.0.tool-from-pocket = Nummer der Tasche, die zum Abrufen des Werkzeugs verwendet wird

2.2.2. E/A (I/O) für zufälligen Werkzeugwechsler

  1. Die Werkzeugnummer n==0 ist nicht speziell.

  2. Die Taschennummer 0 ist speziell, da sie die Spindel anzeigt.

  3. Die aktuelle Platznummer für Werkzeug n ist der Werkzeugdatenindex (idx) für Werkzeug n.

  4. Bei G-Code Befehl Tn:

    1. iocontrol.0.tool-prep-index = Tooldatenindex (idx) für Werkzeug n

    2. iocontrol.0.tool-prep-number = n

    3. iocontrol.0.tool-prep-pocket = Platznummer für Werkzeug n

  5. Bei M-Code M6 (nach iocontrol.0.tool-changed pin 0-->1):

    1. iocontrol.0.tool-from-pocket = Nummer der Tasche, die zum Abrufen des Werkzeugs verwendet wird

Anmerkung
Beim Start ist iocontrol.0.tool-from-pocket = 0. Ein M61Qn (n!=0) Befehl ändert iocontrol.0.tool-from-pocket nicht. Ein M61Q0 (n==0) Befehl setzt iocontrol.0.tool-from-pocket auf 0.

2.3. Werkzeugwechsler

LinuxCNC unterstützt drei Arten von Werkzeugwechslern: manuell, zufällige Position und nicht zufällige oder feste Position. Informationen über die Konfiguration eines LinuxCNC Werkzeugwechsler ist in dem Abschnitt EMCIO des INI-Kapitels.

Manueller Werkzeugwechsler

Ein manueller Werkzeugwechsler (Sie wechseln das Werkzeug von Hand) wird wie ein Festplatz-Werkzeugwechsler behandelt. Manuelle Werkzeugwechsel können durch eine HAL-Konfiguration unterstützt werden, die das nicht-Echtzeit-Programm hal_manualtoolchange verwendet und normalerweise in einer INI-Datei mit INI-Anweisungen angegeben wird:

[HAL]
HALFILE = axis_manualtoolchange.hal
Werkzeugwechsler mit festen Plätzen

Werkzeugwechsler mit fester Positionierung bringen die Werkzeuge immer in eine feste Position im Werkzeugwechsler zurück. Dies würde auch Designs wie Drehmaschine Revolver umfassen. Wenn LinuxCNC für eine feste Position Werkzeugwechsler konfiguriert ist die P-Nummer nicht intern verwendet wird (aber gelesen, erhalten und neu geschrieben) von LinuxCNC, so können Sie P für jede Buchhaltung Nummer, die Sie wollen.

Anmerkung
Bei Verwendung von [EMCIO]RANDOM_TOOLCHANGER = 0 (Standardeinstellung) ist die P-Taschennummer ein Parameter der Werkzeugdaten (engl. tooldata), die aus der Werkzeugdatenquelle (engl. tooldata source) ([EMCIO]TOOL_TABLE oder [EMCIO]DB_PROGRAM) abgerufen werden. In vielen Anwendungen ist es fest, aber es kann durch Bearbeitungen der [EMCIO]TOOL_TABLE oder programmatisch geändert werden, wenn das [EMCIO]DB_PROGRAM verwendet wird. LinuxCNC schiebt Updates auf die Datenquelle ([EMCIO]TOOL_TABLE oder [EMCIO]DB_PROGRAM) für G-Codes G10L1, G10L10, G10L11, M61. LinuxCNC kann Updates zu Werkzeugdaten aus der Datenquelle beziehen durch UI (User-Interface) Befehle (Python Beispiel: linuxcnc.command().load_tool_table()) oder durch G-Code: G10L0.
Werkzeugwechsler mit zufälliger Position

Zufallswerkzeugwechsler ([EMCIO]RANDOM_TOOLCHANGER = 1) tauschen das Werkzeug in der Spindel mit dem Werkzeug im Wechsler aus. Mit dieser Art von Werkzeugwechsler wird das Werkzeug immer in einer anderen Tasche nach einem Werkzeugwechsel sein. Wenn ein Werkzeug gewechselt wird, schreibt LinuxCNC die Platznummer neu, um den Überblick zu behalten, wo die Werkzeuge sind. T kann eine beliebige Zahl sein, aber P muss eine Zahl sein, die für die Maschine Sinn Macht.

3. Werkzeuglängenkompensation

Die Werkzeuglängenkorrekturen werden als positive Zahlen in der Werkzeugtabelle angegeben. Eine Werkzeugkorrektur wird mit G43 Hn programmiert, wobei n die Indexnummer des gewünschten Werkzeugs in der Werkzeugtabelle ist. Es ist vorgesehen, dass alle Einträge in der Werkzeugtabelle positiv sind. Der Wert von H wird geprüft, er muss beim Lesen eine nicht-negative ganze Zahl sein. Der Interpreter verhält sich wie folgt:

  1. Wenn G43 Hn programmiert ist, erfolgt ein Aufruf der Funktion USE_TOOL_LENGTH_OFFSET(`__length__)` (wobei length die aus der Werkzeugtabelle gelesene Längendifferenz des indizierten Werkzeugs n ist), tool_length_offset wird im Maschineneinstellungsmodell neu positioniert und der Wert von current_z im Modell wird angepasst. Beachten Sie, dass n nicht mit der Steckplatz-Nummer des Werkzeugs übereinstimmen muss, das sich gerade in der Spindel befindet.

  2. Wenn G49 programmiert ist, wird USE_TOOL_LENGTH_OFFSET(0.0) aufgerufen, tool_length_offset wird in der Maschineneinstellungsvorlage auf 0.0 zurückgesetzt und der aktuelle Wert von current_z im Modell wird angepasst. Die Auswirkung der Werkzeuglängenkompensation ist in der folgenden Abbildung zu sehen. Beachten Sie, dass die Werkzeuglänge von Z abgezogen wird, so dass der programmierte Kontrollpunkt mit der Spitze des Werkzeugs übereinstimmt. Beachten Sie auch, dass die Auswirkung der Längenkompensation sofort sichtbar ist, wenn Sie die Position von Z als relative Koordinate sehen, aber sie hat keine Auswirkung auf die tatsächliche Maschinenposition, bis eine Z-Bewegung programmiert wird.

Testprogramm für die Werkzeuglänge. Werkzeug #1 ist einen Zoll lang.
N01 G1 F15 X0 Y0 Z0
N02 G43 H1 Z0 X1
N03 G49 X0 Z0
N04 G0 X2
N05 G1 G43 H1 G4 P10 Z0 X3
N06 G49 X2 Z0
N07 G0 X0

images/length1.png

Mit diesem Programm wird die Maschine in den meisten Fällen den Offset in Form einer Rampe während der Bewegung in xyz nach dem Wort G43 anwenden.

4. Fräserradiuskompensation

Die Fräserkompensation ermöglicht es dem Programmierer, den Werkzeugweg zu programmieren, ohne den genauen Werkzeugdurchmesser zu kennen. Der einzige Vorbehalt ist, dass der Programmierer den Lead in Move so programmieren muss, dass er mindestens so lang ist wie der größte Werkzeugradius, der verwendet werden könnte.

Es gibt zwei mögliche Pfade, die der Fräser einschlagen kann, da der Fräserausgleich auf der linken oder der rechten Seite einer Linie vorgenommen werden kann, wenn man die Bewegungsrichtung des Fräsers von hinten betrachtet. Um dies zu veranschaulichen, stellen Sie sich vor, Sie stünden auf dem Werkstück und gingen hinter dem Werkzeug, während es sich über das Werkstück bewegt. G41 ist Ihre linke Seite der Linie und G42 ist die rechte Seite der Linie.

Der Endpunkt jeder Bewegung hängt von der nächsten Bewegung ab. Wenn die nächste Bewegung eine Außenecke erzeugt, erfolgt die Bewegung zum Endpunkt der kompensierten Schnittlinie. Wenn die nächste Bewegung eine Innenecke erzeugt, wird die Bewegung kurz angehalten, um das Teil nicht auszuschneiden. Die folgende Abbildung zeigt, wie die kompensierte Bewegung je nach der nächsten Bewegung an verschiedenen Punkten stoppt.

Ausgleich am Endpunkt
Abbildung 2. Ausgleich am Endpunkt (engl. Compensation End Point)

4.1. Übersicht

4.1.1. Werkzeugtabelle

Die Fräserkompensation verwendet die Daten aus der Werkzeugtabelle, um den benötigten Versatz zu bestimmen. Die Daten können zur Laufzeit mit G10 L1 eingestellt werden.

4.1.2. Einstiegsbewegungen programmieren

Jede Bewegung, die lang genug ist, um die Kompensation durchzuführen, kann als Eingangsbewegung verwendet werden. Die Mindestlänge ist der Radius des Fräsers. Dies kann eine Eilgangbewegung über dem Werkstück sein. Wenn mehrere Eilgänge nach einem G41/42 ausgeführt werden, fährt nur der letzte das Werkzeug in die kompensierte Position.

In der folgenden Abbildung sehen Sie, dass die Einfahrbewegung rechts von der Linie kompensiert wird. Dadurch befindet sich der Mittelpunkt des Werkzeugs in diesem Fall rechts von X0. Wenn Sie ein Profil programmieren würden und das Ende bei X0 liegt, würde das resultierende Profil aufgrund des Versatzes der Einfahrbewegung eine Beule hinterlassen.

Eingangs-Bewegung (engl. entry move)
Abbildung 3. Eingangs-Bewegung (engl. entry move)

4.1.3. Z-Bewegung

Die Bewegung der Z-Achse kann erfolgen, während die Kontur in der XY-Ebene verfolgt wird. Teile der Kontur können übersprungen werden, indem die Z-Achse über dem Teil zurückgezogen und am nächsten Startpunkt wieder ausgefahren wird.

4.1.4. Eilgänge

Eilgänge können programmiert werden, während die Kompensation eingeschaltet ist.

4.1.5. Gute Praktiken

Starten Sie ein Programm mit G40, um sicherzustellen, dass die Kompensation ausgeschaltet ist.

4.2. Beispiele

4.2.1. Beispiel für ein äußeres Profil

Äußeres Profil
Abbildung 4. Äußeres Profil

4.2.2. Beispiel für ein Innenprofil

Innenprofil
Abbildung 5. Innenprofil