Referenciar variables de macro personalizada por nombre en sistemas CNC FANUC
Las macros personalizadas proporcionan acceso a muchas funciones relacionadas con CNC a través de lo que FANUC llama variables de sistema. Estos datos incluyen, entre otros:
- Señales de entrada/salida (comunicación con dispositivos externos)
- Offsets (lectura y escritura en registros de offset)
- Visualización de alarmas y mensajes (generar alarmas CNC cuando el programa detecta un error)
- Acceso a funciones del panel de operador (habilitar/deshabilitar bloque único, parada de avance y anulación de velocidad de avance)
- Acceso a hora/fecha y temporizadores de reloj (cronometrar eventos)
- Acceso a estados modales actuales (determinar/cambiar modos)
- Acceso a posición actual de ejes (importante al usar un palpador)
Tradicionalmente, FANUC requería referenciar estos datos usando una serie de números de cuatro dígitos difíciles de recordar. La generación de alarmas, por ejemplo, puede especificarse con la variable de sistema #3000. El siguiente comando #3000=100(HERRAMIENTA DEMASIADO ANCHA) generará la alarma «MC-100 HERRAMIENTA DEMASIADO ANCHA».
Los CNCs FANUC ahora permiten referenciar adicionalmente variables de sistema por nombres. El nombre para la variable de generación de alarmas, por ejemplo, es [#_ALM]. Todos los nombres de variables de sistema están entre corchetes y comienzan con signo de libra y guion bajo (#_). Este comando [#_ALM]=100(HERRAMIENTA DEMASIADO ANCHA) también generará la alarma mostrada.
La primera ventaja de usar nombres en lugar de números es obvia: facilidad de reconocimiento. Alguien no familiarizado con la numeración de variables de sistema entenderá más fácilmente qué ocurre en comandos que incorporan nombres de variables de sistema.
Una segunda ventaja tiene que ver con variables de sistema que proveen acceso a datos numerados, como offsets. Cada tipo de datos tiene una serie bastante arbitraria de números de variables de sistema asociados. Con una configuración popular de tabla de offsets de centro de mecanizado, por ejemplo, FANUC usa variables de sistema numeradas #2201-#2400 para acceder a registros de geometría de compensación de longitud de herramienta para offsets 1-200. Otro conjunto para desgaste de longitud (#2001-#2200). Otros conjuntos para geometría de compensación de radio de cortador (#2601-#2800) y registros de desgaste de radio (#2401-2600).
Aunque existen algoritmos que simplifican el acceso a registros individuales, recordar qué serie corresponde a cada tipo de dato de offset es difícil. Y de nuevo, los números no serán reconocibles para gente no familiarizada con macro personalizada. Para empeorar, las series varían entre CNCs FANUC y configuraciones de tabla de offsets.
Con nombramiento de variables de sistema para datos numerados, el número de dato corresponde al número de registro. Si se accede a dato en offset número cinco (desgaste o geometría, longitud o radio), el número de dato será cinco. Además, el nombre de la variable de sistema tendrá más sentido que el número.
Aquí están los nombres de variables de sistema para la tabla de offsets de centro de mecanizado discutida (la letra n representa el número de dato):
- [#_OFSHG[n]] — offset de geometría de compensación de longitud de herramienta
- [#_OFSHW[n]] — offset de desgaste de compensación de longitud de herramienta
- [#_OFSDG[n]] — offset de geometría de compensación de radio de cortador
- [#_OFSDW[n]] — offset de desgaste de compensación de radio de cortador
Cualquiera de los siguientes comandos almacena el valor actual del registro de offset de geometría de longitud de herramienta número cinco en la variable común #101.
- #101 = [#_OFSHG[5]]
- #101 = #2205
No tiene control sobre el nombramiento de variables de sistema. Debe encontrar sus nombres predeterminados en el manual del operador FANUC. Sin embargo, puede usar el comando SETVN para nombrar 50 de las variables comunes permanentes de la serie #500 (#500-#549) con hasta ocho caracteres y números (el nombre debe comenzar con un carácter). Una vez nombradas, como con variables de sistema, puede referenciar la variable por su número o nombre.
Considere este comando SETVN: SETVN 510[DIA1, LONG1, DIA2, LONG2].
El valor 510 especifica la primera variable común permanente a nombrar (#510). El nombre (antes de la primera coma) es el nombre de variable para #510. Cada nombre sucesivo se aplicará en secuencia a las variables comunes permanentes subsiguientes. Una vez ejecutado este comando una vez, cuatro variables comunes permanentes desde #510 hasta #513 serán nombradas como [#DIA1], [#LONG1], [#DIA2], y [#LONG2] respectivamente. Note que la variable nombrada debe estar entre corchetes y comenzar con signo de libra. Los nombres se retendrán hasta que se cambien, incluso tras ciclar la alimentación.
Nombrar variables comunes permanentes funciona bien con constantes de sistema —valores usados entre múltiples programas y posiblemente entre múltiples máquinas similares. Considere, por ejemplo, tener dos tornos similares. Uno usa M41 y M42 para rango bajo y alto de husillo. El otro usa M23 y M25. Considere este comando SETVN: SETVN 521[RANGO_BAJO, RANGO_ALTO].
En cada máquina, establezca la variable común permanente #521 al valor M-code de rango bajo (23 o 41) y #522 al valor de rango alto (25 o 42). Incluya estos M-codes en programas CNC para especificar rango de husillo:
- M[#RANGO_BAJO] — selecciona rango bajo
- M[#RANGO_ALTO] — selecciona rango alto
Otras constantes de sistema que podría considerar:
- [#DIST_APROX] — facilita modificar distancia de aproximación rápida
- [#PORC_VEL] y/o [#PORC_AVANCE] — modifica condiciones de corte para variaciones de dureza de material
- [#AVANCE_RAPIDO] — especifica velocidad de avance para movimientos de aproximación/retracción
Equipo industrial
- Mejore la Eficiencia de sus Sistemas de Compresores de Aire: Consejos y Estrategias Comprobadas
- Cómo las Condiciones del Sitio Impactan la Eficiencia y Costos Energéticos del Compresor de Aire
- Dominando las auditorías de vacío: Por qué importan y cómo ejecutarlas
- Prevención de paradas de producción: Cómo los contaminantes en el aire comprimido afectan a los procesos
- Guía experta para mantener su compresor de aire en rendimiento máximo
- Variables, constantes y literales en C: guía completa
- Entendiendo las clases de almacenamiento en C: ámbito, vida y rendimiento
- Entendiendo las variables en C: Tipos, reglas de nomenclatura y gestión de memoria
- Entendiendo el Alcance de Variables en C++: Variables Locales vs Globales
- Tipos de variables en Python: Entendiendo y usando tipos de datos
- Entendiendo los Tipos de Variables en Java: Guía Completa