El código G (también RS-274 ) es el lenguaje de programación de impresión 3D y control numérico por computadora (CNC) más utilizado . Se utiliza principalmente en la fabricación asistida por ordenador para controlar máquinas herramienta automatizadas , así como para aplicaciones de corte de impresoras 3D . La G significa geometría. El código G tiene muchas variantes.
Las instrucciones de código G se proporcionan a un controlador de máquina (computadora industrial) que indica a los motores dónde moverse, qué tan rápido deben moverse y qué camino seguir. Las dos situaciones más comunes son que, dentro de una máquina herramienta como un torno o una fresadora , una herramienta de corte se mueve de acuerdo con estas instrucciones a través de una trayectoria que corta material para dejar solo la pieza de trabajo terminada y/o una pieza de trabajo sin terminar se coloca con precisión en cualquiera de hasta nueve ejes [1] alrededor de las tres dimensiones relativas a una trayectoria de herramienta y uno o ambos pueden moverse entre sí. El mismo concepto también se extiende a herramientas que no son cortantes, como herramientas de conformado o pulido , fototrazado , métodos aditivos como la impresión 3D e instrumentos de medición.
La primera implementación de un lenguaje de programación de control numérico se desarrolló en el Laboratorio de Servomecanismos del MIT en la década de 1950. En las décadas siguientes, numerosas organizaciones, tanto comerciales como no comerciales, desarrollaron muchas implementaciones. En estas implementaciones se habían utilizado a menudo elementos del código G. [2] [3] La primera versión estandarizada del código G utilizada en los Estados Unidos, RS-274 , fue publicada en 1963 por la Electronic Industries Alliance (EIA; entonces conocida como Electronic Industries Association). [4] En 1974, la EIA aprobó el RS-274-C , que fusionó RS-273 (bloque variable para posicionamiento y corte recto) y RS-274-B (bloque variable para contorneado y contorneado/posicionamiento). Una revisión final del RS-274 fue aprobada en 1979, como RS-274-D . [5] [6] En otros países, la norma ISO 6983 (finalizada en 1982) se utiliza a menudo, pero muchos países europeos utilizan otras normas. [7] Por ejemplo, en Alemania se utiliza DIN 66025 , y en Polonia se utilizaban anteriormente PN-73M-55256 y PN-93/M-55251.
Durante las décadas de 1970 y 1990, muchos fabricantes de máquinas herramienta CNC intentaron superar las dificultades de compatibilidad estandarizando los controladores de máquinas herramienta construidos por Fanuc . Siemens fue otro dominador del mercado de controles CNC, especialmente en Europa. En la década de 2010, las diferencias e incompatibilidad de los controladores no son tan problemáticas porque las operaciones de mecanizado generalmente se desarrollan con aplicaciones CAD/CAM que pueden generar el código G apropiado para una máquina específica a través de una herramienta de software llamada posprocesador (a veces abreviado a solo un "correo").
El código G comenzó como un lenguaje limitado que carecía de construcciones como bucles, operadores condicionales y variables declaradas por el programador con nombres que incluyeran palabras naturales (o las expresiones en las que usarlos). No pudo codificar la lógica, pero era solo una forma de "conectar los puntos" donde el programador descubrió muchas de las ubicaciones de los puntos a mano. Las últimas implementaciones de código G incluyen capacidades de lenguaje de macros algo más cercanas a un lenguaje de programación de alto nivel . Además, todos los fabricantes principales (por ejemplo, Fanuc, Siemens, Heidenhain ) brindan acceso a datos del controlador lógico programable (PLC), como datos de posicionamiento de ejes y datos de herramientas, [8] a través de variables utilizadas por los programas NC. Estas construcciones facilitan el desarrollo de aplicaciones de automatización.
Los fabricantes de controles y de máquinas herramienta han agregado extensiones y variaciones de forma independiente, y los operadores de un controlador específico deben ser conscientes de las diferencias entre los productos de cada fabricante.
Una versión estandarizada del código G, conocida como BCL (Binary Cutter Language), se utiliza sólo en muy pocas máquinas. Desarrollado en el MIT, BCL fue desarrollado para controlar máquinas CNC en términos de líneas rectas y arcos. [9]
Algunas máquinas CNC utilizan programación "conversacional", que es un modo de programación similar a un asistente que oculta el código G o evita por completo su uso. Algunos ejemplos populares son Advanced One Touch (AOT) de Okuma, ProtoTRAK de Southwestern Industries, Mazatrol de Mazak, Ultimax y Winmax de Hurco, Sistema de programación intuitiva (IPS) de Haas y el software conversacional CAPS de Mori Seiki.