MANUAL USO Y PROGRAMACION EN ESPAÑOL versión 1.0.0
Escrito por Nestor Eduardo Gonzalez RobotMatic CNC robotmatic.blogspot.com
[email protected] revision 27-11-2013
Para comenzar! Este manual esta escrito para poder brindar apoyo en español a todo aquel que quiera utilizar el sistema no propietario de código abierto para controlar maquinas con tecnología cnc bajo plataforma Linux denominado Linuxcnc. El mismo se utiliza en numerosos equipos en todo el mundo y es implementado por nosotros en nuestra linea de equipos RobotMatic cnc en Argentina. Podrán encontrar información oficial en la pagina www.linuxcnc.org , nosotros no pretendemos realizar una traducción del manual en ingles de forma literal, ya que nuestro criterio no coincide con el tipo de estructura que se utilizo para el manual original. Como Autor de este manual, pretendo volcar toda mi experiencia en la conversión de maquinas herramientas de uso industrial, tornos, fresas, routers, y todo tipo de maquinaria de ejes cartesiano. Pretendo Darle la herramienta necesaria que le permitirá Disponer de todo el potencial de Linuxcnc para que pueda rápidamente utilizarlo en su maquina herramienta. Linuxcnc es un excelente software de control, permite programación de alto nivel, programación ISO standard y parametrica, permite ejecutar programas post-procesados con sistemas CAM sin tener nada que envidiarle a los sistemas comerciales tipo FANUC, FAGOR, etc. El potencial de este software de control es muy amplio, permite múltiples configuración predeterminadas por plantillas de configuración en archivos .ini donde usted podrá rápidamente adaptar cualquier tipo de maquinaria al sistema. Desarrollaremos el manual en forma progresiva, en función a los temas que consideramos usted debe saber para utilizarlo. No pretenda saltear capítulos, todos los temas están encadenados y tiene suma importancia para que usted pueda aprovechar el máximo potencial del sistema. Si usted es un usuario avanzado de Linuxcnc, este manual de servirá como apoyo ya que implementaremos técnica de programación avanzada en ISO aplicada a Linuxcnc. Permitimos el uso, la copia y la distribución de este manual en forma libre según lo establece la licencia GPL y GPL/2. Solicitamos nos escriba a la dirección de correo
[email protected] en caso de que usted quiera colaborar con el mismo, o si tiene alguna duda sobre algún tema expuesto. Agradecemos desde ya su difusión, para que todos puedan tenerlo, espero les sea útil, para nosotros un placer escribirlo y colaborar un poquito con este excelente proyecto de gran utilidad para la comunidad industrial técnica.
Contenido Capitulo 1 Conociendo. ¿ Que es LINUXCNC ? -1.0 Introducción . 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7
-¿Que es Ubuntu? -¿Que es el termino LTS? -¿Donde obtengo Ubuntu con Linuxcnc? -¿Como Instalo Ubuntu-Linuxcnc? -¿Como se actualiza Ubuntu-Linuxcnc? -Sepamos algo de los permisos -Funcionalidad de Linuxcnc
-1.1 Requerimientos de hardware PC para utilizar Linuxcnc. 1.1.1 -Características de la pc a utilizar. 1.1.2 -Unidades utilizadas para configurar el sistema. 1.1.3 -Test de latencia (Latency Test). 1.1.4 -Tabla de Mother con Latencia Registrada 1.1.5 1.1.3 -El puerto paralelo de comunicación 1.1.4 -Consideraciones sobre cableados, aislaciones y ruidos. Capitulo 2 Comenzando. ¿Como configuro LINUXCNC ? 2.0.1 2.0.2 2.0.3 2.0.4
-Estructura de configuración. -Archivos .INI -Archivos .HAL -Wizard de configuración rápida.
Capitulo 3 Capitulo 4 Capitulo 5 Programando. Codificacion ISO. Nivel Inicial (Constantes) -5.0 Introducción . 5.0.1
-¿Que son los codigos ISO?
-5.1 Programando en Linuxcnc . 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8
-Listado de codigos ISO presentes en Linuxcnc -Funciones de alto nivel presentes en Linuxcnc -G00- Movimiento Rapido -G01- Interpolacion Lineal -G02- Interpolacion circular sentido horario -G03- Interpolacion circular sentido anti-horario -G04- Retardo de tiempo de programa -G10-
Capitulo 6 Programando. Codificacion ISO. Nivel Parametrico (Variables) Capitulo 7 Programando. Sistema de Cad Cam.
-1.0 Introducción Linuxcnc es una aplicación de control CNC no propietario, libre bajo licencia GPL (Licencia General de uso publico) y GPL/2 cuyo código inicial fue escrito por el NIST (instituto nacional de standard y tecnología ) de los Estado Unidos. Originalmente se utilizo como plataforma de testeo en el NIST , hasta que La General Motors lo implemento con una placa inteligente llamada PMAC que utilizaba la rutina de tiempo real de WindowsNT en la primer versión llamada EMC. NIST considero apropiado liberar el código y desacerse del costoso paquete de WinNT para permitir realizar retrofiting de maquinas viejas y obsoletas. Así que rápidamente se tomo la decisión de migrar a plataforma GNU/Linux y utilizar una rutina relativamente nueva de tiempo real . De esta manera EMC comenzó a expandirse como proyecto a usuarios en todo el mundo. En 2003, se incorpora la tecnología HAL (capa de abstracción de hardware) donde se cambia el nombre a EMC2, permitiendo de esta manera poder hacer variaciones de conexión hardware sin tener que recompilar el sistema. En 2012, los desarrolladores tuvieron que cambiar el nombre del proyecto ya que por una demanda sobre el uso del nombre EMC2 , les es imposibilitado seguir utilizándolo, por tal motivo, deciden llamar al proyecto a partir de la versión 2.5 simplemente Linuxcnc. Como abra notado, en este breve relato del origen del sistema, desde un primer momento, el proyecto fue orientado a controlar maquinas Industriales, nutriéndose y alimentándose de las mismas necesidades que Debian resolver los equipo profesionales y eso, es lo mas importante de todo, Linuxcnc Funciona!!!!, lleva años desarrollándose y creciendo en una comunidad muy activa en todo el mundo y se nota desde un primer momento.
-1.0.1 ¿Que es Ubuntu? Ubuntu es una distribución basada en el sistema operativo multitarea y multiusuario GNU/Linux con licencia de uso publica elegido por los desarrolladores de Linuxcnc . EL mismo posee un núcleo libre (Kernel libre) que es Linux y una biblioteca de aplicaciones denominada proyecto GNU. Usted lo encontrara en la web como GNU/Linux. Ubuntu posee un entorno gráfico amigable denominado GNOME, que le permite abstraerse de la complejidad de GNU/Linux, ya que este ultimo se ejecuta en realidad en lo que se denomina terminal en modo texto. Para que usted pueda entenderlo bien, imagine una mesa , con 3 patas La mesa (distribución “UBUNTU”) Pata 1-Biblioteca de aplicaciones (Proyecto GNU). Pata 2-Núcleo libre (Linux). Pata 3-Entorno Gráfico (Proyecto GNOME). Linuxcnc se apoya en la mesa UBUNTU para correr.
Es muy común en el mundo Linux, encontrar el termino proyecto, o el termino Distribución , ya que miles de personas por voluntad propia colaborar con las mismas, y de eso se trata el termino de libre, no tiene nada que ver con gratis, Libre de Libertad, y el medio para hacerlo es participar en un proyecto, utilizarlo, compartirlo, etc. Cuando Hablamos de Distribuciones , estamos hablando de un sistema operativo a medida, creado con ciertas características a criterio de quienes lo armaron. Cuando Hablamos de Proyectos, estamos hablando de aplicaciones que corren en una Distribución especifica, o en varias. Linuxcnc es un proyecto, de la misma manera que encontrara miles de otros proyectos referidos a distintos temas. Si bien puede en principio sentirse raro al utilizarlo por primera vez, el sistema operativo Ubuntu es muy simple y ordenado, no presenta ningún problema al usuario que por primera lo utiliza. La verdad es que en mi experiencia personal, creo que me tomo dos días aprender a usar Ubuntu sin nunca antes haberlo visto. Podrá obtener información completa en la pagina oficial www.ubuntu.com , donde encontrara un enlace al español.
-1.0.2 ¿ Que es el termino LTS ? A medida que el tiempo transcurre, los Distribuciones van sufriendo mejoras, ocurre que Ubuntu va actualizándose en forma programada dos o tres veces al año, y cuando los desarrolladores obtienen una versión de sistema estable, es decir que consideran que su funcionamiento es mayormente correcto, sacan una versión que se denomina (LTS) en español, (sistema de largo tiempo, o mantenimiento) que suele estar en los 3 años , es decir que esa versión es soportada por los desarrolladores por 3 años. Linuxcnc se instala siempre en estas versiones LTS, por eso notara que es muy común que no coincida la ultima versión de Ubuntu en la pagina oficial www.ubuntu.com con la utilizada por los Desarrolladores de Linuxcnc en su pagina oficial www.linuxcnc.org . Tanto Linuxcnc como Ubuntu están vivos, avanzan conforme van apareciendo nuevos requerimientos, usted siempre tendrá en su maquina herramienta lo mejor de hoy en lo que respecta al sistema , no lo mejor de ayer!!!!!!!
-1.0.3 -¿Donde obtengo Ubuntu con Linuxcnc? Para poder descargar una versión de Ubuntu con el proyecto Linuxcnc pre-instalado tendrá que ir a la pagina oficial www.linuxcnc.org , ahí encontrara sobre la columna izquierda, un enlace (Download LiveCD) que le permitirá poder descargar el archivo .ISO Este enlace lo llevara a una pagina de descarga, donde tendrá el link a la vesion corriente de Ubuntu-Linuxcnc. Para descargar. Si usted lo desea y es experto en Linux, podrá descargar por separado Ubuntu, la versión LTS actual sobre la que esta corriendo hoy el proyecto Linuxcnc. En el mismo enlace, y en la misma pagina encontrara las instrucciones para poder hacerlo por separado, mi recomendación, es que instale desde la vesion LiveCD, pero puede estar gustoso de hacerlo por separado si lo desea.
-1.0.4 -¿Como Instalo Ubuntu-Linuxcnc? Primeramente tendrá que crear el cd, para esto con cualquier software de copia de discos tendrá que quemar el archivo .ISO Este archivo es un archivo espejo, es decir es una reproducción fiel de un cd armado. Una vez que allá realizado esta operación,podrá instalar el sistema Ubuntu-Linuxcnc. Encontrara mucha información de como quemar un disco en la web. Para poder instalar el sistema operativo, tendrá que encender su pc con el cd colocado en la lectora y con la opción de que realice el boot desde cd primero. Esto lo tendrá que tener predeterminado desde las opciones de setup de su maquina. Una vez que el proceso se inicia, le mostrara un instalador., que podrá colocar en español primeramente. Se desplegaran 3 opciones a saber Probar Ubuntu Compartir Ubuntu con Windows Instalar Ubuntu definitivamente. Probar Ubuntu Esta opción le permita ejecutar Ubuntu-Linuxcnc desde el LiveCD , Esta opción no produce ningún tipo de modificación a su pc, por supuesto que se ejecuta con mucha limitación de velocidad, ya que tiene que acceder constantemente desde el cd. Yo recomiendo esta opción para que usted le pueda dar un vistazo a todo el conjunto, hasta que logre sentirse cómodo con el mismo, podrá navegar por la web, ver archivos ejemplos, Etc. Compartir Ubuntu con Windows. Si usted es usuario de Windows y no quiere perderlo, esta opción es la correcta, le permite realizar una instalación en una partición de disco rígido sin modificarle su sistema operativo actual. Yo recomiendo esta opción para aquellos que ya utilizan un software de CNC bajo Windows y quieren ir probando Linuxcnc, mas que nada en el momento de configuración sin perder la posibilidad de poder realizar trabajos mientras esta aprendiendo a configurar Linuxcnc. Cuando usted inicialice su PC, le aparecerá un menú de arranque preguntándole con que sistema operativo quiere inicializar, con Ubuntu o con Windows. Para que usted este tranquilo, dentro de Windows encontrara en el Panel de Control -programas. Una aplicación instalada Ubuntu, puesto que el mismo es interpretado como tal, y usted puede en cualquier momento desinstalar todo Ubuntu-Linuxcnc sin perder la configuración actual de Windows. Instalar Ubuntu-Linuxcnc compartido con Windows no rompe nada, es muy inteligente para marcharse de su computador y dejarle todo como estaba.
Instalar Ubuntu Definitivamente Esta opción es la que he elegido yo, desde un principio, con ella usted instalara Ubuntu-Linuxcnc en todo su computador, la configuración anterior se perderá. Un instructivo tipo Wizard lo llevara automáticamente a realizar la instalación en forma simple y ordenada. -1.0.5-¿Como
se actualiza Ubuntu-Linuxcnc?
Si hay algo que considero potente, es la forma en que se actualiza el sistema, ya es sabido por usted que hay miles de personas en todo el mundo trabajando para ir mejorando las funcionalidades, usuarios reportando errores, administradores corrigiendo, el software Libre tiene eso de trabajo en equipo y para mi es buenísimo. Ahora bien, ¿como se implemento el sistema de actualización? , muy simple, Ubuntu tiene una aplicación que se denomina (Gestor de Actualizaciones), la misma se encarga de recopilar de la web todas las mejoras que se encuentran disponibles y mostrarla a usted para que decida si las quiere o si sigue como esta. Por supuesto que Linuxcnc también esta, y podrá ir manteniendo su sistema actualizado sin tener que hacer nada, simplemente aceptando la actualización. Quiero aclarar que en ocasiones, no es posible la actualización de Linuxcnc en forma automática, normalmente cuando se cambia el numero de versión, por ejemplo de 2.4 a 2.5 , esa actualización debe realizarse en forma manual, en la pagina encontrara el instructivo de como hacerlo cuando surja el momento. Es buena practica entrar periódicamente al sitio oficial de Linuxcnc y ver en la solapa News que novedades hay. Recuerde que usted esta en Ubuntu-Linuxcnc y hay muchas aplicaciones mas corriendo , así que cuando el Gestor de actualizaciones se ejecute en forma automática, usted vera las actualizaciones de todas, no solamente de Linuxcnc. Tranquilo, sin miedo, dele que si , coloque su clave de sistema, y wala!!! tendrá todo actualizado.
-1.0.6 Sepamos algo de los permisos Hay algo que usted necesita saber, Ubuntu es un sistema desarrollado conceptualmente para trabajar en entono de red, es decir que cumple 100% con las seguridades necesarias para que no sea vulnerable en dicho entorno. El sistema en si es multitarea y multiusuario, lo cual permite que mas de un usuario lo utilice. No pretendo ser muy extenso en este tema, pero me vasta con decirle que cuando usted instala Ubuntu , lo hace como administrador del mismo, es decir que puede realizar todas las modificaciones que usted crea necesarias. Para poder hacerlo, deberá tener siempre presente su nombre de usuario y su clave, ya que la misma les sera pedida cada vez que usted quiera realizar una modificación. Usted es responsable de que el sistema no se rompa, si comente un error, el sistema cae, es por eso que su condición de administrador es un arma de doble filo, le permite construir el sistema y destruirlo. Se acostumbrara a esta condición, todo el sistema se lo pedirá.
-1.0.7-Funcionalidad de Linuxcnc Es importante que usted tenga claro que es lo que puede hacer y que es lo que no hace Linux cnc. Dispongo un listado de ambos. Linuxcnc puede : -Controlar maquinas herramienta tales como fresadoras, tornos, robots tipo puma o scara y cualquier otro tipo de maquina de hasta 9 ejes con movimiento simultaneo. -Elegir entre varias interfaces gráficas diferente -Interpreta código G (el lenguaje de programación de maquina RS-274). -Planear los movimientos en tiempo real con análisis de instrucción siguiente -Configurar operaciones de electrónica de maquina de bajo nivel como sensores y controladores para motores -Configurar distintos tipos de maquinas con un asistente de configuración rápida. -Realizar configuraciones basadas en lógica de escalera ya que posee un PLC integrado. -Operar servomecanismos (analógicos o por PWM) con retroalimentación del lazo cerrado por software. -Operar en lazo abierto con motores a pasos o “paso-servos” -Otorgar compensación de radio y largo, desviación de la trayectoria limitada a una tolerancia especificada, roscado en torno, movimientos de ejes sincronizados, velocidad de alimentación adaptiva, velocidad de alimentación controlada por el operador, control de velocidad constante. -Dar soporte para sistemas no cartesianos a través de un modulo de cinemática. Hexapodos (plataformas Stewart y conceptos similares) y sistemas con ejes rotatorios para proporcionar movimiento como en los robots PUMA o SCARA. Linuxcnc No puede : -Proveer capacidades de dibujo (CAD - Dibujo asistido por computadora) -Proveer generación de código G a partir de dibujos (CAM – Manufactura asistida por computadora). -Ejecutar un programa de longitud infinita (Transmisión DNC serial) , ya que necesita tener el código G cargado en memoria RAM antes de su ejecución. Como vera en los listados, son muchas mas los puede que las no puede, pero a modo de resumen, Linuxcnc es un controlador de maquina herramienta, necesita que le entreguen de alguna manera las instrucciones a ejecutar, ya que el no es un generador de instrucciones.
-1.1 Requerimientos de hardware PC para utilizar Linuxcnc. -1.1.1 Características de la pc a utilizar. Para poder ejecutar Ubuntu-Linuxcnc en un computador, Hay ciertos requerimientos que son necesarios. Los mismos dependen no solo de la versión de Linuxcnc que usted esta utilizando, sino que mas bien de la versión de Ubuntu. La versión actual al momento de escribir este manual es Ubuntu 10.04 Lucid Lynx. Lo mas importante de todo es el resultado de testeo que obtenga del sistema cuando ejecuta el Test de Latencia (Latency test), vamos luego a profundizar sobre este tema. Linuxcnc funciona con el sistema de tiempo real, RTAPI, el mismo es el que se encarga de ejecutar todos los procesos que internamente están presentes. No es recomendable Notebooks ni placas madres con placa de vídeo incorporada, ya que le da baja performance a todo el sistema. Pude utilizar una Notebook si el Latency Test da resultados correctos, pero en la mayoría de los casos no es conveniente ya que se han reportado muchos errores en la comunidad respecto al mal funcionamiento aleatorio que se produce. Veamos los requisitos mínimos para instalar Ubuntu 10.04 Lucid Lynx. "recomendados". Por lo general, se puede ejecutar Ubuntu en hardware más antiguo de lo especificado, aunque el rendimiento necesariamente va a ser menor.
* Procesador: 1 GHz x86. * Memoria RAM: 512 MB. * Disco Duro: 5 GB (para una instalación completa con swapping incluida). * Tarjeta gráfica VGA y monitor capaz de soportar una resolución de 1024x768. * Lector de CD-ROM o tarjeta de red. * Conexión a Internet.
Linuxcnc ejecuta perfectamente con estos requerimientos mínimos, pero le repito, solamente el (Latency Test) le dirá si su configuración es correcta.
-1.1.2 Unidades utilizada para configuar el sistema cnc. Considero sumamente importante antes de entrar en los temas siguientes, la necesidad de conocer como desarrollador cuales son las unidades de trabajo utilizadas, sin el manejo de ellas, no podra entender como configuar correctamente un sistema CNC. Teniendo en cuenta que este es un manual en español, damos a continuacion las descripciones de las distintas unidades. Unidades de Tiempo. 1 seg = 1 000 milisegundos = 1ms 1 seg = 1 000 000 microsegundos = 1us 1 seg = 1 000 000 000 nanosegundos. = 1ns 1 Hz = 1 ciclo/seg – frecuencia en Hercio. 1/seg 1 Khz = 1 000 ciclos/seg = 1 000 Hz. 1 Mhz = 1 000 000 ciclos/seg = 1 millon Hz 1 Ghz = 1 000 000 000 ciclos/seg = 1000 millones Hz Unidades de espacio. 1 metro = 1000 milimetros Unidades de movimiento. Velocidad = metro/seg Asceleracion = metro/seg2 Unidades de fuerza. Fuerza = Newton. Unidades de Trabajo Trabajo = Newton/metros = Nm.
-1.1.3 -Test de latencia (Latency Test). El test de Latencia es una aplicación que nos permite determinar si las características de la Pc que queremos utilizar son adecuadas para poder utilizarla con linuxcnc. Cuando hablamos de Latencia estamos refiriéndonos a latidos, es decir , estamos hablando de una referencia de tiempo periódico en donde la PC, podrá detenerse y responder a una solicitud externa, ya sea un pulsador de emergencia o un final de carrera por ejemplo. También obtendremos la referencia para la generación de pulsos del motor, entre menor sea la latencia, mas rápido se generaran los latidos, y mas rápidos y suaves serán los pulsos de paso. Para utilizarlo correctamente, deberá de abusar de la computadora. Mueva ventanas alrededor de la pantalla. Navegue en internet. Copie algunos archivos de gran tamaño en diferentes partes del disco duro. Reproduzca musica. Corra algún programa OpenGl . La idea es poner a la computadora en apuros mientras se ejecuta la prueba para poder tener una idea de cuales serán los peores casos de demanda a la computadora y sus tiempo de respuesta. Ejecute la prueba al menos unos cuantos minutos. Entre mas tiempo la ejecute mas probable es que detecte casos especiales que solo suceden en intervalos poco frecuentes. Esta prueba es solo para la computadora, no se requiere que conecte los controladores de motores o la maquina herramienta. No ejecute LinuxCNC mientras realiza la prueba de latencia.
así se ve la prueba de Latencia Analicemos un poco el test de Latencia: Primeramente tiene que entender los terminos y conceptos que se utilizan en el mismo, y para esto tenemos que meternos un poquito dentro del funcionamiento de un sistema operativo multitarea. Cuando el sistema operativo GNU/Linux se ejecuta, utiliza los denominados Hilos (Thread) , este es la minima unidad de ejecucion de un proceso en un sistema operativo, en el se almacena el bloque de programa, la pila y el estado del conjunto de registros del microprocesador.
Ya en ejecucion, utiliza muchos Thread para poder repartir los recursos de la cpu entre todos los procesos o programas que se estan ejecutando, de esta manera podemos trabajar en lo que se denomina modo Multitarea. Para que se entienda, nosostros podemos navegar por internet, escuchar musica, operar el teclado , etc todo al mismo tiempo (humano), porque un conjunto de thread se estan ejecutando en intervalos de tiempo(electronico) muy cortos. En realidad el microprocesador solo puede ejecutar un comando a la vez, pero como es muy rapido electronicamente , con la ayuda del sistema operativo manipulando los Thread todo los procesos funcionan concurrentemente, es decir al mismo tiempo humano. Cuando Linuxcnc se ejecuta dispara dos Thread, que se denominan Servo Thread y Base Thread, el primero lo utiliza para procesos lentos y el segundo para procesos rapidos, vera que la unidad de medida en uno y otro son diferentes, Servo Thread mide (1.0ms “Lento”), este hilo se utiliza para atender finales de carrera, bombas de soluble, etc y Base Thread (25.0 micro-seg “rapido”) es el que se utiliza como generador de pulso para mover un motor. Ahora bien, cuando ejecutamos el test, el valor crucial es el Base Thread, ya que si el hardware de la pc no responde correctamente linuxcnc no podra generar los intervalos necesarios para poder accionar un motor a una frecuencia de tiempo adecuada. Es por este motivo que exite el test de Latencia, y es la primera instancia a cumplir para poder armar un sistema de control numerico basado en un PC. Pero aquí no termia el tema, nos queda entender que es el “JITTER” y por que motivo necesitamos saber el valor maximo del mismo. JITTER es un termino utilizado en el manejo de señales, o mas bien en comunicaciones, y se utilizar para determinar desviaciones en el envio de las mismas. Es decir, que un numero JITTER me estara mostrando cual es la desviacion de tiempo entre que se manda y se recibe un Dato por medio de un sistema de transmision.Resumiendo, es la variación de retardos entre paquetes de la misma comunicación. En una transmision los datos no pueden llegar ni antes ni despues de que sean solicitados, por este motivo el JITTER es un numero importante a saber para poder tener todo el sistema en pefecto funcionamiento. En un sistema teorico de transmision de datos el JITTER es 0, pero en el real nunca lo es,siempre se producen retardo y es por eso que necesita ser medido y cargado al sistema cuando es configurado. El "Max Jitter" no indica la maxima desviacion de tiempo en la transmision de un bloque de datos. En el ejemplo anterior 9075 nanosegundos, o 9.075 microsegundos, es el máximo retraso. Guarde este numero, y escríbalo en la caja Base Periodo Máximum Jitter cuando se lo pida el wizard de configuración. Si el máximo retraso es menor o se encuentra entre 15-20 microsegundos (15000-20000 nanosegundos), la computadora debería de dar muy buenos resultados con la generación de pulsos de pasos. Si la latencia máxima esta entre 30-50 microsegundos, se pueden seguir obteniendo buenos resultados, pero la tasa máxima de generación de pulsos puede ser un poco decepcionante, especialmente si se usan micro pasos o un tornillo con un paso muy fino. Si los números son 100us o mas (100 000 nanosegundos), la PC no es una buena candidata para la generación de pulsos de paso por software. Números arriba de 1 milisegundo (1 000 000 nanosegundos) significan que la PC no es una buena candidata para ejecutar LinuxCNC, sin importar si se usa generación de pulsos de paso por software o no.
-1.1.4 -Tabla de Mother con Latencia Registrada A continuacion, dejamos una tabla que obtuvimos de la Documentacion oficial de Linuxcnc con el detalle de algunas Placas Madres que an sido testeadas y comprobado su funcionamiento correcto con linuxcnc. Si su placa Madre no figura en la siguiente lista no se desespere, no quiere decir que no sirva, simplemente es que no se tiene registro de su funcionamiento, usted debera probarla para poder utilizar Linuxcnc. Placas Madres
CPU
Intervalo Max (1ms)
hay cuatro componentes principales del software de EMC2: un controlador de movimiento, un discreto controlador I / O, un ejecutor de tareas que los coordina, y las interfaces gráficas de usuario. Además, hay una capa llamada HAL (Hardware Abstraction Layer) que permite la configuración de EMC2, sin necesidad de recompilar