In diesem Abschnitt wird kurz beschrieben, wie eine CNC-Maschine von der Eingangs- und Ausgangsseite des Interpreters aus betrachtet wird.

1. Mechanische Bestandteile

Eine CNC-Maschine hat viele mechanische Komponenten, die gesteuert werden können oder die Art und Weise der Steuerung beeinflussen können. Dieser Abschnitt beschreibt die Teilmenge dieser Komponenten, die mit dem Interpreter interagieren. Mechanische Komponenten, die nicht direkt mit dem Interpreter interagieren, wie z. B. die Jog Buttons/ Tipptasten, werden hier nicht beschrieben, auch wenn sie die Steuerung beeinflussen.

1.1. Achsen

Jede CNC-Maschine hat eine oder mehrere Achsen. Verschiedene Arten von CNC-Maschinen haben unterschiedliche Kombinationen. Eine "4-Achsen-Fräsmaschine" kann zum Beispiel XYZA- oder XYZB-Achsen haben. Eine Drehmaschine hat normalerweise XZ-Achsen. Eine Schaumstoffschneidemaschine kann XYUV-Achsen haben. In LinuxCNC, der Fall eines XYYZ "Gantry"-Maschine mit zwei Motoren für eine Achse ist besser durch Kinematik als durch eine zweite lineare Achse behandelt.

Anmerkung

Wenn die Bewegung der mechanischen Komponenten nicht unabhängig ist, wie z. B. bei Hexapod-Maschinen, können die RS274/NGC-Sprache und die kanonischen Bearbeitungsfunktionen immer noch verwendet werden, solange die unteren Steuerungsebenen wissen, wie die tatsächlichen Mechanismen zu steuern sind, um die gleiche relative Bewegung von Werkzeug und Werkstück zu erzeugen, wie sie von unabhängigen Achsen erzeugt würde. Dies wird als "Kinematik" bezeichnet.

Anmerkung

Mit LinuxCNC, der für den Fall der XYYZ-Portal-Maschine mit zwei Motoren für eine Achse ist besser durch die Kinematik als durch eine zusätzliche lineare Achse behandelt.

Primäre lineare Achsen

Die X-, Y- und Z-Achse erzeugen lineare Bewegungen in drei zueinander orthogonalen Richtungen.

Sekundäre lineare Achsen

Die Achsen U, V und W erzeugen eine lineare Bewegung in drei zueinander orthogonalen Richtungen. Normalerweise sind X und U parallel, Y und V parallel und Z und W parallel.

Rotationsachsen

Die A-, B- und C-Achsen erzeugen eine Winkelbewegung (Rotation). Normalerweise dreht sich A um eine Linie parallel zu X, B um eine Linie parallel zu Y und C um eine Linie parallel zu Z.

1.2. Spindel

Eine CNC-Maschine hat in der Regel eine Spindel, die ein Zerspanungswerkzeug, einen Messtaster oder im Falle einer Drehmaschine das Material hält. Die Spindel kann, muss aber nicht von der CNC-Software gesteuert werden. LinuxCNC bietet Unterstützung für bis zu 8 Spindeln, die individuell gesteuert werden können und gleichzeitig mit unterschiedlichen Geschwindigkeiten und in unterschiedlichen Richtungen laufen können.

1.3. Kühlmittel

Flutkühlmittel und Nebelkühlmittel können unabhängig voneinander eingeschaltet werden. Die Sprache RS274/NGC schaltet sie gemeinsam aus, siehe Abschnitt M7 M8 M9.

1.4. Vorschub- und Drehzahl-Override

Eine CNC-Maschine kann über separate Vorschub- und Geschwindigkeitssteuerungen verfügen, mit denen der Bediener festlegen kann, dass der tatsächliche Vorschub oder die Spindeldrehzahl bei der Bearbeitung einen bestimmten Prozentsatz der programmierten Geschwindigkeit beträgt.

1.5. Schalter zum Löschen von Blöcken

Eine CNC-Maschine kann einen Schalter zum Löschen von Blöcken haben. Siehe den Abschnitt Block-Lösch-Schalter (engl. block delete switch).

1.6. Optionaler Programm-Stopp-Schalter

Eine CNC-Maschine kann mit einem optionalen Programmstoppschalter ausgestattet sein. Siehe den Abschnitt Optionaler Programmstopp.

2. Steuerungs- und Datenkomponenten

2.1. Lineare Achsen

Die X-, Y- und Z-Achse bilden ein standardmäßiges rechtshändiges Koordinatensystem mit orthogonalen linearen Achsen. Die Positionen der drei linearen Bewegungsmechanismen werden durch Koordinaten auf diesen Achsen ausgedrückt.

Die Achsen U, V und W bilden ebenfalls ein standardmäßiges rechtshändiges Koordinatensystem. X und U sind parallel, Y und V sind parallel, und Z und W sind parallel (wenn A, B und C auf Null gedreht werden).

2.2. Rotationsachsen

Die Rotationsachsen werden in Grad als umschlungene lineare Achsen gemessen, bei denen die positive Drehrichtung vom positiven Ende der entsprechenden X-, Y- oder Z-Achse aus gesehen gegen den Uhrzeigersinn ist. Mit "umschlungener Linearachse" ist eine Achse gemeint, bei der die Winkelposition unbegrenzt zunimmt (gegen plus unendlich geht), wenn sich die Achse gegen den Uhrzeigersinn dreht, und unbegrenzt abnimmt (gegen minus unendlich geht), wenn sich die Achse im Uhrzeigersinn dreht. Umschlungene lineare Achsen werden unabhängig davon verwendet, ob es eine mechanische Begrenzung der Drehung gibt oder nicht.

Im Uhrzeigersinn oder gegen den Uhrzeigersinn ist vom Standpunkt des Werkstücks aus gesehen. Wenn das Werkstück an einem Drehtisch befestigt ist, der sich um eine Drehachse dreht, wird eine Drehung gegen den Uhrzeigersinn aus Sicht des Werkstücks dadurch erreicht, dass der Drehtisch in eine Richtung gedreht wird, die (bei den meisten gängigen Maschinenkonfigurationen) aus Sicht einer neben der Maschine stehenden Person im Uhrzeigersinn aussieht. Fußnote:[Wenn die Anforderung der Parallelität verletzt wird, muss der Systemersteller angeben, wie zwischen Uhrzeigersinn und Gegenuhrzeigersinn unterschieden wird.]

2.3. Gesteuerter Punkt (engl. controlled point)

Der gesteuerte Punkt ist der Punkt, dessen Position und Bewegungsgeschwindigkeit gesteuert werden. Wenn der Werkzeuglängenversatz Null ist (der Standardwert), ist dies ein Punkt auf der Spindelachse (häufig als Messpunkt bezeichnet), der sich in einem festen Abstand hinter dem Ende der Spindel befindet, normalerweise nahe dem Ende eines passenden Werkzeughalters in die Spindel. Die Position des gesteuerten Punkts kann entlang der Spindelachse verschoben werden, indem ein positiver Betrag für den Werkzeuglängenversatz angegeben wird. Dieser Betrag ist normalerweise die Länge des verwendeten Schneidwerkzeugs, so dass der kontrollierte Punkt am Ende des Schneidwerkzeugs liegt. Auf einer Drehmaschine können Werkzeuglängen-Offsets für die X- und Z-Achse angegeben werden, und der kontrollierte Punkt befindet sich entweder an der Werkzeugspitze oder etwas außerhalb davon (wo die senkrechten, achsenausgerichteten Linien von der Vorderseite und Seite von berührt werden das Werkzeug schneiden).

2.4. Koordinierte lineare Bewegung

Um ein Werkzeug entlang einer bestimmten Bahn zu bewegen, muss ein Bearbeitungszentrum häufig die Bewegung mehrerer Achsen koordinieren. Wir verwenden den Begriff "koordinierte lineare Bewegung", um die Situation zu beschreiben, in der sich nominell jede Achse mit konstanter Geschwindigkeit bewegt und sich alle Achsen gleichzeitig von ihren Startpositionen zu ihren Endpositionen bewegen. Wenn sich nur die X-, Y- und Z-Achse (oder eine oder zwei von ihnen) bewegen, führt dies zu einer geradlinigen Bewegung, daher das Wort "linear" in dem Begriff. Bei tatsächlichen Bewegungen ist es oft nicht möglich, eine konstante Geschwindigkeit beizubehalten, da am Anfang und/oder am Ende der Bewegung eine Beschleunigung oder Verzögerung erforderlich ist. Es ist jedoch möglich, die Achsen so zu steuern, dass jede Achse zu jedem Zeitpunkt den gleichen Teil ihrer erforderlichen Bewegung ausgeführt hat wie die anderen Achsen. Dadurch wird das Werkzeug auf demselben Weg bewegt, und wir nennen diese Art der Bewegung auch koordinierte lineare Bewegung.

Koordinierte lineare Bewegungen können entweder mit der vorherrschenden Vorschubgeschwindigkeit oder mit der Verfahrgeschwindigkeit ausgeführt werden oder sie können mit der Spindelrotation synchronisiert werden. Wenn die gewünschte Geschwindigkeit aufgrund physikalischer Grenzen der Achsengeschwindigkeit nicht erreicht werden kann, werden alle Achsen verlangsamt, um die gewünschte Bahn beizubehalten.

2.5. Vorschubgeschwindigkeit

Die Geschwindigkeit, mit der sich der gesteuerte Punkt bewegt, ist nominell eine stetige Geschwindigkeit, die vom Benutzer eingestellt werden kann. Im Interpreter wird die Vorschubgeschwindigkeit wie folgt interpretiert (es sei denn, die Modi "inverser Zeitvorschub" oder "Vorschub pro Umdrehung" werden verwendet; in diesem Fall siehe Abschnitt G93-G94-G95-Mode).

  1. Wenn sich eine der Achsen XYZ bewegt, wird F in Einheiten pro Minute im kartesischen System XYZ angegeben, und alle anderen Achsen (ABCUVW) bewegen sich so, dass sie koordiniert starten und stoppen.

  2. Andernfalls, wenn sich UVW bewegt, wird F in Einheiten pro Minute im kartesischen System von UVW angegeben, und alle anderen Achsen (ABC) bewegen sich so, dass sie koordiniert starten und stoppen.

  3. Andernfalls handelt es sich um eine reine Drehbewegung, und das F-Wort wird in Dreheinheiten im pseudokartesischen ABC-System angegeben.

2.6. Kühlung

Die Kühlung von Flut- oder Tröpfchen kann separat aktiviert werden. RS274 / NGC-Sprache stoppt sie zusammen. Siehe Abschnitt über Kühlsteuerung.

2.7. Verweilen (engl. dwell)

Ein Bearbeitungszentrum kann angewiesen werden, für eine bestimmte Zeit zu verweilen (d.h. alle Achsen unbeweglich zu halten). Die häufigste Anwendung des Verweilens ist das Brechen und Entfernen von Spänen, so dass sich die Spindel während des Verweilens normalerweise dreht. Unabhängig vom Bahnsteuerungsmodus (siehe Abschnitt Path Control) hält die Maschine genau am Ende der vorhergehenden programmierten Bewegung an, so als ob sie im exakten Bahnmodus wäre.

2.8. Einheiten

Die Einheiten für Abstände entlang der X-, Y- und Z-Achse können in Millimetern oder Zoll gemessen werden. Die Einheiten für alle anderen an der Maschinensteuerung beteiligten Größen können nicht geändert werden. Verschiedene Größen verwenden unterschiedliche spezifische Einheiten. Die Spindeldrehzahl wird in Umdrehungen pro Minute gemessen. Die Positionen der Rotationsachsen werden in Grad gemessen. Vorschubgeschwindigkeiten werden in aktuellen Längeneinheiten pro Minute oder Grad pro Minute oder Längeneinheiten pro Spindelumdrehung ausgedrückt, wie in Abschnitt G93 G94 G95 beschrieben.

2.9. Aktuelle Position

Der kontrollierte Punkt befindet sich immer an einer Stelle, die als "aktuelle Position" bezeichnet wird, und der Controller weiß immer, wo sich diese befindet. Die dargestellte aktuelle Position muss angepasst werden, selbst wenn keine Achsenbewegung stattfindet, wenn eines von mehreren Ereignissen eintritt:

  1. Längeneinheiten werden geändert.

  2. Werkzeuglängenkorrektur wird geändert.

  3. Koordinatensystem-Offsets werden geändert.

2.10. Ausgewählte Ebene

Es gibt immer eine ausgewählte Ebene, welche die XY-Ebene, die YZ-Ebene oder die XZ-Ebene des Bearbeitungszentrums sein muss. Die Z-Achse steht natürlich senkrecht auf der XY-Ebene, die X-Achse auf der YZ-Ebene und die Y-Achse auf der XZ-Ebene.

2.11. Werkzeug-Karussell

Jedem Steckplatz im Werkzeugkarussell wird ein oder null Werkzeuge zugewiesen.

2.12. Werkzeugwechsel

Einem Bearbeitungszentrum kann der Befehl zum Werkzeugwechsel gegeben werden.

2.13. Paletten-Shuttle

Die beiden Paletten können auf Befehl ausgetauscht werden.

2.14. Geschwindigkeits-Neufestsetzung (engl. override)

Die Tasten für die Geschwindigkeits-Neufestsetzung können aktiviert (sie funktionieren normal) oder deaktiviert werden (sie haben keine Wirkung mehr). In der Sprache RS274/NGC gibt es einen Befehl, der alle Tasten aktiviert, und einen anderen, der sie deaktiviert. Siehe Sperrung und Aktivierung Geschwindigkeits-Korrektur. Siehe auch hier für weitere Details.

2.15. Pfad-Steuerungs-Modus (engl. path control mode)

Das Bearbeitungszentrum kann in einen von drei Bahnsteuerungsmodi versetzt werden:

exakter Stoppmodus

Im Exaktstopp-Modus hält die Maschine am Ende jeder programmierten Bewegung kurz an.

genauer Pfadmodus (engl. exact path mode)

Im exakten Pfadmodus folgt die Maschine dem programmierten Weg so genau wie möglich und verlangsamt oder stoppt bei Bedarf an scharfen Ecken des Weges.

kontinuierlicher Modus (continuous mode)

Im kontinuierlichen Modus können scharfe Ecken der Bahn leicht abgerundet werden, damit die Vorschubgeschwindigkeit beibehalten werden kann (aber ohne Verletzung der Toleranzgrenzen, falls angegeben).

Siehe Abschnitte G61 und G64.

3. Interpreter-Interaktion mit Schaltern

Der Interpreter interagiert mit mehreren Schaltern. In diesem Abschnitt werden die Interaktionen genauer beschrieben. In keinem Fall weiß der Interpreter, wie die Einstellung eines dieser Schalter ist.

3.1. Vorschub- und Geschwindigkeits-Neufestsetzungs-Schalter

Der Interpreter interpretiert RS274/NGC-Befehle zur Aktivierung (M48) oder Deaktivierung (M49) des Vorschub- und Geschwindigkeitsüberbrückungsschalters. Für bestimmte Bewegungen, wie z.B. das Herausfahren aus dem Ende eines Gewindes während eines Einfädelzyklus, werden die Schalter automatisch deaktiviert.

LinuxCNC reagiert auf die Geschwindigkeit und Vorschub Neufestsetzungs (engl. override)-Einstellungen, wenn diese Schalter aktiviert sind.

Siehe den Abschnitt zu M48 M49 Neufestsetzungen für weitere Informationen.

3.2. Schalter zum Löschen von Blöcken

Wenn der Schalter für das Löschen von Blöcken aktiviert ist, werden G-Code-Zeilen, die mit einem Schrägstrich (dem Blocklöschzeichen) beginnen, nicht interpretiert. Wenn der Schalter ausgeschaltet ist, werden solche Zeilen interpretiert. Normalerweise sollte der Blocklöschschalter vor dem Start des NGC-Programms gesetzt werden.

3.3. Optionaler Programm-Stopp-Schalter

Wenn dieser Schalter eingeschaltet ist und ein M1-Code auftritt, wird die Programmausführung angehalten.

4. Werkzeugtabelle

Für die Verwendung des Interpreters ist eine Werkzeugtabelle erforderlich. In dieser Datei ist festgelegt, welche Werkzeuge sich in welchen Werkzeugwechslerplätzen befinden und welche Größe und welchen Typ die einzelnen Werkzeuge haben. Der Name der Werkzeugtabelle wird in der INI-Datei definiert:

[EMCIO]

# Datei mit Werkzeugtabelle
TOOL_TABLE = tooltable.tbl

Der Standard-Dateiname sieht wahrscheinlich so aus wie oben, aber Sie können es vorziehen, Ihrer Maschine eine eigene Werkzeugtabelle zu geben, die denselben Namen wie Ihre INI-Datei trägt, aber mit der Erweiterung tbl:

TOOL_TABLE = acme_300.tbl

oder:

TOOL_TABLE = EMC-AXIS-SIM.tbl

Weitere Informationen zu den Besonderheiten des Formats der Werkzeugtabelle finden Sie im Abschnitt Werkzeugtabellen-Format.

5. Parameter

In der RS274/NGC-Sprachansicht verwaltet ein Bearbeitungszentrum eine Reihe von numerischen Parametern, die durch eine Systemdefinition (RS274NGC_MAX_PARAMETERS) festgelegt sind. Viele von ihnen haben spezifische Verwendungen, insbesondere bei der Definition von Koordinatensystemen. Die Anzahl der numerischen Parameter kann sich erhöhen, wenn die Entwicklung die Unterstützung für neue Parameter hinzufügt. Das Parameter-Array bleibt über die Zeit erhalten, auch wenn das Bearbeitungszentrum ausgeschaltet ist. LinuxCNC verwendet eine Parameterdatei, um die Persistenz zu gewährleisten und gibt dem Interpreter die Verantwortung für die Pflege der Datei. Der Interpreter liest die Datei, wenn er startet, und schreibt die Datei, wenn er beendet wird.

Alle Parameter sind für die Verwendung in G-Code-Programmen verfügbar.

Das Format einer Parameterdatei ist in der folgenden Tabelle dargestellt. Die Datei besteht aus einer beliebigen Anzahl von Kopfzeilen, gefolgt von einer Leerzeile, gefolgt von einer beliebigen Anzahl von Datenzeilen. Der Interpreter überspringt die Kopfzeilen. Wichtig ist, dass vor den Daten genau eine Leerzeile (auch ohne Leerzeichen oder Tabulatoren) steht. Die in der folgenden Tabelle gezeigte Kopfzeile beschreibt die Datenspalten. Es wird daher vorgeschlagen (ist aber nicht erforderlich), diese Zeile immer in die Kopfzeile aufzunehmen.

Der Interpreter liest nur die ersten beiden Spalten der Tabelle. Die dritte Spalte, Kommentar (engl. comment), wird vom Interpreter nicht gelesen.

Jede Zeile der Datei enthält in der ersten Spalte die Indexnummer eines Parameters und in der zweiten Spalte den Wert, auf den dieser Parameter gesetzt werden soll. Der Wert wird im Interpreter als Gleitkommazahl mit doppelter Genauigkeit dargestellt, aber ein Dezimalpunkt ist in der Datei nicht erforderlich. Alle in der folgenden Tabelle aufgeführten Parameter sind obligatorisch und müssen in jeder Parameterdatei enthalten sein, mit der Ausnahme, dass jeder Parameter, der einen Drehachsenwert für eine nicht verwendete Achse darstellt, weggelassen werden kann. Wenn ein erforderlicher Parameter fehlt, wird ein Fehler gemeldet. Eine Parameterdatei kann jeden anderen Parameter enthalten, solange seine Nummer im Bereich von 1 bis 5400 liegt. Die Parameternummern müssen in aufsteigender Reihenfolge angeordnet sein. Ist dies nicht der Fall, wird ein Fehler gemeldet. Jeder Parameter, der in der vom Interpreter gelesenen Datei enthalten ist, wird auch in die Datei aufgenommen, die er beim Beenden des Programms schreibt. Die Originaldatei wird beim Schreiben der neuen Datei als Sicherungsdatei gespeichert. Kommentare werden beim Schreiben der Datei nicht beibehalten.

Tabelle 1. Parameter-Dateiformat
Parameter-Nummer Parameter-Wert Kommentar

5161

0.0

G28 Referenzfahrt (engl. home) X

5162

0.0

G28 Referenzfahrt (engl. home)

Siehe den Abschnitt zu Parametern für weitere Informationen.