This section gives a brief description of how a CNC machine is viewed from the input and output ends of the Interpreter.
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
Any CNC machine has one or more Axes. Different types of CNC machines have different combinations. For instance, a 4-axis milling machine may have XYZA or XYZB axes. A lathe typically has XZ axes. A foam-cutting machine may have XYUV axes. In LinuxCNC, the case of a XYYZ gantry machine with two motors for one axis is better handled by kinematics rather than by a second linear axis.
|
Note
|
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. |
|
Note
|
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. |
.Primary Linear Axes The X, Y, and Z axes produce linear motion in three mutually orthogonal directions.
.Secondary Linear Axes The U, V, and W axes produce linear motion in three mutually orthogonal directions. Typically, X and U are parallel, Y and V are parallel, and Z and W are parallel.
.Rotationsachsen The A, B and C axes produce angular motion (rotation). Typically, A rotates around a line parallel to X, B rotates around a line parallel to Y, and C rotates around a line parallel to Z.
1.2. Spindel
A CNC machine typically has a spindle which holds one cutting tool, probe, or the material in the case of a lathe. The spindle may or may not be controlled by the CNC software. LinuxCNC offers support for up to 8 spindles, which can be individually controlled and can run simultaneously at different speeds and in different directions.
1.3. Kühlmittel
Flood coolant and mist coolant may each be turned on independently. The RS274/NGC language turns them off together see section M7 M8 M9.
1.4. Vorschub- und Geschwindigkeits-Neufestsetzungen (engl. overrides)
A CNC machine can have separate feed and speed override controls, which let the operator specify that the actual feed rate or spindle speed used in machining at some percentage of the programmed rate.
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. Kontrollpunkt
The controlled point is the point whose position and rate of motion are controlled. When the tool length offset is zero (the default value), this is a point on the spindle axis (often called the gauge point) that is some fixed distance beyond the end of the spindle, usually near the end of a tool holder that fits into the spindle. The location of the controlled point can be moved out along the spindle axis by specifying some positive amount for the tool length offset. This amount is normally the length of the cutting tool in use, so that the controlled point is at the end of the cutting tool. On a lathe, tool length offsets can be specified for X and Z axes, and the controlled point is either at the tool tip or slightly outside it (where the perpendicular, axis-aligned lines touched by the front and side of the tool intersect).
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 (engl. feed rate)
The rate at which the controlled point moves is nominally a steady rate which may be set by the user. In the Interpreter, the feed rate is interpreted as follows (unless inverse time feed or feed per revolution modes are being used, in which case see section G93-G94-G95-Mode,G93 G94 G95).
-
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.
-
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.
-
Andernfalls handelt es sich um eine reine Drehbewegung, und das F-Wort wird in Dreheinheiten im pseudokartesischen ABC-System angegeben.
2.6. Kühlen
Flood or droplets cooling can be enabled separately. RS274/NGC language stops them together. See section about cooling control.
2.7. Verweilen (engl. dwell)
A machining center may be commanded to dwell (i.e., keep all axes unmoving) for a specific amount of time. The most common use of dwell is to break and clear chips, so the spindle is usually turning during a dwell. Regardless of the Path Control Mode (see section Path Control) the machine will stop exactly at the end of the previous programmed move, as though it was in exact path mode.
2.8. Einheiten
Units used for distances along the X, Y, and Z axes may be measured in millimeters or inches. Units for all other quantities involved in machine control cannot be changed. Different quantities use different specific units. Spindle speed is measured in revolutions per minute. The positions of rotational axes are measured in degrees. Feed rates are expressed in current length units per minute, or degrees per minute, or length units per spindle revolution, as described in section G93 G94 G95.
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:
-
Längeneinheiten werden geändert.
-
Werkzeuglängenkorrektur wird geändert.
-
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. Pfadsteuerungsmodus
The machining center may be put into any one of three path control modes:
- 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).
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. Schalter für Vorschub- und Geschwindigkeits-Neufestsetzungen (engl. overrides)
The Interpreter will interpret RS274/NGC commands which enable M48 or disable M49 the feed and speed override switches. For certain moves, such as the traverse out of the end of a thread during a threading cycle, the switches are disabled automatically.
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
A tool table is required to use the Interpreter. The file tells which tools are in which tool changer slots and what the size and type of each tool is. The name of the tool table is defined in the INI file:
[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 the RS274/NGC language view, a machining center maintains an array of numerical parameters defined by a system definition (RS274NGC_MAX_PARAMETERS). Many of them have specific uses especially in defining coordinate systems. The number of numerical parameters can increase as development adds support for new parameters. The parameter array persists over time, even if the machining center is powered down. LinuxCNC uses a parameter file to ensure persistence and gives the Interpreter the responsibility for maintaining the file. The Interpreter reads the file when it starts up, and writes the file when it exits.
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.
| 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.