LinuxCNC is modular and flexible. These attributes lead many to see it as a confusing jumble of little things and wonder why it is the way it is. This page attempts to answer that question before you get into the thick of things.
LinuxCNC comenzó en el Instituto Nacional de Estándares y Tecnología (NIST) en EE.UU.. Creció usando Unix como su sistema operativo. Unix lo hizo diferente. Entre los primeros desarrolladores de Unix creció un conjunto de ideas de escritura de código que algunos llaman "la manera Unix". Estos primeros autores de LinuxCNC siguieron esas maneras.
Eric S. Raymond, en su libro The Art of Unix Programming, resume la filosofía Unix como una filosofía de ingeniería ampliamente utilizada, "Mantenlo simple, estúpido" ("Keep it Simple, Stupid" o Principio KISS). Luego describe cómo cree que esta filosofía general se aplica como una norma cultural en Unix aunque, como era de esperar, no es difícil encontrar violaciones graves de la mayoría de las siguientes prácticas en la realidad de Unix:
-
Regla de modularidad: escribir partes simples conectadas por interfaces claras.
-
Regla de claridad: la claridad es mejor que el ingenio.
-
Regla de composición: diseñar programas para conectarse a otros programas.
-
Regla de separación: Separar las políticas de los mecanismos; separar interfaces de motores. [1]
El Sr. Raymond ofreció varias reglas más, pero estas cuatro describen las características esenciales del sistema de control de movimiento LinuxCNC.
La regla de modularidad es crítica. A lo largo de estos manuales encontrará grandes párrafos sobre el intérprete o el planificador de tareas o el movimiento o sobre HAL. Cada uno de estos es un módulo o colección de módulos. Es esta modularidad la que permite conectar solo las partes que usted necesita para hacer funcionar su máquina (n.t. sin llenar su pantalla de florituras, ocupar su CPU en mantenerlas en funcionamiento ni darle mas oportunidades que las precisas a Murphy y sus reglas).
La regla Claridad tambien es esencial. LinuxCNC es un trabajo en progreso, esta sin terminar ni lo estará jamás. Es lo suficientemente completo como para hacer funcionar la mayoría de las máquinas que queramos. Gran parte de ese progreso se logra porque muchos usuarios y desarrolladores de código pueden ver el trabajo de otros y construir sobre lo ya hecho.
La regla Composición nos permite construir un sistema de control predecible a partir de los muchos módulos disponibles, que son conectables. La conectividad se logra configurando interfaces estándar para conjuntos de módulos y siguiendo esos estándares.
La regla de Separación requiere que se construyan partes distintas que hagan cosas pequeñas. Separando funciones, la depuración es mucho mas fácil y los reemplazos de módulos se pueden introducir en el sistema y hacer comparaciones fácilmente.
¿Qué significa "la manera Unix" para usted como usuario de LinuxCNC?. Significa que usted puede tomar decisiones sobre cómo usará el sistema. Muchas de estas elecciones se harán durante la integración de la máquina, pero muchas también afectaran a la forma en que se usará la máquina. Durante la lectura de la documentacion, encontrará muchos lugares donde tendrá que hacer comparaciones. Eventualmente se deberan tomar decisiones, "Usaré esta interfaz en lugar de esa otra" o "Voy a escribir offsets de piezas de esta manera en lugar de hacerlo de esa otra". A lo largo de estos manuales describimos el rango de posibilidades disponibles actualmente.
Al comenzar su viaje hacia el uso de LinuxCNC, le ofrecemos dos notas precautorias: [2]
-
Parafraseando las palabras de Doug Gwyn en UNIX: "LinuxCNC no fue diseñado para evitar que sus usuarios hagan cosas estúpidas, ya que eso también les impediría hacer cosas ingeniosas."
-
También las palabras de Steven King: "LinuxCNC es fácil de usar. Simplemente no se descuida con respecto a qué tipo de usuarios es amigable".
Una serie de videos en YouTube evidencían plenamente que es posible una transición a LinuxCNC sin importar el sistema operativo que sea. Dicho lo anterior, con el advenimiento de la manufactura aditiva como la impresión 3D, hay un creciente interés en la extensa comunidad de TI por el mecanizado CNC, y debería ser posible encontrar cerca de ti a alguien con las habilidades complementarias/equipamiento para, en conjunto, superar las obstáculos iniciales.