Esta sección proporciona una breve descripción de una máquina CNC desde los puntos de vista de entrada y salida del intérprete.

1. Componentes mecánicos

Una máquina CNC tiene muchos componentes mecánicos que pueden ser controlados o que pueden afectar a la forma en que se ejerce el control. Esta sección describe el subconjunto de aquellos componentes que interactúan con el intérprete. Los componentes mecánicos que no interactúan directamente con el intérprete, como los botones de jog, no se describen aquí, incluso si afectan al control.

1.1. Axes

Cualquier máquina CNC tiene uno o más ejes. Diferentes tipos de máquinas CNC pueden tener diferentes combinaciones. Por ejemplo, una fresadora de 4 ejes puede tener ejes XYZA o XYZB. Un torno normalmente tiene los ejes XZ. Una máquina de corte de espuma puede tener ejes XYUV. En LinuxCNC, el caso de una máquina pórtico XYYZ, con dos motores para un eje, se maneja mejor con la cinemática en lugar de con un segundo eje lineal.

Nota

Si el movimiento de los componentes mecánicos no es independiente, como en máquinas hexapod, el lenguaje RS274/NGC y las funciones de mecanizado canónicas seguirán siendo utilizables, siempre que los niveles inferiores de control sepan cómo controlar los mecanismos reales para producir el mismo movimiento relativo de herramienta y pieza de trabajo como el que se produciría por ejes independientes. Esto se llama cinemática.

Nota

Con LinuxCNC, el caso de máquina pórtico XYYZ con dos motores para un eje se maneja mejor con la cinemática en lugar de con un segundo eje lineal.

Ejes lineales primarios

Los ejes X, Y y Z producen movimiento lineal en tres direcciones mutuamente ortogonales.

Ejes lineales secundarios

Los ejes U, V y W producen movimiento lineal en tres direcciones mutuamente ortogonales. Típicamente, X y U son paralelos, Y y V son paralelos, y Z y W son paralelos.

Ejes rotacionales

Los ejes A, B y C producen movimiento angular (rotación). Normalmente, A gira alrededor de una línea paralela a X, B gira alrededor de una línea paralela a Y, y C gira alrededor de una línea paralela a Z.

1.2. Husillo

Una máquina CNC tiene generalmente un husillo que sostiene una herramienta de corte, una sonda, o el material en el caso de un torno. El husillo puede ser controlado por el software CNC. LinuxCNC soporta hasta 8 husillos, los cuales pueden ser controlados individualmente y pueden trabajar simultáneamente a diferentes velocidades y direcciones.

1.3. Refrigerante

Cada refrigerante por niebla e inundación puede funcionar independientemente. El lenguaje RS274/NGC los apaga en conjunto, vea la sección M7 M8 M9.

1.4. Anula alimentación y velocidad

Una máquina CNC puede tener controles separados de imposición de velocidad y avance, que permiten al operador especificar la velocidad de alimentación real, o la velocidad utilizada en el husillo durante el maquinado, en función de un porcentaje de la velocidad programada.

1.5. Interruptor de borrado de bloque

Una máquina CNC puede tener un interruptor de eliminación de bloques de código G. Vea la sección Eliminar Bloque.

1.6. Interruptor de parada de programa opcional

Una máquina CNC puede tener un interruptor de parada opcional de programa. Ver la sección Parada opcional de programa.

2. Componentes de control y datos

2.1. Ejes lineales

Los ejes X, Y y Z forman un sistema de coordenadas estándar de mano derecha de ejes lineales ortogonales. Las posiciones de los tres mecanismos de movimiento lineal se expresan usando coordenadas en estos ejes.

Los ejes U, V y W también forman un sistema de coordenadas diestro estándar. X y U son paralelos, Y y V son paralelos, y Z y W son paralelos (cuando A, B y C se rotan a cero).

2.2. Ejes de rotación

Los ejes de rotación se miden en grados como ejes lineales de revolución en los que la dirección de la rotación positiva es en sentido antihorario cuando se ven desde el extremo positivo del eje X, Y o Z correspondiente. Por eje lineal de revolucion, nos referimos a uno en el que la posición angular puede aumentar sin límite (va hacia más-infinito) a medida que el eje gira en sentido antihorario y decrece sin límite (va hacia menos-infinito) a medida que el eje gira en el sentido de las agujas del reloj. Se utilizan ejes lineales de revolucion independientemente de si hay o no un límite mecánico en la rotación.

El sentido horario o antihorario se toma desde el punto de vista de la pieza de trabajo. Si la pieza de trabajo está sujeta a un plato giratorio que gira en un eje de rotación, un giro en sentido antihorario desde el punto de vista de la pieza de trabajo se logra girando el plato giratorio en una dirección que (para la mayoría de las configuraciones de máquina comunes) se ve en el sentido de las agujas del reloj desde el punto de vista de alguien parado al lado de la máquina.
[si se viola el requisito de paralelismo, el creador del sistema tiene que decir cómo distinguir entre sentido horario y antihorario.]

2.3. Controlled Point

El punto controlado es el punto cuya posición y velocidad de movimiento están controlados. Cuando el offset de la longitud de la herramienta es cero (el valor predeterminado), este es un punto en el eje del husillo (a menudo llamado punto calibrado) que es una distancia fija mas allá del final del husillo, generalmente cerca del extremo del portaherramientas que encaja en el husillo. La ubicación del punto controlado se puede mover a lo largo del eje del husillo especificando una cantidad positiva para el offset de la longitud de la herramienta. Esta cantidad es normalmente la longitud de la herramienta de corte en uso, por lo que el punto controlado está al final de la herramienta de corte. En un torno, los offsets de longitud de herramienta se pueden especificar para los ejes X y Z, y el punto controlado esta en la punta de la herramienta o ligeramente fuera de ella (donde se intersectan las líneas perpendiculares al eje que tocan el frente y flanco de la herramienta).

2.4. Movimiento lineal coordinado

Para manejar una herramienta a lo largo de una ruta especifica, un centro de mecanizado debe coordinar el movimiento de varios ejes. Usamos el término movimiento lineal coordinado para describir la situación en la que, nominalmente, cada eje se mueve a velocidad constante y todos los ejes se mueven desde sus posiciones iniciales a sus posiciones finales al mismo tiempo. Si solo los ejes X, Y y Z (o uno o dos de ellos) se mueven, se produce movimiento en una línea recta, de ahí la palabra lineal en el término. En movimientos reales, a menudo no es posible mantener la velocidad constante porque se requiere aceleración o desaceleración al comienzo y/o al final del movimiento. Sin embargo, es factible controlar los ejes para que, en todo momento, cada eje haya completado la misma fracción del movimiento requerido que los otros ejes. Esto mueve la herramienta a lo largo de la misma ruta, y también llamamos a este tipo de movimiento movimiento lineal coordinado.

El movimiento lineal coordinado se puede realizar a la velocidad de avance prevalente, o a la velocidad de cruce, o puede estar sincronizado con la rotación del husillo. Si los límites físicos en la velocidad del eje hacen que la tasa deseada sea inalcanzable, todos los ejes se ralentizan para mantener el camino deseado.

2.5. Velocidad de alimentación

La velocidad a la que se mueve el punto controlado es, nominalmente, la velocidad estable que puede establecer el usuario. En el intérprete, la tasa de alimentación se interpreta de la siguiente manera (a menos que se usen los modos alimentación inversa al tiempo o alimentación por revolución, en cuyo caso, consulte la sección G93-G94-G95-Mode).

  1. Si X, Y o Z se mueven, F está en unidades por minuto en el sistema cartesiano XYZ, y todos los demás ejes (ABCUVW) se mueven para arrancar y parar de manera coordinada.

  2. De lo contrario, si U, V o W se mueven, F está en unidades por minuto en el sistema cartesiano UVW y todos los demás ejes (ABC) se mueven para arrancar y parar de manera coordinada.

  3. De lo contrario, el movimiento es giratorio puro y la palabra F está en unidades de rotación en el sistema pseudo-cartesiano ABC.

2.6. Cooling

El refrigerante de inundación y el refrigerante de niebla pueden encenderse independientemente. El lenguaje RS274/NGC los apaga juntos. Ver sección control de refrigerante.

2.7. Espera

Se puede ordenar que un centro de mecanizado haga dwell (es decir, mantenga todos los ejes inmóviles) durante una cantidad específica de tiempo. El uso más común de dwell es romper y despejar las virutas, por lo que el husillo suele girar durante un dwell. Independientemente del modo de control de ruta (ver la sección control de ruta) la máquina se detendrá exactamente al final del movimiento programado anterior, como si estuviera en modo de ruta exacta.

2.8. Unidades

Las unidades utilizadas para distancias a lo largo de los ejes X, Y y Z pueden medirse en milímetros o pulgadas. Las unidades para todas las demás cantidades involucradas en el control de la máquina no puede ser cambiadas. Diferentes cantidades usan diferentes unidades específicas. La velocidad del husillo se mide en revoluciones por minuto. Las posiciones de los ejes de rotación se miden en grados. La velocidad de alimentación se expresan en unidades actuales de longitud por minuto, o grados por minuto, o unidades de longitud por revolución del husillo, como se describe en la sección G93 G94 G95.

2.9. Posición actual

El lugar donde en cualquier momento se encuentra el punto controlado se llama posición actual, y el controlador siempre conoce dónde está ese punto. Los números que representan la posición actual deben ajustarse si, en ausencia de cualquier movimiento del eje, ocurre alguno de estos eventos:

  1. Se cambian las unidades de longitud.

  2. El offset de la longitud de la herramienta ha cambiado.

  3. Se modifican los offsets del sistema de coordenadas.

2.10. Plano seleccionado

Siempre hay un plano seleccionado, que debe ser el plano XY, el YZ, o el XZ del centro de mecanizado. El eje Z es, por supuesto, perpendicular al plano XY, el eje X al plano YZ, y el eje Y al plano XZ.

2.11. Carrusel de herramientas

Zero or one tool is assigned to each slot in the tool carousel.

2.12. Cambio de herramienta

A machining center may be commanded to change tools.

2.13. Pallet Shuttle

The two pallets may be exchanged by command.

2.14. Speed Override

The speed override buttons can be activated (they function normally) or rendered inoperative (they no longer have any effect). The RS274/NGC language has a command that activates all the buttons and another that disables them. See inhibition and activation speed correctors. See also here for further details.

2.15. Modo de control de ruta

El centro de mecanizado puede colocarse en cualquier modo de control de ruta entre estos tres:

modo de parada exacta

In exact stop mode, the machine stops briefly at the end of each programmed move.

exact path mode

In exact path mode, the machine follows the programmed path as exactly as possible, slowing or stopping if necessary at sharp corners of the path.

continuous mode

In continuous mode, sharp corners of the path may be rounded slightly so that the feed rate may be kept up (but by no more than the tolerance, if specified).

See sections G61 and G64.

3. Interpreter Interaction with Switches

The Interpreter interacts with several switches. This section describes the interactions in more detail. In no case does the Interpreter know what the setting of any of these switches is.

3.1. Cancelación de interruptores de avance y velocidad

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 reacts to the speed and feed override settings when these switches are enabled.

See the M48 M49 Override section for more information.

3.2. Interruptor de borrado de bloque

If the block delete switch is on, lines of G-code which start with a slash (the block delete character) are not interpreted. If the switch is off, such lines are interpreted. Normally the block delete switch should be set before starting the NGC program.

3.3. Interruptor de parada de programa opcional

If this switch is on and an M1 code is encountered, program execution is paused.

4. Tool Table

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]
# archivo de tabla de herramientas
TOOL_TABLE = tooltable.tbl

The default filename probably looks something like the above, but you may prefer to give your machine its own tool table, using the same name as your INI file, but with a tbl extension:

TOOL_TABLE = acme_300.tbl

o:

TOOL_TABLE = EMC-AXIS-SIM.tbl

For more information on the specifics of the tool table format, see the Tool Table Format section.

5. Parámetros

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.

All parameters are available for use in G-code programs.

The format of a parameter file is shown in the following table. The file consists of any number of header lines, followed by one blank line, followed by any number of lines of data. The Interpreter skips over the header lines. It is important that there be exactly one blank line (with no spaces or tabs, even) before the data. The header line shown in the following table describes the data columns, so it is suggested (but not required) that that line always be included in the header.

El intérprete solo lee las dos primeras columnas de la tabla. La tercer columna, Comentario, no es leída por el intérprete.

Cada línea del archivo contiene el número de índice del parámetro en la primera columna y, en la segunda columna, el valor al que ese parámetro debe establecerse. El valor se representa como un numero flotante de doble precisión dentro del intérprete, pero el punto decimal no es obligatorio en el archivo. Todos los parámetros que se muestran en la siguiente tabla son parámetros requeridos y deben ser incluidos en cualquier archivo de parámetros, excepto cualquier parámetro que represente un valor de eje de rotación para un eje no utilizado, que puede omitirse. Se señalará un error si falta algún parámetro requerido. El archivo puede incluir cualquier otro parámetro, siempre que su número esté en el rango de 1 a 5400. Los números de los parámetros se deben organizar en orden ascendente; si no lo estan, se señalará un error. Cualquier parámetro incluido en el archivo leído por el intérprete se incluirá en el archivo que se escriba cuando se cierre. El archivo original se guarda como un archivo de copia de seguridad cuando se escribe el nuevo archivo. Los comentarios no se conservan cuando se escribe el archivo.

Tabla 1. Parameter File Format
Parameter Number Parameter Value Comment

5161

0.0

G28 Home X

5162

0.0

G28 Home Y

Vea la sección Parámetros para mas información.