This section gives a brief description of how a CNC machine is viewed from the input and output ends of the Interpreter.
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. Ejes
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
|
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. |
|
Note
|
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. |
.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.
.Ejes de rotación 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. Husillo
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. Refrigerante
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. Porcentaje de alimentación y velocidad
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. 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. [1]
2.3. Punto controlado
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. 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
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).
-
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.
-
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.
-
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. Enfriamiento
Flood or droplets cooling can be enabled separately. RS274/NGC language stops them together. See section about cooling control.
2.7. Espera
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. Unidades
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. 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:
-
Se cambian las unidades de longitud.
-
El offset de la longitud de la herramienta ha cambiado.
-
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
Se asigna cero o una herramienta a cada ranura en el carrusel de herramientas.
2.12. Cambio de herramienta
Se puede ordenar a un centro de mecanizado que cambie las herramientas.
2.13. Pallet Shuttle
Los dos palets pueden intercambiarse por comando.
2.14. Porcentaje de velocidad
Los botones de porcentaje de velocidad pueden ser activados (como funcionan normalmente) o volverlos inoperantes (ya no tendrán efecto alguno). El lenguaje RS274/NGC tiene un comando para activar todos los botones y otro para desactivarlos. Ver inhibición y activación de correctores de velocidad. Ver también aquí para mas detalles.
2.15. Modo de control de ruta
The machining center may be put into any one of three path control modes:
- modo de parada exacta
-
En el modo de parada exacta, la máquina se detiene brevemente al final de cada movimiento programado.
- modo de ruta exacta
-
En modo de ruta exacta, la máquina sigue la ruta programada lo más exactamente posible, ralentizandose o deteniendose, si es necesario en las esquinas agudas del camino.
- modo continuo
-
En modo continuo, las esquinas de la ruta pueden ser redondeadas ligeramente para que la velocidad de alimentación pueda mantenerse actualizada (pero no mas que la tolerancia, si se ha especificado).
3. Interacción del intérprete con interruptores
El intérprete interactúa con varios interruptores. Esta sección describe las interacciones con mas detalle. En ningún caso el intérprete sabe cuál es la configuración de cualquiera de estos interruptores.
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 reacciona a la anulación de la configuración de alimentación y velocidad cuando estos interruptores están habilitados.
Consulte la sección Interruptores M48-M49 para obtener mas información.
3.2. Interruptor de borrado de bloque
Si el interruptor de borrado de bloque está activado, las líneas de código G que comienzan con una barra inclinada (el carácter de borrar bloque) no se interpretan. Si el interruptor está apagado, tales líneas sí son interpretadas. Normalmente, este interruptor debe activarse antes de iniciar el programa NGC.
3.3. Interruptor de parada de programa opcional
Si este interruptor está activado y se encuentra un código M1, la ejecución del programa entra en pausa.
4. Tabla de herramientas
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
El nombre de archivo predeterminado probablemente se parezca a lo anterior, pero es posible que prefiera darle a su máquina su propia tabla de herramientas, utilizando el mismo nombre en su archivo INI, pero con una extensión tbl:
TOOL_TABLE = acme_300.tbl
o:
TOOL_TABLE = EMC-AXIS-SIM.tbl
Para obtener mas información sobre los detalles del formato de la tabla de herramientas, vea la sección Formato de la tabla de herramientas.
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.
Todos los parámetros están disponibles para su uso en programas de código G.
El formato de un archivo de parámetros se muestra en la siguiente tabla. El archivo consiste en cualquier cantidad de líneas de encabezado, seguidas por una línea en blanco, seguidas por cualquier cantidad de líneas de datos. El intérprete omite las líneas de encabezado. Es importante que haya exactamente una línea en blanco (sin espacios ni tabuladores) antes de los datos. La línea de encabezado que se muestra en la siguiente tabla describe las columnas de datos, por lo que se sugiere (pero no es obligatorio) que esa línea siempre se incluya en el encabezamiento.
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 número 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.
| Numeración de parámetros | Valor del parámetro | Comentarios |
|---|---|---|
5161 |
0.0 |
G28 Home X |
5162 |
0.0 |
G28 Home Y |
Vea la sección Parámetros para mas información.