El código G (también RS-274 ) es el lenguaje de programación de control numérico por computadora (CNC) e impresión 3D más utilizado . Se utiliza principalmente en la fabricación asistida por computadora 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 le dice a los motores dónde moverse, a qué velocidad 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 de herramienta cortando 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 de corte, como herramientas de conformado o bruñido , fotoploteo , 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ó el RS-273 (bloque variable para posicionamiento y corte recto) y el RS-274-B (bloque variable para contornear y contornear/posicionar). En 1979 se aprobó una revisión final del RS-274 , como RS-274-D . [5] [6] En otros países, se utiliza a menudo la norma ISO 6983 (finalizada en 1982), pero muchos países europeos utilizan otras normas. [7] Por ejemplo, en Alemania se utiliza la norma DIN 66025 , y en Polonia se utilizaban anteriormente las normas PN-73M-55256 y PN-93/M-55251.
Durante los años 1970 y 1990, muchos fabricantes de máquinas herramienta CNC intentaron superar las dificultades de compatibilidad mediante la estandarización de los controladores de máquinas herramienta fabricados por Fanuc . Siemens era otro dominador del mercado de los controles CNC, especialmente en Europa. En la década de 2010, las diferencias y la incompatibilidad de los controladores no son tan problemáticas porque las operaciones de mecanizado suelen desarrollarse con aplicaciones CAD/CAM que pueden generar el código G adecuado para una máquina específica a través de una herramienta de software llamada posprocesador (a veces abreviado simplemente como "pos").
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 usarlas). No podía codificar la lógica, sino que era solo una forma de "conectar los puntos" donde el programador averiguaba muchas de las ubicaciones de los puntos a mano. Las últimas implementaciones del código G incluyen capacidades de lenguaje macro 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 de controladores lógicos programables (PLC), como datos de posicionamiento de ejes y datos de herramientas, [8] a través de variables utilizadas por 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 solo en muy pocas máquinas. Desarrollado en el MIT, el 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, Intuitive Programming System (IPS) de Haas y el software conversacional CAPS de Mori Seiki.