Вы находитесь на странице: 1из 73

Curso programación paramétrica

Héctor M. Peláez García


DIAGRAMA DE FLUJO DEFINICIÓN DE PARÁMETROS
DE UN ALGORITMO

ANALIZAR ERRORES DE
DEFINICIÓN
¿ERRORES?

NO

POSICIONAR HERRAMIENTA

INCREMENTAR CONTADOR

SI
EVALUAR CONTADOR
¿SOBREPASADO LIMITE?

NO
OTRA PASADA

CALCULO DE POSICIONES

SI

MOVIMIENTO A POSICIONES

¿POSIBILIDAD ULTIMA
PASADA ?

SI

EVALUAR ULTIMA POSICION

NO
CALCULO ULTIMA POSICIÓN

MOVIMIENTO ULTIMA POSICIÓN

FIN
Curso programación paramétrica Héctor M. Peláez

CNC 8070

MANUAL DE PROGRAMACIÓN

Página 31 de 235
Curso programación paramétrica Héctor M. Peláez

Programación en lenguaje de alto nivel FAGOR 8070


Los comandos que componen el lenguaje de alto nivel están compuestos por
sentencias de control "#" e instrucciones de control de flujo "$".

Estructura del bloque

Un bloque programado en alto nivel puede contener los siguientes datos, no siendo
necesaria la programación de todos ellos.
Programación en lenguaje de alto nivel
CONSTRUCCIÓN DE UN PROGRAMA

/ N— Comandos en lenguaje de alto nivel (—)


(1) (2) (3) (4)

La condición de salto de bloque y la identificación del bloque siempre se deben


programar al principio del bloque.
1. Condición de salto de bloque "/"
Si la marca de salto de bloque se encuentra activa, el CNC no ejecutará los
bloques en los que se encuentra programada, continuando con la ejecución en
el bloque siguiente.
El control va leyendo varios bloques por delante del que se está ejecutando, para
calcular con antelación la trayectoria a recorrer. La condición de salto de bloque
se analiza en el momento en el que se lee el bloque.
2. Identificación del bloque "N"
Se deben programar cuando el bloque se utilice como destino de referencias o
saltos. En este caso, se recomienda programarla sola en el bloque. Se pueden
representar de dos formas:
• La letra "N" seguida del número de bloque (0-4294967295) y del carácter ":"
(sólo cuando la etiqueta se utilice como destino en un salto de bloque), no
siendo necesario seguir ningún orden y permitiéndose números salteados.
Si la etiqueta no es destino de un salto y se programa sin ":", puede ir en
cualquier posición del bloque, no necesariamente al comienzo.
• Etiquetas del tipo "[<nombre>]", donde <nombre> puede tener una longitud
de hasta 14 caracteres y estar formado por letras mayúsculas, minúsculas
y por números (no admite espacios en blanco).
Se pueden programar ambos datos en un mismo bloque.
3. Comandos en lenguaje de alto nivel "#—" y "$—"
Los comandos en lenguaje de alto nivel engloban a las sentencias e instrucciones
de control de flujo.
• Las sentencias se programan precedidas del símbolo "#" y sólo se puede
programar una por bloque. Se emplean para realizar diversas funciones.
• Las instrucciones de control de flujo se programan precedidas del símbolo
"$" y sólo se puede programar una por bloque. Se emplean para la
construcción de bucles y saltos de programa.
También se pueden considerar como comandos en alto nivel la asignación de
valores a parámetros y variables.

CNC 8070
4. Comentario de bloques "(...)"
Permite asociar a los bloques cualquier tipo de información a modo de
comentario. Cuando se ejecuta el programa, el CNC ignora esta información.
La información que se desea considerar como comentario se debe definir entre
paréntesis "(" y ")". No tiene porqué ir al final del bloque; puede ir en medio y haber
más de un comentario en el mismo bloque.
Programando en lenguaje de alto nivel, también se puede definir comentarios
mediante las sentencias "#COMMENT BEGIN" y "#COMMENT END".

Página 32 de 235
Curso programación paramétrica Héctor M. Peláez

Parámetros, constantes y expresiones

Las constantes, parámetros, variables y expresiones aritméticas se pueden emplear


tanto desde bloques ISO como desde comandos especiales $ y #.

Constantes

Son aquellos valores fijos que no pueden ser alterados por programa, siendo
consideradas como constantes los números expresados en sistema decimal, y las
tablas y variables de sólo lectura ya que su valor no puede ser alterado dentro de

CONSTRUCCIÓN DE UN PROGRAMA
Parámetros, constantes y expresiones
un programa.

Variables

El CNC dispone de una serie de variables internas que pueden ser accedidas desde
el programa de usuario, desde el PLC o desde el interface.

El usuario puede crear sus propias variables, de la siguiente manera.


V.P.name - Variable de usuario local al programa.
V.S.name - Variable de usuario global al programa.

Parámetros aritméticos

Los parámetros son variables de propósito general que el usuario puede utilizar para
crear sus propios programas. El CNC dispone de parámetros globales (accesibles
desde el programa o cualquier subrutina), de parámetros locales (accesibles sólo
desde el programa o subrutina en la que se han programado) y de parámetros

Operadores

Un operador es un símbolo que indica las operaciones matemáticas o lógicas que


se deben llevar a cabo.

Expresiones

Una expresión es cualquier combinación válida entre constantes, parámetros,


variables y operadores.
CNC 8070

Página 33 de 235
Curso programación paramétrica Héctor M. Peláez

Parámetros aritméticos

El CNC dispone de tres tipos de parámetros aritméticos. El rango de parámetros


disponibles de cada tipo viene definido en los parámetros máquina.
• Los parámetros locales sólo son accesibles desde el programa o subrutina en
la que se han programado. Existen siete grupos de parámetros locales en cada
canal.
El rango máximo de parámetros locales es P0 a P99, siendo el rango habitual
P0 a P25.
Cuando los parámetros se utilicen en el bloque de llamada a una subrutina,
también podrán ser referenciados mediante las letras A-Z (exceptuando la Ñ) de
CONSTRUCCIÓN DE UN PROGRAMA
Parámetros, constantes y expresiones

forma que "A" es igual a P0 y "Z" a P25.


• Los parámetros globales son accesibles desde cualquier programa y subrutina
llamada desde programa. Existe un grupo de parámetros globales en cada canal.
El rango máximo de parámetros globales es P100 a P9999, siendo el rango
habitual P100 a P299.
• Los parámetros comunes son accesibles desde cualquier canal. El valor de estos
parámetros es compartido por todos los canales.
El rango máximo de parámetros comunes es P10000 a P19999, siendo el rango
habitual P10000 a P10999.

El usuario podrá utilizar los parámetros al editar sus propios programas. Durante la
ejecución, el CNC sustituirá estos parámetros por los valores que en ese momento
tengan asignado.

P0=0 P1=1 P2=20 P3=50 P4=3


P10=1500 P100=800 P101=30
···
GP0 XP0 YP0 SP10 MP4 ==> G0 X0 Y0 S1500 M3
GP1 XP2 YP3 FP100 ==> G1 X20 Y50 F800
MP101 ==> M30

Programación

En los bloques programados en código ISO, se puede definir mediante parámetros


los valores de todos los campos; "N", "G", "F", "S", "T", "D", "M", "H", "NR" y cotas
de los ejes. También se podrá, mediante direccionamiento indirecto, definir el número
de un parámetro mediante otro parámetro; "P[P1]", "P[P2+3]".

En los bloques con sentencias "#" se puede definir mediante parámetros los valores
de cualquier expresión.

CNC 8070

Página 34 de 235
Curso programación paramétrica Héctor M. Peláez

Parámetros en las subrutinas

Las subrutinas definidas pueden ser llamadas desde el programa principal o desde
otra subrutina, pudiéndose a su vez llamar de ésta a una segunda, de la segunda
a una tercera, etc. El CNC limita estas llamadas a un máximo de 20 niveles de
imbricación.

Parámetros locales

Los parámetros locales definidos en una subrutina serán desconocidos para el


programa y el resto de las subrutinas, pudiendo ser utilizados solamente en la
subrutina en la que están definidos.

CONSTRUCCIÓN DE UN PROGRAMA
Parámetros, constantes y expresiones
Es posible asignar parámetros locales a más de una subrutina, pudiendo existir un
máximo de 7 niveles de imbricación de parámetros dentro de los 20 niveles de
imbricación de subrutinas. No todos los tipos de llamada a subrutina cambian el nivel
de imbricación; Sólo lo hacen las llamadas #PCALL, #CALL, y las funciones G180
a G189.

Parámetros globales

Los parámetros globales serán compartidos por el programa y las subrutinas del
canal. Podrán ser utilizados en cualquier bloque del programa y de las subrutinas,
independientemente del nivel de imbricación en el que se encuentren.

Parámetros comunes

Los parámetros comunes serán compartidos por el programa y las subrutinas de


cualquier canal. Podrán ser utilizados en cualquier bloque del programa y de las
subrutinas, independientemente del nivel de imbricación en el que se encuentren.

CNC 8070

Página 35 de 235
Curso programación paramétrica Héctor M. Peláez

Operadores y funciones

Un operador es un símbolo que indica las operaciones matemáticas o lógicas que


se deben llevar a cabo. El CNC dispone de los siguientes tipos de operadores.

Aritméticos

Permiten realizar operaciones aritméticas.

+ Suma P1 = 3+4 P1=7


- Resta P2 = 5-2 P2=3
Menos unario P2 = -[3+4] P2=-7
CONSTRUCCIÓN DE UN PROGRAMA
Parámetros, constantes y expresiones

* Multiplicación P3 = 2*3 P3=6


/ División P4 = 9/2 P4=4.5
MOD Módulo o resto de la división P5 = 5 MOD 2 P5=1
** Exponencial P6 = 2**3 P6=8

Cuando en la operación se utilice el parámetro o variable en el que se guarda el


resultado, los operadores de suma, resta, multiplicación y división se podrán utilizar
de la siguiente manera:

+= Suma compuesta P1 += 3 P1=P1+3


-= Resta compuesta P2 -= 5 P2=P2-5
*= Multiplicación compuesta P3 *= 2 P3=P3*2
/= División compuesta P4 /= 9 P4=P4/9

Relacionales

Permiten realizar comparaciones.

== Igualdad P1 == 4
!= Desigualdad, distinto P2 != 5
>= Mayor o igual que P3 >= 10
<= Menor o igual que P4 <= 7
> Mayor que P5 > 5
< Menor que P6 < 5

Binarios

Permiten realizar comparaciones binarias entre constantes y/o expresiones


aritméticas.

& AND binario P1 = P11 &


P12
| OR binario P2 = P21 | P22
^ OR exclusivo (XOR) P3 = P31 ^
P32
INV[...] Complementario P4 = INV[P41]
CNC 8070
Si la constante o el resultado de la expresión aritmética es un número fraccionario,
la parte decimal se ignorará.

Página 36 de 235
Curso programación paramétrica Héctor M. Peláez

Lógicos

Permiten realizar comparaciones lógicas entre condiciones.

* AND lógico $IF [P11 == 1] * [P12 >=5]


+ OR lógico $IF [P21 != 0] + [P22 == 8]

Es recomendable poner cada condición entre corchetes, de lo contrario es posible


que se realice una comparación no deseada debido a la prioridad entre los
operadores.

Constantes booleanas

CONSTRUCCIÓN DE UN PROGRAMA
Parámetros, constantes y expresiones
TRUE Verdadero $IF V.S.VAR == TRUE
FALSE No verdadero $IF V.S.VAR == FALSE

Trigonométricas

SIN[...] Seno P1 = SIN[30] P1 = 0.5


COS[...] Coseno P2 = COS[30] P2 = 0.866
TAN[...] Tangente P3 = TAN[30] P3 = 0.5773
ASIN[...] Arcoseno P4 = ASIN[1] P4 = 90
ACOS[...] Arcocoseno P5 = ACOS[1] P5 = 0
ATAN[...] Arcotangente P6 = ATAN[1] P6 = 45
ARG[...] Arcotangente y/x P7=ARG[-1,1] P7=225

En este tipo de funciones hay que tener en cuenta que:


• En la función "TAN" el argumento no podrá tomar los valores ...-90º, 90º, 270º...
• En las funciones "ASIN" y "ACOS" el argumento debe estar siempre entre ±1.
• Para el calculo de la arcotangente se dispone de dos funciones:

"ATAN" Devuelve el resultado entre ±90º.

"ARG" Devuelve el resultado entre 0º y 360º.

Matemáticas

ABS[...] Valor absoluto P1 = ABS[-10] P1 = 10


SQR[...] Función cuadrado P2 = SQR[4] P2 = 16
SQRT[...] Raíz cuadrada P3 = SQRT[16] P3 = 4
LOG[...] Logaritmo decimal P4 = LOG[100] P4 = 2
LN[...] Logaritmo neperiano P5 = LN[100] P5 = 4.6051
EXP[...] Función "e" P6 = EXP[1] P6 = 2.7182
DEXP[...] Exponente decimal P6 = DEXP[2] P7 = 100

En este tipo de funciones hay que tener en cuenta que:


• En las funciones "LN" y "LOG" el argumento debe ser mayor que cero.
• En la función "SQRT" el argumento debe ser positivo.
CNC 8070

Página 37 de 235
Curso programación paramétrica Héctor M. Peláez

Otras funciones

INT[...] Devuelve la parte entera P1 = INT[4.92] P1 = 4


FRACT[...] D e v u e l v e l a p a r t e P2 = FRACT[1.56] P2 = 0.56
decimal
ROUND[...] Redondea al número P3 = ROUND[3.12] P3 = 3
entero más cercano P4 = ROUND[4.89] P4 = 5
FUP[...] Devuelve la parte entera P5 = FUP[3.12] P5 = 4
más uno. (Si el número P6 = FUP[9] P6 = 9
es entero, devuelve la
parte entera)
CONSTRUCCIÓN DE UN PROGRAMA
Parámetros, constantes y expresiones

EXIST[...] Comprueba si existe la $IF EXIST[P1]


variable o el parámetro $IF EXIST[P3] == FALSE
seleccionado

En la función "EXIST", la programación de "$IF EXIST[P1] == TRUE" es equivalente


a programar "$IF EXIST[P1]".

CNC 8070

Página 38 de 235
Curso programación paramétrica Héctor M. Peláez

Expresiones

Una expresión es cualquier combinación válida entre operadores, constantes,


parámetros y variables.

El modo en que se calculan estas expresiones lo establecen las prioridades de los


operadores y su asociatividad:

Prioridad de mayor a menor Asociatividad

Funciones, - (unario) de derecha a izquierda.

** (exponencial), MOD (resto) de izquierda a derecha.

CONSTRUCCIÓN DE UN PROGRAMA
Parámetros, constantes y expresiones
* (multiplicación, AND lógico), / (división) de izquierda a derecha.

+ (suma, OR lógico), - (resta) de izquierda a derecha.

Operadores relacionales de izquierda a derecha.

& (AND),^ (XOR) de izquierda a derecha.

| (OR) de izquierda a derecha.

Es conveniente utilizar corchetes para clarificar el orden en el que se produce la


evaluación de la expresión. El uso de corchetes redundantes o adicionales no
producirá errores ni disminuirá la velocidad de ejecución.
P3 = P4/P5 - P6 * P7 - P8/P9
P3 = [P4/P5] - [P6 * P7] - [P8/P9]

Aritméticas

Dan como resultado un valor numérico. Se forman combinando los operadores


aritméticos y binarios con las constantes, parámetros y variables.

Este tipo de expresiones también se pueden utilizar para asignar valores a los
parámetros y a las variables:
P100 = P9 P101 = P[P7] P102 = P[P8 + SIN[P8*20]]
P103 = V.G.TOOL
V.G.FIXT[1].X=20 V.G.FIXT[1].Y=40 V.G.FIXT[1].Z=35

Relacionales

Dan como resultado verdadero o falso. Se forman combinando los operadores


relacionales y lógicos con las expresiones aritméticas, constantes, parámetros y
variables.
... [P8==12.6] ...
Compara si el valor de P8 es igual a 12.6.
... ABS[SIN[P4]] > 0.8 ...
Compara si el valor absoluto del seno de P4 es mayor que 0.8.
... [[P8<=12] + [ABS[SIN[P4]] >=0.8] * [V.G.TOOL==1]] ...
CNC 8070

Página 39 de 235
Curso programación paramétrica Héctor M. Peláez

VARIABLES DEL CNC

Entendiendo la descripción de las variables

PRG / PLC / INT – Acceso a las variables

A las variables internas del CNC se puede acceder desde el programa pieza, MDI,
PLC y desde cualquier aplicación (por ejemplo FGUIM). En este capítulo se utilizan
las siguientes abreviaturas para indicar desde dónde son accesibles las variables:
PRG Desde el programa pieza o MDI.
PLC Desde el PLC.
INT Desde cualquier aplicación (interface). Por ejemplo FGUIM.

Para cada variable se indica si el acceso es de solo lectura (R) o de lectura y escritura
(R/W).

LIN / ROT / CAB / ANA / SER – Variables asociadas a los ejes y


reguladores

Para las variables asociadas a los ejes se indica el tipo de eje y regulador asociados
a la variable.
Lin Eje lineal
Rot Eje rotativo
Cab Cabezal
Ana Regulador analógico
Ser Regulador Sercos.

En el caso de reguladores Sercos, se indicará si la variable es válida cuando el


regulador opera en modo posición (P), velocidad (S) o en ambos (P/S).

CNC 8070

Página 40 de 235
Curso programación paramétrica Héctor M. Peláez

EXEC – Acceso a la variable durante la preparación o la


ejecución

El CNC va leyendo varios bloques por delante del que se está ejecutando, con objeto
de calcular con antelación la trayectoria a recorrer. Esta lectura previa se conoce
como preparación de bloques.

El acceso a algunas variables se efectúa durante la preparación de bloques, mientras


que otras deben ser evaluadas en el momento de su ejecución. Estas últimas
detienen la preparación de bloques.
(V.)G.PRGF Avance por programa en G94. Se evalúa durante la
preparación.
VARIABLES DEL CNC
Entendiendo la descripción de las variables

(V.)G.FREAL Avance real del CNC. Se evalúa en el momento de su


ejecución.

Para las variables que se acceden desde PRG, en la columna "Exec" se indica si la
lectura o escritura de la variable se efectúa durante la preparación o en el momento
de su ejecución.
Sí En el momento de su ejecución. Detiene la preparación de bloques.
No Durante la preparación.

El acceso a las variables desde PLC o INT siempre detiene la preparación de


bloques.

El detener la preparación de bloques puede provocar trayectorias compensadas


distintas a las programadas, empalmes indeseados cuando se trabaja con tramos
pequeños, interrupciones trabajando con look-ahead, desplazamiento de ejes a
saltos, etc.

Para forzar la evaluación de una variable en el momento de su ejecución utilizar la


sentencia #FLUSH.

Sinc / Asin – Acceso síncrono o asíncrono desde el PLC.

El acceso a las variables desde el PLC, tanto para la lectura como para la escritura,
podrá ser síncrono o asíncrono. Un acceso síncrono se resuelve inmediatamente
mientras que el acceso asíncrono necesita varios ciclos del PLC para resolverse.

Como variables asíncronas se tienen las siguientes.


• Serán de lectura asíncrona las variables de la herramienta cuando ésta no sea
la activa ni esté en el almacén.
• Serán de escritura asíncrona las variables de la herramienta, sea ésta la activa
o no.

Ejemplo de acceso a variables asíncronas


Lectura del valor del radio del corrector ·1· de la herramienta ·9· cuando
ésta no está en el almacén.
<condición> AND NOT M11 = CNCRD (TM.TORT.[9][1], R11, M11)
La marca M11 se pone a "1" cuando comienza la operación y se mantiene
a dicho valor hasta que finaliza la misma.

CNC 8070 DFD M11 AND CPS R11 EQ 3 = ···


Esperar a que finalice la consulta para evaluar los datos.

Ejemplos de acceso a variables síncronas:


<condición> = CNCRD (G.FREAL, R12, M12)
CPS R12 GT 2000 = ···
No hace falta esperar para consultar los datos porque las variables
síncronas se resuelven inmediatamente.
<condición> = CNCWR (R13, PLC.TIMER, M13)
Inicializa el reloj habilitado por el PLC con el valor que contiene el registro
R13.

Página 41 de 235
Curso programación paramétrica Héctor M. Peláez

Acceso a variables numéricas desde PLC

Cuando se accede desde el PLC a variables numéricas que pueden tener decimales
se debe tener en cuenta que los valores vendrán expresados de la siguiente manera.

Cotas

Vendrán expresadas en diezmilésimas si son milímetros o cienmilésimas si son


pulgadas.
Para 1 mm. se tiene una lectura de 10000.
Para 1 inch se tiene una lectura de 100000.
VARIABLES DEL CNC
Entendiendo la descripción de las variables

Para 1º se tiene una lectura de 10000.

Avance de los ejes

Vendrán expresadas en diezmilésimas si son milímetros o cienmilésimas si son


pulgadas.
Para 1 mm/min. se tiene una lectura de 10000.
Para 1 inch/min. se tiene una lectura de 100000.

Velocidad del cabezal

Vendrán expresadas en diezmilésimas.


Con G97, para 1 rpm. se tiene una lectura de 10000.
Con G96, para 1 m/min. se tiene una lectura de 10000.
Con G96, para 1 pie/min. se tiene una lectura de 10000.
Con G196, para 1 rpm. se tiene una lectura de 10000.
Con M19, para 1º/min. una lectura de se tiene 10000.

Porcentajes

Vendrá expresado el valor real, en décimas o en centésimas dependiendo de la


variable. Si no se indica lo contrario se leerá el valor real. Cuando no sea así se
indicará si la variable se lee en décimas (x10) o en centésimas (x100).
Para 1% se tiene una lectura de 1.
Para 1% (x10) se tiene una lectura de 10.
Para 1% (x100) se tiene una lectura de 100.

Tiempo
Vendrán expresadas en milésimas.
Para 1 segundo se tiene una lectura de 1000.

Tensiones

Las variables asociadas a la tabla de parámetros máquina devuelven el valor real


(en milivoltios). Para el resto de las variables (en voltios), la lectura vendrá expresada
en diezmilésimas.
Para 1 voltio se tiene una lectura de 10000.

CNC 8070

Página 42 de 235
Curso programación paramétrica Héctor M. Peláez

Acceso a las variables en un sistema monocanal

Denominación de las variables

El mnemónico genérico asociado a las variables se escribe de la siguiente forma.


(V.){prefijo}.{variable}

El mnemónico asociado a cada variable comienza con (V.). Cuando se accede desde
PRG se deben usar dichos caracteres, excepto los paréntesis, y cuando se accede
desde INT y PLC se debe prescindir de los mismos.

VARIABLES DEL CNC


Entendiendo la descripción de las variables
Mnemónico PRG PLC / INT
(V.)MPG.NAXIS V.MPG.NAXIS MPG.NAXIS

Variables de eje y cabezal

Las variables de eje y cabezal se identifican con el prefijo –A.–. Cuando estas
variables hagan referencia a un cabezal, también serán accesibles con el prefijo
–SP.–.
(V.)A.{variable}.{eje/cabezal}
(V.)SP.{variable}.{cabezal}

Las variables de los parámetros máquina con prefijo –MPA.– también son accesibles
mediante el prefijo –SP.– cuando hagan referencia a un cabezal.
(V.)MPA.{variable}.{eje/cabezal}
(V.)SP.{variable}.{cabezal}

En estas variables hay que indicar a qué eje o cabezal se hace referencia. Al eje se
puede hacer referencia mediante su nombre o número lógico; al cabezal se puede
hacer referencia mediante su nombre, número lógico o índice en el sistema de
cabezales.

Identificar los ejes y cabezales.

En variables con prefijo –A.– y –MPA.–, los ejes y cabezales se identifican mediante
su número lógico.
• Para los ejes, el número lógico lo establece el orden AXISNAME.
• Para cabezales, el número lógico viene dado por la suma de NAXIS + orden
SPDLNAME.

En variables con prefijo –SP.–, los cabezales se identifican mediante su índice en


el sistema, según el orden SPDLNAME.

Variables del cabezal master


Son variables especiales que nos permiten acceder a los datos del cabezal master,
sin necesidad de conocer su nombre o número. Están orientadas principalmente a
la visualización de datos y programación de ciclos.

Las variables se identifican con el prefijo –SP.– pero sin indicar el cabezal.

(V.)SP.{var} Variable del cabezal master. CNC 8070


Mnemónico Eje Cabezal Cabezal master
(V.)A.POS.Xn V.A.POS.X V.A.POS.S V.SP.POS
V.A.POS.1 V.SP.POS.S
V.A.POS.6
V.SP.POS.2
(V.)MPA.AXISTYPE.Xn V.MPA.AXISTYPE.X V.MPA.AXISTYPE.S V.SP.AXISTYPE
V.MPA.AXISTYPE.1 V.SP.AXISTYPE.S
V.MPA.AXISTYPE.6
V.SP.AXISTYPE.2

Página 43 de 235
Curso programación paramétrica Héctor M. Peláez

Acceso a las variables de un sistema multicanal

Denominación de las variables

El mnemónico genérico asociado a las variables se escribe de la siguiente forma.


(V.)[canal].{prefijo}.{variable}

El mnemónico asociado a cada variable comienza con (V.). Cuando se accede desde
PRG se deben usar dichos caracteres, excepto los paréntesis, y cuando se accede
desde INT y PLC se debe prescindir de los mismos.

VARIABLES DEL CNC


Entendiendo la descripción de las variables
Para estas variables hay que indicar el canal al que pertenecen (el primer canal es
el 1, no siendo válido el 0). La programación de los corchetes es obligatoria.

Mnemónico PRG PLC / INT


(V.)[n].G.FREAL V.[1].G.FREAL [1].G.FREAL

La programación del canal es opcional. Si no se indica el canal, se asume lo


siguiente:
PRG Canal en el que se está ejecutando.
PLC Primer canal o canal principal.
INT Canal activo.

Variables de eje y cabezal

Las variables de eje y cabezal se identifican con el prefijo –A.–. Cuando estas
variables hagan referencia a un cabezal, también serán accesibles con el prefijo
–SP.–.
(V.)[n].A.{variable}.{eje/cabezal}
(V.)[n].SP.{variable}.{cabezal}

Las variables de los parámetros máquina con prefijo –MPA.– también son accesibles
mediante el prefijo –SP.– cuando hagan referencia a un cabezal.
(V.)MPA.{variable}.{eje/cabezal}
(V.)SP.{variable}.{cabezal}

En estas variables hay que indicar a qué eje o cabezal se hace referencia. Al eje se
puede hacer referencia mediante su nombre o número lógico; al cabezal se puede
hacer referencia mediante su nombre, número lógico o índice en el sistema de
cabezales o en el canal.

CNC 8070

Página 44 de 235
Curso programación paramétrica Héctor M. Peláez

Identificar los ejes y cabezales.

En variables con prefijo –A.– y –MPA.–, los ejes y cabezales se identifican mediante
su número lógico.
• Para los ejes, el número lógico lo establece el orden AXISNAME.
• Para cabezales, el número lógico viene dado por la suma de NAXIS + orden
SPDLNAME.

En variables con prefijo –SP.–, los cabezales se identifican mediante su índice en


el canal o en el sistema.
• Cuando la lectura se realiza desde el interface programa o PLC, el cabezal se
identifica mediante su índice en el sistema, según el orden SPDLNAME.
VARIABLES DEL CNC
Entendiendo la descripción de las variables

• Cuando la lectura se realiza desde el interface (INT), el cabezal se identifica


mediante su índice en el canal, según el orden CHSPDLNAME.

Acceso a las variables comunes para eje y cabezal

Acceso a las variables por su nombre

Al referirnos al eje o cabezal por su nombre, la programación del canal donde se


encuentren no es un factor determinante; por lo tanto, su programación en este caso
es irrelevante. Si se programa el canal y el eje o cabezal no se encuentra en él, su
programación se ignora.

(V.)A.{var}.X Variable de eje con ese nombre.

(V.)A.{var}.S Variable de cabezal con ese nombre.

(V.)SP.{var}.S2 Variable de cabezal con ese nombre.

Acceso a las variables por su número lógico

Dependiendo de si se programa o no el número de canal, el mnemónico tiene


diferente significado según el acceso se realice desde PRG, PLC o INT.

Acceso desde PRG o PLC cuando no se indica el número de canal.

V.A.{var}.m Variable de eje o cabezal con número lógico m.

V.SP.{var}.m Variable de cabezal con índice m en el sistema.

Acceso desde INT cuando no se indica el número de canal.

A.{var}.m Variable de eje con índice m en el canal activo.

SP.{var}.m Variable de cabezal con índice m en el canal activo.

Acceso desde PRG, PLC o INT cuando se indica el número de canal.

(V.)[1].A.{var}.m Variable de eje con índice m en el canal.


(n=1 corresponde al primer eje del canal)

(V.)[2].SP.{var}.m Variable de cabezal con índice m en el canal.


(n=1 corresponde al primer cabezal del canal)
CNC 8070
Cuando se indica el número de canal, las variables de cabezal no se pueden acceder
mediante el prefijo –A.–.

Acceso a las variables exclusivas de cabezal

Acceso a las variables por su nombre

El acceso y comportamiento es igual que si se tratara de una variable de eje y


cabezal.

Página 45 de 235
Curso programación paramétrica Héctor M. Peláez

Acceso a las variables por su número lógico

Dependiendo de si se programa o no el número de canal, el mnemónico tiene


diferente significado según el acceso se realice desde PRG, PLC o INT.

El acceso desde PRG o PLC cuando no se indica el número de canal es igual que
si se tratara de una variable de eje y cabezal.

(V.)A.{var}.m Variable de cabezal con número lógico m.

(V.)SP.{var}.m Variable de cabezal con índice m en el sistema.

Acceso desde INT cuando no se indica el número de canal. Las variables de cabezal
no son accesibles desde el interface mediante el prefijo –A.–.

VARIABLES DEL CNC


Entendiendo la descripción de las variables
V.SP.{var}.m Variable de cabezal con índice m en el canal
activo.

Acceso desde PRG, PLC o INT cuando se indica el número de canal. Las variables
de cabezal no son accesibles mediante el prefijo –A.–

(V.)[n].SP.{var}.m Variable de cabezal con índice m en el canal n.

Variables del cabezal master

Son variables especiales que nos permiten acceder a los datos del cabezal master
de cada canal, sin necesidad de conocer su nombre, número lógico o índice. Están
orientadas principalmente a la visualización de datos y programación de ciclos.

Las variables se identifican con el prefijo –SP.– pero sin indicar el número o nombre
del cabezal.

(V.)[n].SP.{var} Variable del cabezal master del canal n.

Si no se programa el canal se toma el canal por defecto, que en cada caso es:
PRG Canal en el que se está ejecutando.
PLC Primer canal o canal principal.
INT Canal activo.

CNC 8070

Página 46 de 235
Curso programación paramétrica Héctor M. Peláez

Asociadas a los parámetros máquina generales

Estas variables son sólo de lectura (R) síncrona y se evalúan en tiempo de ejecución.

Las denominaciones de las variables son genéricas.


• Sustituir el carácter "x" por el número de eje.
• Sustituir el carácter "i" y "m" por números, conservando los corchetes.

(V.)MPG.AXISNAMEx V.MPG.AXISNAME2 V.MPG.AXISNAME3


(V.)MPG.MASTERAXIS[i] V.MPG.MASTERAXIS[1] V.MPG.MASTERAXIS[2]
VARIABLES DEL CNC
Asociadas a los parámetros máquina generales

CONFIGURACIÓN DE CANALES PRG PLC INT


(V.)MPG.NCHANNEL Número de canales del CNC R R R

CONFIGURACIÓN DE EJES PRG PLC INT


(V.)MPG.NAXIS Número de ejes que gobierna el CNC R R R
(V.)MPG.AXISNAMEx Nombre del eje lógico "x" — — R
(V.)MPG.TMASTERAXIS[i] Tándem [i]. Número lógico del eje maestro R R R
(V.)MPG.TSLAVEAXIS[i] Tándem [i]. Número lógico del eje esclavo R R R
(V.)MPG.TORQDIST[i] Tándem [i]. Distribución del par R R R
(V.)MPG.PRELOAD[i] Tándem [i]. Precarga R R R
(V.)MPG.PRELFITI[i] Tándem [i]. Tiempo para aplicar la precarga R R R
(V.)MPG.TPROGAIN[i] Tándem [i]. Ganancia proporcional R R R
(V.)MPG.TINTIME[i] Tándem [i]. Ganancia integral R R R
(V.)MPG.TCOMPLIM[i] Tándem [i]. Limitación de la compensación R R R
(V.)MPG.MASTERAXIS[i] Gantry [i]. Número lógico del eje maestro R R R
(V.)MPG.SLAVEAXIS[i] Gantry [i]. Número lógico del eje esclavo R R R
(V.)MPG.WARNCOUPE[i] Gantry [i]. Máxima diferencia para dar un warning R R R
(V.)MPG.MAXCOUPE[i] Gantry [i]. Máxima diferencia permitida R R R
(V.)MPG.DIFFCOMP[i] Gantry [i]. Compensación de diferencia de error. R R R
"0" = No "1" = Sí

La lectura desde el PLC de TORQDIST, PRELOAD, TPROGAIN y TCOMPLIM vendrán en


centésimas (x100). Ver "Acceso a variables numéricas desde PLC" en la página 352.

CONFIGURACIÓN DE CABEZALES PRG PLC INT


(V.)MPG.NSPDL Número de cabezales que gobierna el CNC R R R
(V.)MPG.SPDLNAMEx Nombre del cabezal "x" — — R

DEFINICIÓN DE TIEMPOS PRG PLC INT


(V.)MPG.LOOPTIME Tiempo de ciclo R R R
(V.)MPG.PRGFREQ Periodicidad del módulo PRG (en ciclos) R R R

CONFIGURACIÓN DEL BUS CAN Y SERCOS PRG PLC INT


(V.)MPG.SERBRATE Velocidad de transmisión de Sercos R R R
"0" = 4Mbps "1" = 2Mbps
(V.)MPG.SERPOWSE Potencia óptica en Sercos R R R
(V.)MPG.CANLENGTH Longitud del cable de bus Can (en metros) R R R
"0" = Hasta 20 "1" = Hasta 30 "2" = Hasta 40
"3" = Hasta 50 "4" = Hasta 60 "5" = Hasta 70
"6" = Hasta 80 "7" = Hasta 90 "8" = Hasta 100
"9" >100
CNC 8070 (V.)MPG.CANMODE Tipo de bus CAN R R R
"0" = CANfagor "1" = CANopen

CONDICIONES POR DEFECTO PRG PLC INT


(V.)MPG.INCHES Unidades de trabajo por defecto R R R
"0" = mm "1" = inch

Página 47 de 235
Curso programación paramétrica Héctor M. Peláez

ASOCIADOS A LOS PARÁMETROS ARITMÉTICOS PRG PLC INT


(V.)MPG.MAXLOCP Parámetro aritmético local máximo R R R
(V.)MPG.MINLOCP Parámetro aritmético local mínimo R R R
(V.)MPG.MAXGLBP Parámetro aritmético global máximo R R R
(V.)MPG.MINGLBP Parámetro aritmético global mínimo R R R
(V.)MPG.ROPARMAX Parámetro aritmético global máximo de sólo lectura R R R
(V.)MPG.ROPARMIN Parámetro aritmético global mínimo de sólo lectura R R R
(V.)MPG.MAXCOMP Parámetro aritmético común máximo R R R
(V.)MPG.MINCOMP Parámetro aritmético común máximo R R R

TABLAS DE COMPENSACIÓN CRUZADA PRG PLC INT


(V.)MPG.MOVAXIS[m] Tabla [m]. Eje maestro R R R

VARIABLES DEL CNC


Asociadas a los parámetros máquina generales
(V.)MPG.COMPAXIS[m] Tabla [m]. Eje a compensar R R R
(V.)MPG.NPCROSS[m] Tabla [m]. Número de puntos R R R
(V.)MPG.TYPCROSS[m] Tabla [m]. Método de compensación R R R
"0" = Cotas reales "1" = Cotas teóricas
(V.)MPG.BIDIR[m] Tabla [m]. Compensación bidireccional R R R
"0" = No "1" = Sí
(V.)MPG.REFNEED[m] Tabla [m]. Búsqueda de cero necesaria R R R
"0" = No "1" = Sí
(V.)MPG.POSITION[m][i] Tabla [m]. Posición del eje maestro para el punto [i] R R R
(V.)MPG.POSERROR[m][i] Tabla [m]. Error en sentido positivo del punto [i] R R R
(V.)MPG.NEGERROR[m][i] Tabla [m]. Error en sentido negativo del punto [i] R R R

TIEMPOS DE EJECUCIÓN PRG PLC INT


(V.)MPG.MINAENDW Duración mínima de la señal AUXEND R R R
(V.)MPG.REFTIME Tiempo estimado para la búsqueda de cero R R R
(V.)MPG.HTIME Tiempo estimado para una función "H" R R R
(V.)MPG.DTIME Tiempo estimado para una función "D" R R R
(V.)MPG.TTIME Tiempo estimado para una función "T" R R R

NUMERACIÓN DE I/O DIGITALES PRG PLC INT


(V.)MPG.NDIMOD Total de módulos de entradas digitales R R R
(V.)MPG.NDOMOD Total de módulos de salidas digitales R R R
(V.)MPG.DIMODADDR[n] Índice base de los módulos de entradas digitales R R R
(V.)MPG.DOMODADDR[n] Índice base de los módulos de salidas digitales R R R

PALPADOR PRG PLC INT


(V.)MPG.PROBE Hay palpador para calibrar herramienta R R R
"0" = No "1" = Sí
(V.)MPG.PRBDI1 Entrada digital asociada al palpador 1 R R R
(V.)MPG.PRBDI2 Entrada digital asociada al palpador 2 R R R
(V.)MPG.PRBPULSE1 Tipo de impulso del palpador 1 R R R
"0" = Negativo "1" = Positivo
(V.)MPG.PRBPULSE2 Tipo de impulso del palpador 2 R R R
"0" = Negativo "1" = Positivo

CNC 8070

Página 48 de 235
Curso programación paramétrica Héctor M. Peláez

Asociadas a las tablas de usuario

Estas variables son de lectura y escritura (R/W) síncrona y se evalúan en tiempo de ejecución.

Las denominaciones de las variables son genéricas.


• Sustituir el carácter "n" por el número de canal, conservando los corchetes. El primer canal
se identifica con el número 1, no siendo válido el 0.
• Sustituir los caracteres "m" e "i" por un número, conservando los corchetes.
• Sustituir el carácter "Xn" por el nombre, número lógico o índice en el canal del eje.

VARIABLES DEL CNC


Asociadas a las tablas de usuario
(V.)A.ORGT[i].Xn V.A.ORGT[1].X V.A.ORGT[1].1
(V.)A.FIX.Xn V.A.FIX.X V.A.FIX.2
(V.)G.LUPm[n] V.G.LUP2[12]

Lin
TABLA DE ORÍGENES Cab PRG PLC INT Exec
Rot
(V.)G.FORG Primer origen de la tabla — — R R R Sí
(V.)G.NUMORG Número de orígenes de la tabla — — R R R Sí
(V.)[n].A.ORG.Xn Offset del origen actual del eje Xn Sí No R R R No
(V.)[n].A.ORGT[i].Xn Offset del origen [i] del eje Xn Sí No R/W R/W R/W Sí
(V.)[n].A.PLCOF.Xn Offset del origen por PLC del eje Xn Sí No R/W R/W R Sí
(V.)[n].A.ACTPLCOF.Xn Offset acumulado de PLC en el eje Xn Sí Sí R R R Sí
La numeración de los orígenes G54 a G59 siempre es la misma:

G54=1, G55=2, G56=3, G57=4, G58=5, G59=6

CNC 8070

Página 49 de 235
Curso programación paramétrica Héctor M. Peláez

Asociadas a las herramientas

Para todas las variables de herramienta, aquellas referidas a la herramienta activa (por ejemplo, TM.TOR)
son siempre de lectura síncrona. Las variables referidas a otra herramienta diferente de la activa (por
ejemplo TM.TORT[i][j]) serán de lectura síncrona si la herramienta está en el almacén y de lectura
asíncrona en caso contrario. La escritura de estas variables siempre es asíncrona, sea para la herramienta
activa o no.

Las variables del gestor son también de lectura síncrona.

Estas variables se evalúan durante la ejecución de bloques. Las denominaciones de las variables son
genéricas.

VARIABLES DEL CNC


Asociadas a las herramientas
• Sustituir el carácter "n" por el número de canal, conservando los corchetes. El primer canal
se identifica con el número 1, no siendo válido el 0.
• Sustituir los caracteres "m", "j" e "i" por un número, conservando los corchetes.
• Sustituir el carácter "Xn" por el nombre, número lógico o índice en el canal del eje.

(V.)[n].TM.TOOL V.[1].TM.TOOL V.[4].TM.TOOL


(V.)TM.TORT[m][i] V.TM.TORT[3][1] V.TM.TORT[21][2]
(V.)TM.TOFLWT[m][i].Xn (V.)TM.TOFLWT[4][1].X (V.)TM.TOFLWT[4][1].1

HERRAMIENTAS Y CORRECTORES PRG PLC INT


(V.)TM.T[z][j] Herramienta en la posición [j] del almacén [z] R R R
(V.)TM.P[z][m] Posición de la herramienta [m] en el almacén [z] R R R
(V.)[n].TM.TOOL Número de herramienta activa R R R
(V.)[n].TM.TOD Número de corrector activo R R R
(V.)[n].TM.NXTOOL Número de herramienta siguiente R R R
(V.)[n].TM.NXTOD Número de corrector siguiente R R R

Si en las variables (V.)TM.T[z][j] y (V.)TM.P[z][m] se omite el número de almacén [z], las variables
harán referencia al primero de ellos.
Herramienta siguiente es aquella que está seleccionada pero a falta de la ejecución de M06 para ser
activa.

MONITORIZACIÓN PRG PLC INT


(V.)[n].TM.TOMON[i] Tipo monitorización del corrector [i] de la hta. activa R R R
(V.)TM.TOMONT[m][i] Tipo monitorización del corrector [i] de la hta. [m] R/W R/W R/W
(V.)[n].TM.TLFN[i] Vida máxima del corrector [i] de la hta. activa R R R
(V.)TM.TLFNT[m][i] Vida máxima del corrector [i] de la hta. [m] R/W R/W R/W
(V.)[n].TM.TLFR[i] Vida real del corrector [i] de la hta. activa R R R
(V.)TM.TLFRT[m][i] Vida real del corrector [i] de la hta. [m] R/W R/W R/W
(V.)[n].TM.REMLIFE Vida restante de la hta. activa — R R

Si en las variables de herramienta se omite el número de corrector, la variable hará entonces


referencia al corrector activo.

ALMACÉN PRG PLC INT


(V.)[n].TM.TSTATUS Estado de la herramienta activa R R R
(V.)TM.TSTATUST[m] Estado de la herramienta [m] — R R
(V.)[n].TM.TLFF Familia de la herramienta activa R R R CNC 8070
(V.)TM.TLFFT[m] Familia de la herramienta [m] R/W R/W R/W
(V.)[n].TM.ACTUALMZ Almacén que está usando cada canal R R R
(V.)TM.MZRESPECTSIZE[z] En almacén [z] random, hta. siempre en la misma posición R R R
(V.)TM.MZACTUALCH[z] Canal que está usando el almacén [z] R R R

Página 50 de 235
Curso programación paramétrica Héctor M. Peláez

A las siguientes variables se puede acceder desde programa (PRG), PLC e interface (INT) y son de lectura-
escritura (R/W).

Rot
GEOMETRÍA (HERRAMIENTAS DE FRESADORA) Cab
Lin
(V.)[n].TM.TOR[i] Radio del corrector [i] de la hta. activa — —
(V.)TM.TORT[m][i] Radio del corrector [i] de la hta. [m] — —
(V.)[n].TM.TOI[i] Desgaste R del corrector [i] de la hta. activa — —
(V.)TM.TOIT[m][i] Desgaste R del corrector [i] de la hta. [m] — —
(V.)[n].TM.TOL[i] Longitud del corrector [i] de la hta. activa — —
(V.)TM.TOLT[m][i] Longitud del corrector [i] de la hta. [m] — —
(V.)[n].TM.TOK[i] Desgaste L del corrector [i] de la hta. activa — —
(V.)TM.TOKT[m][i] Desgaste L del corrector [i] de la hta. [m] — —
VARIABLES DEL CNC
Asociadas a las herramientas

(V.)[n].TM.TOTIPR[i] Radio de la punta del corrector [i] de la hta. activa — —


(V.)TM.TOTIPRT[m][i] Radio de la punta del corrector [i] de la hta. [m] — —
(V.)[n].TM.TOWTIPR[i] Desgaste radio punta corrector [i] de la hta. activa — —
(V.)TM.TOWTIPRT[m][i] Desgaste radio punta corrector [i] de la hta. [m] — —
(V.)[n].TM.TOCUTL[i] Longitud de corte del corrector [i] de la hta. activa — —
(V.)TM.TOCUTLT[m][i] Longitud de corte del corrector [i] de la hta. [m] — —
(V.)[n].TM.TOAN[i] Ángulo profundización del corrector [i] de la hta. activa — —
(V.)TM.TOANT[m][i] Ángulo profundización del corrector [i] de la hta. [m] — —
(V.)[n].TM.TOFL[i].Xn Desviación en el eje Xn del corrector [i] de la hta. activa Sí No
(V.)[n].TM.TOFL1 Offset de la herramienta en el primer eje del canal Sí No
(V.)[n].TM.TOFL2 Offset de la herramienta en el segundo eje del canal Sí No
(V.)[n].TM.TOFL3 Offset de la herramienta en el tercer eje del canal Sí No
(V.)TM.TOFLT[m][i].Xn Desviación en el eje Xn del corrector [i] de la hta. [m] Sí No
(V.)[n].TM.TOFLW[i].Xn Desgaste desviación en eje Xn del corrector [i] de la hta. activa Sí No
(V.)[n].TM.TOFLW1 Desgaste offset de la herramienta en el primer eje del canal Sí No
(V.)[n].TM.TOFLW2 Desgaste offset de la herramienta en el segundo eje del canal Sí No
(V.)[n].TM.TOFLW3 Desgaste offset de la herramienta en el tercer eje del canal Sí No
(V.)TM.TOFLWT[m][i].Xn Desgaste desviación en eje Xn del corrector [i] de la hta. [m] Sí No

Si en las variables de herramienta se omite el número de corrector, la variable hará entonces


referencia al corrector activo.

(V.)TM.TOR[i] Radio herramienta activa, corrector [i].

(V.)TM.TOR Radio herramienta activa, corrector activo.

(V.)TM.TORT[m][i] Radio herramienta [m], corrector [i].

(V.)TM.TORT[m] Radio herramienta [m], corrector activo en el canal.

DATOS "CUSTOM" PRG PLC INT


(V.)[n].TM.TOTP1 Parámetro adicional 1 de la herramienta activa R/W R/W R/W
(V.)[n].TM.TOTP2 Parámetro adicional 2 de la herramienta activa R/W R/W R/W
(V.)[n].TM.TOTP3 Parámetro adicional 3 de la herramienta activa R/W R/W R/W
(V.)[n].TM.TOTP4 Parámetro adicional 4 de la herramienta activa R/W R/W R/W
(V.)TM.TOTP1T[i] Parámetro adicional 1 de la herramienta [i] R/W R/W R/W
(V.)TM.TOTP2T[i] Parámetro adicional 2 de la herramienta [i] R/W R/W R/W
(V.)TM.TOTP3T[i] Parámetro adicional 3 de la herramienta [i] R/W R/W R/W
(V.)TM.TOTP4T[i] Parámetro adicional 4 de la herramienta [i] R/W R/W R/W

GESTOR DE HERRAMIENTAS PRG PLC INT


(V.)[n].TM.MZSTATUS Estado del gestor de herramientas — R R
CNC 8070 (V.)[n].TM.MZRUN Gestor de herramientas en funcionamiento — R R
(V.)[n].TM.MZMODE Modo de funcionamiento del gestor R/W R R/W
(V.)[n].TM.MZWAIT Gestor procesando una maniobra R R R

(V.)TM.MZWAIT En la subrutina asociada a M06 no es necesaria su programación. La propia


subrutina espera a que finalizen las maniobras del gestor. De esta manera no se detiene la
preparación de bloques.

Página 51 de 235
Curso programación paramétrica Héctor M. Peláez

Rot
GEOMETRÍA (HERRAMIENTAS DE TORNO) Cab
Lin
(V.)[n].TM.NUMOFD Número de correctores de la herramienta activa — —
(V.)[n].TM.NUMOFDT[m] Número de correctores de la herramienta [m] — —
(V.)[n].TM.DTYPE[i] Tipo de corrector. Corrector [i] de la herramienta activa — —
(V.)[n].TM.DTYPET[i][m] Tipo de corrector. Corrector [i] de la herramienta [m] — —
(V.)[n].TM.DSUBTYPE[i] Subtipo de corrector. Corrector [i] de la herramienta activa — —
(V.)[n].TM.DSUBTYPET[i][m] Subtipo de corrector. Corrector [i] de la herramienta [m] — —
(V.)[n].TURNCONFIG[i] Configuración de ejes del corrector [i] de la herramienta activa — —
(V.)[n].TURNCONFIG[i][m] Configuración de ejes del corrector [i] de la herramienta [m] — —
(V.)[n].TM.LOCODE[i] Factor de forma del corrector [i] de la herramienta activa — —

VARIABLES DEL CNC


Asociadas a las herramientas
(V.)[n].TM.LOCODET[i][m] Factor de forma del corrector [i] de la herramienta [m] — —
(V.)[n].TM.FIXORI[i] Portaherramientas del corrector [i] de la herramienta activa — —
(V.)[n].TM.FIXORIT[i][m] Portaherramientas del corrector [i] de la herramienta [m] — —
(V.)[n].TM.SPDLTURDIR[i] Sentido de giro del cabezal. Corrector [i] de la herramienta activa — —
(V.)[n].TM.SPDLTURDIRT[i][m] Sentido de giro del cabezal. Corrector [i] de la herramienta [m] — —
(V.)[n].TM.NOSEA[i] Ángulo de la cuchilla del corrector [i] de la herramienta activa — —
(V.)[n].TM.NOSEAT[i][m] Ángulo de la cuchilla del corrector [i] de la herramienta [m] — —
(V.)[n].TM.NOSEW[i] Anchura de la cuchilla del corrector [i] de la herramienta activa — —
(V.)[n].TM.NOSEWT[i][m] Anchura de la cuchilla del corrector [i] de la herramienta [m] — —
(V.)[n].TM.CUTA[i] Ángulo de corte del corrector [i] de la herramienta activa — —
(V.)[n].TM.CUTAT[i][m] Ángulo de corte del corrector [i] de la herramienta [m] — —
(V.)[n].TM.TOCUTL[i] Longitud de corte del corrector [i] de la hta. activa — —
(V.)TM.TOCUTLT[m][i] Longitud de corte del corrector [i] de la hta. [m] — —
(V.)[n].TM.TOTIPR[i] Radio de la punta del corrector [i] de la hta. activa — —
(V.)TM.TOTIPRT[m][i] Radio de la punta del corrector [i] de la hta. [m] — —
(V.)[n].TM.TOWTIPR[i] Desgaste radio punta corrector [i] de la hta. activa — —
(V.)TM.TOWTIPRT[m][i] Desgaste radio punta corrector [i] de la hta. [m] — —
(V.)[n].TM.TOFL[i].Xn Offset del corrector [i] de la herramienta activa en el eje Xn Sí No
(V.)[n].TM.TOFL1 Offset de la herramienta en el primer eje del canal Sí No
(V.)[n].TM.TOFL2 Offset de la herramienta en el segundo eje del canal Sí No
(V.)[n].TM.TOFL3 Offset de la herramienta en el tercer eje del canal Sí No
(V.)TM.TOFLT[m][i].Xn Offset del corrector [i] de la herramienta [m] en el eje Xn Sí No
(V.)[n].TM.TOFLW[i].Xn Desgaste offset del corrector [i] de la hta activa en el eje Xn Sí No
(V.)[n].TM.TOFLW1 Desgaste offset de la herramienta en el primer eje del canal Sí No
(V.)[n].TM.TOFLW2 Desgaste offset de la herramienta en el segundo eje del canal Sí No
(V.)[n].TM.TOFLW3 Desgaste offset de la herramienta en el tercer eje del canal Sí No
(V.)TM.TOFLWT[m][i].Xn Desgaste offset del corrector [i] de la herramienta [m] en el eje Xn Sí No

La variable (V.)TM.NUMOFD es de solo lectura.

CNC 8070

Página 52 de 235
Curso programación paramétrica Héctor M. Peláez

Variables que se utilizan sólo durante la preparación de bloques

El CNC va leyendo varios bloques por delante del que está ejecutando, con objeto de calcular con
antelación la trayectoria a recorrer.

Como se puede observar en el ejemplo, el bloque que se está preparando se calcula con la herramienta
T6; mientras que la herramienta actualmente seleccionada es la T1.

G1 X100 F200 T1 M6 (Bloque en ejecución)


Y200
G1 X20 F300 T6 M6
X30 Y60 (Bloque en preparación)
VARIABLES DEL CNC
Asociadas a las herramientas

Hay variables específicas para consultar y/o modificar los valores que se están utilizando en la preparación.

Se puede acceder sólo desde programa (PRG) y se evalúan durante la preparación de bloques.

Sí se escribe en una de estas variables no se modifica la tabla, únicamente se asume el nuevo valor para
la preparación.

La siguiente tabla hace referencia, si no se dice lo contrario, a la herramienta en preparación.

UTILIZADAS SÓLO EN LA PREPARACIÓN DE BLOQUES Lin Rot Cab PRG


(V.)[n].G.TOOL Número de herramienta en preparación — — — R
(V.)[n].G.TOD Número de corrector en preparación — — — R
(V.)[n].G.NXTOOL Número de herramienta siguiente en preparación — — — R
(V.)[n].G.NXTOD Número de corrector siguiente en preparación — — — R
(V.)[n].G.TOR Radio del corrector en preparación — — — R/W
(V.)[n].G.TOI Desgaste de radio del corrector en preparación — — — R/W
(V.)[n].G.TOL Longitud del corrector en preparación — — — R/W
(V.)[n].G.TOK Desgaste de longitud del corrector en preparación — — — R/W
(V.)[n].G.TOTIPR Radio de la punta del corrector en preparación — — — R/W
(V.)[n].G.TOWTIPR Desgaste radio de la punta del corrector en preparación — — — R/W
(V.)[n].G.TOCUTL Longitud de corte del corrector en preparación — — — R/W
(V.)[n].G.TOAN Ángulo profundización del corrector en preparación — — — R/W
(V.)[n].A.TOFL.Xn Desviación en el eje Xn del corrector activo Sí Sí No R/W
(V.)[n].A.TOFLW.Xn Desgaste desviación en eje Xn del corrector activo Sí Sí No R/W
(V.)[n].G.TOFL1 Offset de la herramienta en el primer eje del canal Sí Sí No R/W
(V.)[n].G.TOFL2 Offset de la herramienta en el segundo eje del canal Sí Sí No R/W
(V.)[n].G.TOFL3 Offset de la herramienta en el tercer eje del canal Sí Sí No R/W
(V.)[n].G.TOFLW1 Desgaste offset de la herramienta en el primer eje del Sí Sí No R/W
canal
(V.)[n].G.TOFLW2 Desgaste offset de la herramienta en el segundo eje del Sí Sí No R/W
canal
(V.)[n].G.TOFLW3 Desgaste offset de la herramienta en el tercer eje del canal Sí Sí No R/W
(V.)[n].G.TOMON Tipo monitorización del corrector en preparación — — — R/W
(V.)[n].G.TLFN Vida nominal del corrector en preparación — — — R
(V.)[n].G.TLFR Vida real del corrector en preparación — — — R
(V.)[n].G.REMLIFE Vida restante del corrector en preparación — — — R/W
(V.)[n].G.TSTATUS Estado de la herramienta en preparación — — — R
(V.)[n].G.TLFF Familia del corrector en preparación — — — R
(V.)[n].G.TOTP1 Parámetro adicional 1 de la herramienta activa — — — R/W
(V.)[n].G.TOTP2 Parámetro adicional 2 de la herramienta activa — — — R/W
(V.)[n].G.TOTP3 Parámetro adicional 3 de la herramienta activa — — — R/W
(V.)[n].G.TOTP4 Parámetro adicional 4 de la herramienta activa — — — R/W
CNC 8070

Página 53 de 235
Curso programación paramétrica Héctor M. Peláez

Asociadas a las cotas

Se debe tener en cuenta que el cabezal trabajando en lazo cerrado (M19 ó G63) se comporta como un eje.

Estas variables son de lectura (R) síncrona.

Las denominaciones de las variables son genéricas.


• Sustituir el carácter "n" por el número de canal, conservando los corchetes. El primer canal
se identifica con el número 1, no siendo válido el 0.
• Sustituir el carácter "Xn" por el nombre, número lógico o índice en el canal del eje.
• Sustituir el carácter "Sn" por el nombre, número lógico o índice en el canal del cabezal.
VARIABLES DEL CNC
Asociadas a las cotas

(V.)[n].A.PPOS.Xn V.[1].A.PPOS.X V.[1].A.PPOS.1


(V.)[n].A.POS.Sn V.[2].A.POS.S V.[2].A.POS.2

Hay cotas reales y teóricas correspondientes a la base y a la punta de la herramienta. Todas ellas pueden
estar referidas al cero máquina o al cero pieza actual.

Se denomina cota teórica a la posición que debe ocupar el eje en cada momento, cota real a la que en
realidad está ocupando y a la diferencia entre ambas se denomina error de seguimiento.

ASOCIADOS A LOS EJES LINEALES Y ROTATIVOS PRG PLC INT Exec


(V.)[n].A.PPOS.Xn Cotas programadas (de la punta) R R R No
(V.)[n].G.PLPPOS1 Cota programada (de la punta). Primer eje del canal R R R No
(V.)[n].G.PLPPOS2 Cota programada (de la punta). Segundo eje del canal R R R No
(V.)[n].G.PLPPOS3 Cota programada (de la punta). Tercer eje del canal R R R No
(V.)[n].A.FLWE.Xn Error de seguimiento del eje R R R Sí
(V.)[n].A.FLWEST.Xn Estimación lineal del error de seguimiento del eje R R R Sí
(V.)[n].A.APOS.Xn Cotas pieza. Reales de la base R R R Sí
(V.)[n].A.ATPOS.Xn Cotas pieza. Teóricas de la base R R R Sí
(V.)[n].A.ATIPPOS.Xn Cotas pieza. Reales de la punta R R R Sí
(V.)[n].A.ATIPTPOS.Xn Cotas pieza. Teóricas de la punta R R R Sí
(V.)[n].A.POS.Xn Cotas máquina. Reales de la base R R R Sí
(V.)[n].A.TPOS.Xn Cotas máquina. Teóricas de la base R R R Sí
(V.)[n].A.TIPPOS.Xn Cotas máquina. Reales de la punta R R R Sí
(V.)[n].A.TIPTPOS.Xn Cotas máquina. Teóricas de la punta R R R Sí

La variable PPOS devuelve la cota a dirigirse, en coordenadas pieza y relativas a la punta de la


herramienta, en el sistema de referencia actual; es decir, teniendo en cuenta el giro de coordenadas,
factor escala, plano inclinado activo, etc.

G1 X10 V.A.PPOS.X=10
#SCALE [2] (Factor escala de ·2·)
G1 X10 V.A.PPOS.X=20
G73 Q90 (Giro del sistema de coordenadas)
X10 V.A.PPOS.Y=20 (Ya que es el eje Y el que se mueve)

Los valores de la variable PPOS leídos desde el programa o desde el PLC e interface serán diferentes
cuando la cota está afectada por la compensación de herramienta o se mecanice con arista matada.
El valor leído por programa será la cota programada mientras que el valor leído desde el PLC o
CNC 8070 interface será la cota real teniendo en cuenta la compensación de radio y el redondeo de la arista
matada.

ASOCIADOS A LOS CABEZALES PRG PLC INT Exec


(V.)[n].A.POS.Sn Posición real del cabezal R R R No
(V.)[n].A.TPOS.Sn Posición teórica del cabezal R R R Sí
(V.)[n].A.PPOS.Sn Posición programada del cabezal R R R Sí
(V.)[n].A.FLWE.Sn Error de seguimiento del cabezal R R R Sí
(V.)[n].A.FLWEST.Sn Estimación lineal del error de seguimiento del cabezal R R R Sí

Página 54 de 235
Curso programación paramétrica Héctor M. Peláez

Asociadas a los avances

Estas variables son de lectura y escritura (R/W) síncrona.

Las denominaciones de las variables son genéricas.


• Sustituir el carácter "n" por el número de canal, conservando los corchetes. El primer canal
se identifica con el número 1, no siendo válido el 0.

AVANCES PRG PLC INT Exec


(V.)[n].G.FREAL Avance real del CNC R R R Sí

VARIABLES DEL CNC


Asociadas a los avances
(V.)[n].G.FEED Avance activo en G94 R R R Sí
(V.)[n].PLC.F Avance por PLC en G94 R R/W R Sí
(V.)[n].G.PRGF Avance por programa en G94 R R R No
(V.)[n].G.FPREV Avance activo en G95 R R R Sí
(V.)[n].PLC.FPR Avance por PLC en G95 R R/W R Sí
(V.)[n].G.PRGFPR Avance por programa en G95 R R R No

La variable (V.)G.FREAL tiene en cuenta el override y las aceleraciones y deceleraciones de la máquina.


Con los ejes parados devuelve el valor 0 y cuando se mueven el valor correspondiente al tipo de avance
G94/G95. En máquinas de corte por láser se aconseja utilizar esta variable para que la potencia del láser
sea proporcional al avance.

El avance en G94 (mm/min) o G95 (mm/rev) puede ser fijado por programa o por PLC, siendo el más
prioritario el indicado por PLC. Si se selecciona un nuevo avance en modo MDI, se actualizan las siguientes
variables.
• (V.)G.FEED y (V.)G.PRGF con G94 activa.
• (V.)G.FPREV y (V.)G.PRGFPR con G95 activa.

TIEMPO DE MECANIZADO PRG PLC INT Exec


(V.)G.FTIME Tiempo de mecanizado en G93 R R R No
El tiempo de mecanizado viene en segundos.

FEED-RATE OVERRIDE PRG PLC INT Exec


(V.)[n].G.FRO %F activo en el CNC R R R Sí
(V.)[n].A.FRO.Xn %F activo por eje R/W R/W R/W Sí
(V.)[n].G.PRGFRO %F por programa R/W R R No
(V.)[n].PLC.FRO %F por PLC R R/W R Sí
(V.)[n].G.CNCFRO %F en el conmutador R R R/W Sí

(V.)[n].A.FRO.Xn Válida para ejes rotativos y lineales. También para los ejes independientes.
El Feed-Rate override o % del avance puede ser fijado por programa, por PLC o por el conmutador,
siendo el más prioritario el indicado por programa y el menos prioritario el seleccionado por el
conmutador.

CNC 8070

Página 55 de 235
Curso programación paramétrica Héctor M. Peláez

Asociadas a la velocidad del cabezal

Estas variables son de lectura y escritura (R/W) síncrona.

Las denominaciones de las variables son genéricas.


• Sustituir el carácter "n" por el número de canal, conservando los corchetes. El primer canal
se identifica con el número 1, no siendo válido el 0.
• Sustituir el carácter "Sn" por el nombre, número lógico o índice en el canal del cabezal.

V.A.SREAL.Sn V.A.SREAL.S
Asociadas a la velocidad del cabezal
VARIABLES DEL CNC

VELOCIDAD DE GIRO PRG PLC INT Exec


(V.)[n].A.SREAL.Sn Velocidad de giro real del cabezal R R R Sí
Tiene en cuenta el Speed-rate override.

Con el cabezal parado devuelve el valor 0. Trabajando en G96 y G97 la velocidad está en rpm y trabajando
con M19 en º/min.

VELOCIDAD DEL CABEZAL EN G97 PRG PLC INT Exec


(V.)[n].A.SPEED.Sn S activa en rpm (G97) R R R Sí
(V.)[n].PLC.S.Sn S por PLC en rpm R R/W R Sí
(V.)[n].A.PRGS.Sn S por programa en rpm R R R No
La velocidad puede ser fijada por programa o por PLC, siendo el más prioritario el indicado por PLC.

VELOCIDAD DEL CABEZAL EN CSS PRG PLC INT Exec


(V.)[n].A.CSS.Sn Velocidad CSS activa R R R Sí
(V.)[n].PLC.CSS.Sn Velocidad CSS por PLC R R/W R Sí
(V.)[n].A.PRGCSS.Sn Velocidad CSS por programa R R R No
La velocidad puede ser fijada por programa o por PLC, siendo el más prioritario el indicado por PLC.

VELOCIDAD MÁXIMA EN CORTE CONSTANTE PRG PLC INT Exec


(V.)[n].A.SLIMIT.Sn Límite S activo en corte constante R R R Sí
(V.)[n].PLC.SL.Sn Límite S por PLC en corte constante R R/W R Sí
(V.)[n].A.PRGSL.Sn Límite S por programa en corte constante R R R No

Estas variables sólo limitan la velocidad de giro del cabezal (r.p.m.) cuando está activa la velocidad
de corte constante. La velocidad máxima en corte constante puede ser fijada por programa o por
PLC, siendo la más prioritaria la indicada por PLC.

SPEED-RATE OVERRIDE PRG PLC INT Exec


(V.)[n].A.SSO.Sn % S activo en el CNC R R R Sí
(V.)[n].A.PRGSSO.Sn % S por programa R/W R R No
(V.)[n].PLC.SSO.Sn % S por PLC R R/W R Sí
(V.)[n].A.CNCSSO.Sn % S en el conmutador R R R/W Sí
El Speed-rate override o % de velocidad puede ser fijado por programa, por PLC o por el conmutador,
siendo el más prioritario el indicado por programa y el menos prioritario el seleccionado por el conmutador.

VELOCIDAD EN M19 PRG PLC INT Exec


(V.)[n].A.SPOS.Sn Velocidad en M19 activa R R R Sí
(V.)[n].PLC.SPOS.Sn Velocidad en M19 por PLC R R/W R Sí
CNC 8070
(V.)[n].A.PRGSPOS.Sn Velocidad en M19 por programa R R R No

Página 56 de 235
Curso programación paramétrica Héctor M. Peláez

Lista alfabética de variables

Mnemónico Variable

(V.)[n].A.ACCEL.Xn Valor instantáneo real de la aceleración............................................................


(V.)[n].A.ACFGAIN.Xn Porcentaje de AC-forward activo .......................................................................
(V.)[n].A.ACTACF.Xn AC-forward instantáneo .....................................................................................
(V.)[n].A.ACTCH.Xn Canal actual del eje o cabezal ..........................................................................
(V.)[n].A.ACTFFW.Xn Feed forward instantáneo ..................................................................................
(V.)[n].A.ACTIVSET.Xn Gama activa del eje o cabezal ..........................................................................
(V.)[n].A.ACTPLCOF.Xn Offset acumulado de PLC en el eje Xn .............................................................
(V.)[n].A.ADDMANOF.Xn Distancia movida con G201...............................................................................
VARIABLES DEL CNC
Lista alfabética de variables

(V.)[n].A.APOS.Xn Cotas pieza. Reales de la base.........................................................................


(V.)[n].A.ASINUS.Xn Parte fraccionaria de la señal A ........................................................................
(V.)[n].A.ATIPMEAS.Xn Valor medido. Cotas pieza de la punta ..............................................................
(V.)[n].A.ATIPPOS.Xn Cotas pieza. Reales de la punta .......................................................................
(V.)[n].A.ATIPTPOS.Xn Cotas pieza. Teóricas de la punta .....................................................................
(V.)[n].A.ATPOS.Xn Cotas pieza. Teóricas de la base ......................................................................
(V.)[n].A.BSINUS.Xn Parte fraccionaria de la señal B ........................................................................
(V.)[n].A.CNCMMODE.Xn En el conmutador para el eje Xn .......................................................................
(V.)[n].A.CNCSSO.Sn % S en el conmutador .......................................................................................
(V.)[n].A.COUNTER.Xn Impulsos de contaje ..........................................................................................
(V.)[n].A.COUNTERST.Xn Estado del contador ..........................................................................................
(V.)[n].A.CSS.Sn Velocidad CSS activa ........................................................................................
(V.)[n].A.DIST.Xn Distancia recorrida por el eje o cabezal ............................................................
(V.)[n].A.FEED.Xn Valor instantáneo real de la velocidad ...............................................................
(V.)[n].A.FFGAIN.Xn Porcentaje de feed forward activo .....................................................................
(V.)[n].A.FIX.Xn Offset de garra actual del eje Xn .......................................................................
(V.)[n].A.FIXT[i].Xn Offset de garra [i] del eje Xn..............................................................................
(V.)[n].A.FLWE.Sn Error de seguimiento del cabezal ......................................................................
(V.)[n].A.FLWE.Xn Error de seguimiento del eje .............................................................................
(V.)[n].A.FLWEST.Sn Estimación lineal del error de seguimiento del cabezal.....................................
(V.)[n].A.FLWEST.Xn Estimación lineal del error de seguimiento del eje ............................................
(V.)[n].A.FRO.Xn % F activo por eje ..............................................................................................
(V.)[n].A.FTEO.Xn Consigna de velocidad para Sercos ..................................................................
(V.)[n].A.GEARADJ.Xn Ajuste fino del ratio de transmisión durante la sincronización ...........................
(V.)[n].A.HEADOF.Xn Dimensión de la cinemática...............................................................................
(V.)[n].A.INPOS.Xn Eje o cabezal en posición..................................................................................
(V.)[n].A.IORG.Xn Offset para el eje independiente........................................................................
(V.)[n].A.IPPOS.Xn Cota programada para el eje independiente .....................................................
(V.)[n].A.IPRGF.Xn Avance programado en el eje independiente ....................................................
(V.)[n].A.ITPOS.Xn Cota teórica del eje independiente ....................................................................
(V.)[n].A.JERK.Xn Valor instantáneo real de jerk ............................................................................
(V.)[n].A.MANMODE.Xn Activo para el eje Xn..........................................................................................
(V.)[n].A.MANOF.Xn Distancia movida con G200 o inspección..........................................................
(V.)[n].A.MEAS.Xn Valor medido. Cotas máquina de la base ..........................................................
(V.)[n].A.MEASIN.Xn Cota con offset de medición incluido.................................................................
(V.)[n].A.MEASOF.Xn Diferencia respecto al punto programado .........................................................
(V.)[n].A.MEASOK.Xn Palpación finalizada...........................................................................................
(V.)[n].A.NEGLIMIT.Xn Límite negativo de software...............................................................................
(V.)[n].A.ORG.Xn Offset del origen actual del eje Xn ....................................................................
(V.)[n].A.ORGT[i].Xn Offset del origen [i] del eje Xn ...........................................................................
(V.)[n].A.PLCACFGAIN.Xn % de AC-forward programado desde el PLC ....................................................
(V.)[n].A.PLCFFGAIN.Xn % de feed forward programado desde el PLC...................................................
(V.)[n].A.PLCMMODE.Xn Por PLC para el eje Xn ......................................................................................
(V.)[n].A.PLCOF.Xn Offset del origen por PLC del eje Xn .................................................................
(V.)[n].A.PLCPROGAIN.Xn Ganancia proporcional programada desde el PLC ...........................................
(V.)[n].A.POS.Sn Posición real del cabezal ...................................................................................
(V.)[n].A.POS.Xn Cotas máquina. Reales de la base ...................................................................
(V.)[n].A.POSINC.Xn Incremento real de posición del actual período de muestreo............................
CNC 8070 (V.)[n].A.POSLIMIT.Xn Límite positivo de software ................................................................................
(V.)[n].A.PPOS.Sn Posición programada del cabezal......................................................................
(V.)[n].A.PPOS.Xn Cotas programadas (de la punta)......................................................................
(V.)[n].A.PRELOAD.Xn Precarga ............................................................................................................
(V.)[n].A.PREVPOSINC.Xn Incremento real de posición del anterior período de muestreo .........................
(V.)[n].A.PRGCSS.Sn Velocidad CSS por programa ............................................................................
(V.)[n].A.PRGS.Sn S por programa en rpm .....................................................................................
(V.)[n].A.PRGSL.Sn Límite S por programa en corte constante ........................................................
(V.)[n].A.PRGSPOS.Sn Velocidad en M19 por programa .......................................................................
(V.)[n].A.PRGSSO.Sn % S por programa .............................................................................................
(V.)[n].A.RTNEGLIMIT.Xn Segundo límite negativo de software ................................................................
(V.)[n].A.RTPOSLIMIT.Xn Segundo límite positivo de software ..................................................................

Página 57 de 235
Curso programación paramétrica Héctor M. Peláez

(V.)[n].A.SLIMIT.Sn Límite S activo en corte constante .......................................................................


(V.)[n].A.SPEED.Sn S activa en rpm (G97) ..........................................................................................
(V.)[n].A.SPOS.Sn Velocidad en M19 activa.......................................................................................
(V.)[n].A.SREAL.Sn Velocidad de giro real del cabezal ........................................................................
(V.)[n].A.SSO.Sn % S activo en el CNC ...........................................................................................
(V.)[n].A.SYNCPOSOFF.Xn Offset de posición para la sincronización .............................................................
(V.)[n].A.SYNCPOSW.Xn Diferencia de posición máxima para empezar a corregir .....................................
(V.)[n].A.SYNCTOUT.Xn Tiempo máximo para realizar la sincronización ...................................................
(V.)[n].A.SYNCVEL.Xn Velocidad de sincronización ................................................................................
(V.)[n].A.SYNCVELOFF.Xn Offset de velocidad para la sincronización ...........................................................
(V.)[n].A.SYNCVELW.Xn Diferencia de velocidad máxima para empezar a corregir ...................................
(V.)[n].A.TACCEL.Xn Valor instantáneo teórico de la aceleración ..........................................................
(V.)[n].A.TFEED.Xn Valor instantáneo teórico de la velocidad .............................................................
(V.)[n].A.TFILTOUT.Xn Salida del filtro de precarga ..................................................................................

VARIABLES DEL CNC


Lista alfabética de variables
(V.)[n].A.TIPPOS.Xn Cotas máquina. Reales de la punta .....................................................................
(V.)[n].A.TIPTPOS.Xn Cotas máquina. Teóricas de la punta ...................................................................
(V.)[n].A.TJERK.Xn Valor instantáneo teórico de jerk ..........................................................................
(V.)[n].A.TOFL.Xn Desviación en el eje Xn del corrector activo.........................................................
(V.)[n].A.TOFLW.Xn Desgaste desviación en eje Xn del corrector activo .............................................
(V.)[n].A.TOFLW.Xn Desgaste offset de la herramienta en el primer eje del canal ..............................
(V.)[n].A.TOFLW.Xn Desgaste offset de la herramienta en el primer eje del canal ..............................
(V.)[n].A.TOFLW.Xn Desgaste offset de la herramienta en el primer eje del canal ..............................
(V.)[n].A.TORQUE.Xn Par de corriente en Sercos ..................................................................................
(V.)[n].A.TPIIN.Xn Entrada del PI del eje maestro del tándem (en rpm)............................................
(V.)[n].A.TPIOUT.Xn Salida del PI del eje maestro del tándem (en rpm) ..............................................
(V.)[n].A.TPOS.Sn Posición teórica del cabezal .................................................................................
(V.)[n].A.TPOS.Xn Cotas máquina. Teóricas de la base ....................................................................
(V.)[n].A.TPOSINC.Xn Incremento teórico de posición del actual período de muestreo ..........................
(V.)[n].G.ACS Número de función ACS activa.............................................................................
(V.)[n].G.ACTIVPROBE Número de palpador activo..................................................................................
(V.)[n].G.AXIS Número de ejes del canal.....................................................................................
(V.)[n].G.AXISCH Nombre de los ejes del canal ...............................................................................
(V.)[n].G.AXISNAMEx Nombre del eje "x" del canal ................................................................................
(V.)[n].G.BLKN Última etiqueta ejecutada (número) .....................................................................
(V.)[n].G.BLKSKIP Función salto de bloque ( \ ) activada...................................................................
(V.)[n].G.CIRERR[i] Corrección del centro del arco..............................................................................
(V.)[n].G.CNCERR Número del error más prioritario en el canal indicado..........................................
(V.)[n].G.CNCFRO % F en el conmutador ..........................................................................................
(V.)[n].G.CNCHANNEL Número de canal ..................................................................................................
(V.)[n].G.CNCWARNING Número de warning que se visualiza en el canal indicado...................................
(V.)[n].G.CS Número de función CS activa ...............................................................................
(V.)[n].G.CSMAT1 Matriz resultante del plano inclinado. Elemento fila 1 columna 1 .........................
(V.)[n].G.CSMAT10 Traslado del sistema de coordenadas actual respecto al cero máquina en el pr
eje 388
(V.)[n].G.CSMAT11 Traslado del sistema de coordenadas actual respecto al cero máquina en el segundo
eje 388
(V.)[n].G.CSMAT12 Traslado del sistema de coordenadas actual respecto al cero máquina en el tercer eje
388
(V.)[n].G.CSMAT2 Matriz resultante del plano inclinado. Elemento fila 1 columna 2 .........................
(V.)[n].G.CSMAT3 Matriz resultante del plano inclinado. Elemento fila 1 columna 3 .........................
(V.)[n].G.CSMAT4 Matriz resultante del plano inclinado. Elemento fila 2 columna 1 .........................
(V.)[n].G.CSMAT5 Matriz resultante del plano inclinado. Elemento fila 2 columna 2 .........................
(V.)[n].G.CSMAT6 Matriz resultante del plano inclinado. Elemento fila 2 columna 3 .........................
(V.)[n].G.CSMAT7 Matriz resultante del plano inclinado. Elemento fila 3 columna 1 .........................
(V.)[n].G.CSMAT8 Matriz resultante del plano inclinado. Elemento fila 3 columna 2 .........................
(V.)[n].G.CSMAT9 Matriz resultante del plano inclinado. Elemento fila 3 columna 3 .........................
(V.)[n].G.CYCLETYPEON Tipo de ciclo fijo activo..........................................................................................
(V.)[n].G.CYCLETYPEON Tipo de ciclo fijo activo..........................................................................................
(V.)[n].G.CYTIME Tiempo de ejecución del programa pieza (en centésimas de segundo) ..............
(V.)[n].G.F3D Avance teórico de la trayectoria 3D ......................................................................
(V.)[n].G.FEED Avance activo en G94...........................................................................................
(V.)[n].G.FILENAME Nombre del programa en ejecución......................................................................
(V.)[n].G.FILEOFFSET Posición que ocupa la línea en ejecución............................................................. CNC 8070
(V.)[n].G.FIRST Primera vez que se ejecuta un programa.............................................................
(V.)[n].G.FIX Número de garra actual........................................................................................
(V.)[n].G.FMAN Avance en manual en G94 ...................................................................................
(V.)[n].G.FPREV Avance activo en G95...........................................................................................
(V.)[n].G.FREAL Avance real del CNC ............................................................................................
(V.)[n].G.FRO % F activo en el CNC ...........................................................................................
(V.)[n].G.FULLSTATUS Estado del CNC (detallado)..................................................................................
(V.)[n].G.GS[i] Estado de la función "G" solicitada.......................................................................
(V.)[n].G.GUP[i] Valor parámetro aritmético global [i] .....................................................................
(V.)[n].G.GUPF[i] Valor parámetro aritmético global [i]. Valor por 10000..........................................
(V.)[n].G.HGS Historia de funciones "G" a visualizar...................................................................
(V.)[n].G.HGS1..10 Estado de las funciones "G" (32 bit).....................................................................

Página 58 de 235
Curso programación paramétrica Héctor M. Peláez

(V.)[n].G.HMS Historia de funciones "M" a visualizar del cabezal master ...................................


(V.)[n].G.HMSi Historia de funciones "M" a visualizar del cabezal "i"...........................................
(V.)[n].G.HSC Función HSC activa..............................................................................................
(V.)[n].G.I/J/K Cotas relativas del centro del arco (I, J, K)...........................................................
(V.)[n].G.IBUSY Algún eje independiente está en ejecución ..........................................................
(V.)[n].G.INTMAN Se permite realizar movimientos en modo manual ..............................................
(V.)[n].G.LINEN Número de línea de programa que se está ejecutando .......................................
(V.)[n].G.LINKACTIVE Estado del acoplo .................................................................................................
(V.)[n].G.LONGAX Eje longitudinal .....................................................................................................
(V.)[n].G.LUPACT[i] Valor parámetro aritmético local [i] nivel activo ....................................................
(V.)[n].G.LUPm[i] Valor parámetro aritmético local [i] del nivel m .....................................................
(V.)[n].G.LUPmF[i] Valor parámetro aritmético local [i] del nivel m. Valor por 10000..........................
(V.)[n].G.M01STOP Función parada condicional (M01) activada .........................................................
(V.)[n].G.MANFPR Avance en manual en G95 ...................................................................................
VARIABLES DEL CNC
Lista alfabética de variables

(V.)[n].G.MASTERSP Cabezal master del canal .....................................................................................


(V.)[n].G.MEETCH[i] Marca de tipo MEET que espera el canal [n] del canal [i] ....................................
(V.)[n].G.MEETST[i] Estado de la marca [i] de tipo MEET en el canal [n].............................................
(V.)[n].G.MIRROR Imágenes espejo activas ......................................................................................
(V.)[n].G.MIRROR1 Imagen espejo activa en el primer eje del canal ..................................................
(V.)[n].G.MIRROR2 Imagen espejo activa en el segundo eje del canal ...............................................
(V.)[n].G.MIRROR3 Imagen espejo activa en el tercer eje del canal ...................................................
(V.)[n].G.MS[i] Estado de la función "M" solicitada ......................................................................
(V.)[n].G.NAXIS Número de ejes del canal contando los huecos de ejes cedidos.........................
(V.)[n].G.NSPDL Número de cabezales del canal ...........................................................................
(V.)[n].G.NXTOD Número de corrector siguiente en preparación ....................................................
(V.)[n].G.NXTOOL Número de herramienta siguiente en preparación ...............................................
(V.)[n].G.ORGROT Angulo de giro del sistema de coordenadas ........................................................
(V.)[n].G.PARTC Contador de piezas ..............................................................................................
(V.)[n].G.PENDNR Número de repeticiones pendientes con NR........................................................
(V.)[n].G.PENDRPT Número de repeticiones pendientes con #RPT....................................................
(V.)[n].G.PLANE Ejes que forman el plano de trabajo.....................................................................
(V.)[n].G.PLANE1 Primer eje principal del canal (abscisas) ..............................................................
(V.)[n].G.PLANE2 Segundo eje principal del canal (ordenadas) .......................................................
(V.)[n].G.PLANE3 Tercer eje principal del canal ................................................................................
(V.)[n].G.PLANELONG Eje longitudinal del canal......................................................................................
(V.)[n].G.PLAXNAME1 Ejes principales (abscisas) ...................................................................................
(V.)[n].G.PLAXNAME2 Ejes principales (ordenadas) ................................................................................
(V.)[n].G.PLAXNAME3 Ejes principales (longitudinal)...............................................................................
(V.)[n].G.PLMEAS1 Valor medido en el primer eje del canal. Cotas pieza de la punta........................
(V.)[n].G.PLMEAS2 Valor medido en el segundo eje del canal. Cotas pieza de la punta ....................
(V.)[n].G.PLMEAS3 Valor medido en el tercer eje del canal. Cotas pieza de la punta.........................
(V.)[n].G.PLMEASOKx Palpación finalizada en los ejes del plano ............................................................
(V.)[n].G.PLPPOS1 Cota programada (de la punta). Primer eje del canal...........................................
(V.)[n].G.PLPPOS2 Cota programada (de la punta). Segundo eje del canal .......................................
(V.)[n].G.PLPPOS3 Cota programada (de la punta). Tercer eje del canal ...........................................
(V.)[n].G.PORGF Posición del origen polar al cero pieza (abscisas) ...............................................
(V.)[n].G.PORGS Posición del origen polar al cero pieza (ordenadas) ............................................
(V.)[n].G.POSROTF Posición actual del eje rotativo principal...............................................................
(V.)[n].G.POSROTS Posición actual del eje rotativo secundario...........................................................
(V.)[n].G.PRGF Avance por programa en G94 ..............................................................................
(V.)[n].G.PRGFPR Avance por programa en G95 ..............................................................................
(V.)[n].G.PRGFRO % F por programa.................................................................................................
(V.)[n].G.PRGPATH Path del programa en ejecución ...........................................................................
(V.)[n].G.R Radio del arco ......................................................................................................
(V.)[n].G.RAPID Función rápido activada .......................................................................................
(V.)[n].G.REMLIFE Vida restante del corrector en preparación ..........................................................
(V.)[n].G.ROTPF Posición del centro de giro respecto al cero pieza (abscisas)..............................
(V.)[n].G.ROTPS Posición del centro de giro respecto al cero pieza (ordenadas)...........................
(V.)[n].G.SBLOCK Solicitud por teclado de función bloque a bloque .................................................
(V.)[n].G.SBOUT Función bloque a bloque activada ........................................................................
(V.)[n].G.SCALE Indica el factor escala general activo....................................................................
(V.)[n].G.SOFTLIMIT Limites de software alcanzados ...........................................................................
CNC 8070 (V.)[n].G.SPDLNAMEx Nombre del cabezal "x" del canal.........................................................................
(V.)[n].G.SPDLREP Función M con la que hay que reposicionar el cabezal tras una inspección........
(V.)[n].G.STATUS Estado del CNC (resumido)..................................................................................
(V.)[n].G.TLFF Familia del corrector en preparación ....................................................................
(V.)[n].G.TLFN Vida nominal del corrector en preparación ...........................................................
(V.)[n].G.TLFR Vida real del corrector en preparación .................................................................
(V.)[n].G.TOAN Ángulo profundización del corrector en preparación ............................................
(V.)[n].G.TOCUTL Longitud de corte del corrector en preparación....................................................
(V.)[n].G.TOD Número de corrector en preparación....................................................................
(V.)[n].G.TOFL1 Offset de la herramienta en el primer eje del canal..............................................
(V.)[n].G.TOFL2 Offset de la herramienta en el segundo eje del canal ..........................................
(V.)[n].G.TOFL3 Offset de la herramienta en el tercer eje del canal...............................................
(V.)[n].G.TOFLW1 Desgaste offset de la herramienta en el primer eje del canal ..............................

Página 59 de 235
Curso programación paramétrica Héctor M. Peláez

(V.)[n].G.TOFLW2 Desgaste offset de la herramienta en el segundo eje del canal........................


(V.)[n].G.TOFLW3 Desgaste offset de la herramienta en el tercer eje del canal ............................
(V.)[n].G.TOI Desgaste de radio del corrector en preparación................................................
(V.)[n].G.TOK Desgaste de longitud del corrector en preparación ...........................................
(V.)[n].G.TOL Longitud del corrector en preparación ...............................................................
(V.)[n].G.TOMON Tipo monitorización del corrector en preparación .............................................
(V.)[n].G.TOOL Número de herramienta en preparación............................................................
(V.)[n].G.TOOLCOMP Función de compensación activa ......................................................................
(V.)[n].G.TOOLDIR Orientación de la herramienta ...........................................................................
(V.)[n].G.TOOLORIF1 Posición a ocupar por el eje rotativo principal ...................................................
(V.)[n].G.TOOLORIF2 Posición a ocupar por el eje rotativo principal ...................................................
(V.)[n].G.TOOLORIS1 Posición a ocupar por el eje rotativo secundario ...............................................
(V.)[n].G.TOOLORIS2 Posición a ocupar por el eje rotativo secundario ...............................................
(V.)[n].G.TOR Radio del corrector en preparación ...................................................................

VARIABLES DEL CNC


Lista alfabética de variables
(V.)[n].G.TOTIPR Radio de la punta del corrector en preparación ................................................
(V.)[n].G.TOTP1 Parámetro adicional 1 de la herramienta activa.................................................
(V.)[n].G.TOTP2 Parámetro adicional 2 de la herramienta activa.................................................
(V.)[n].G.TOTP3 Parámetro adicional 3 de la herramienta activa.................................................
(V.)[n].G.TOTP4 Parámetro adicional 4 de la herramienta activa.................................................
(V.)[n].G.TOWTIPR Desgaste radio de la punta del corrector en preparación..................................
(V.)[n].G.TSTATUS Estado de la herramienta en preparación .........................................................
(V.)[n].G.WAITCH[i] Marca de tipo WAIT que espera el canal [n] del canal [i] ..................................
(V.)[n].G.WAITST[i] Estado de la marca [i] de tipo WAIT en el canal [n]...........................................
(V.)[n].MPA.ABSFEEDBACK[g].XnSistema de captación absoluto ......................................................................
(V.)[n].MPA.ABSOFF[g].Xn Offset respecto al I0 codificado .........................................................................
(V.)[n].MPA.ACCEL[g].Xn Aceleración........................................................................................................
(V.)[n].MPA.ACCJERK[g].Xn Jerk de aceleración ...........................................................................................
(V.)[n].MPA.ACFGAIN[g].Xn Porcentaje AC-Forward en automático ..............................................................
(V.)[n].MPA.ACFWFACTOR[g].XnConstante tiempo de aceleración ....................................................................
(V.)[n].MPA.ACTBAKAN[g].Xn Aplicación del impulso adicional de consigna ...................................................
(V.)[n].MPA.ANAOUTID[g].Xn Salida analógica del eje.....................................................................................
(V.)[n].MPA.AUTOGEAR.Xn Cambio de gama automático.............................................................................
(V.)[n].MPA.AXISCH[g].Xn Cambio de signo del contaje .............................................................................
(V.)[n].MPA.AXISEXCH Permiso de cambio de canal .............................................................................
(V.)[n].MPA.AXISMODE.Xn Modo de trabajo.................................................................................................
(V.)[n].MPA.AXISTYPE.Xn Tipo de eje.........................................................................................................
(V.)[n].MPA.BACKLASH[g].Xn Holgura ..............................................................................................................
(V.)[n].MPA.BAKANOUT[g].Xn Impulso adicional de consigna ..........................................................................
(V.)[n].MPA.BAKTIME[g].Xn Duración del impulso adicional de consigna .....................................................
(V.)[n].MPA.BIDIR.Xn Compensación bidireccional..............................................................................
(V.)[n].MPA.CAXIS.Xn Trabaja como eje C............................................................................................
(V.)[n].MPA.CAXSET.Xn Gama de trabajo para el eje C ..........................................................................
(V.)[n].MPA.COUNTERID[g].Xn Entrada de captación del eje .............................................................................
(V.)[n].MPA.DECEL[g].Xn Deceleración......................................................................................................
(V.)[n].MPA.DECINPUT.Xn Micro para la búsqueda .....................................................................................
(V.)[n].MPA.DECJERK[g].Xn Jerk de deceleración .........................................................................................
(V.)[n].MPA.DEFAULTSET.Xn Gama de trabajo en el encendido .....................................................................
(V.)[n].MPA.DIAMPROG.Xn Programación en diámetros ...............................................................................
(V.)[n].MPA.DISTLUBRI[g].Xn Distancia para impulso de lubricación ...............................................................
(V.)[n].MPA.DRIVEID.Xn Dirección del regulador Sercos .........................................................................
(V.)[n].MPA.DRIVETYPE.Xn Tipo de regulador ..............................................................................................
(V.)[n].MPA.DSYNCPOSW.Xn Ventana de sincronización en posición..............................................................
(V.)[n].MPA.DSYNCVELW.Xn Ventana de sincronización en velocidad............................................................
(V.)[n].MPA.DWELL.Xn Temporización para ejes muertos......................................................................
(V.)[n].MPA.ESTDELAY[g].Xn Retardo del error de seguimiento ......................................................................
(V.)[n].MPA.EXTMULT[g].Xn Factor externo para I0 codificados ....................................................................
(V.)[n].MPA.FACEAXIS.Xn Eje transversal ...................................................................................................
(V.)[n].MPA.FBACKAL[g] Activación de la alarma de captación ................................................................
(V.)[n].MPA.FBACKSRC.Xn Tipo de captación ..............................................................................................
(V.)[n].MPA.FEDYNFAC[g].Xn % desviación del error de seguimiento..............................................................
(V.)[n].MPA.FFGAIN[g].Xn Porcentaje Feed Forward en automático ...........................................................
(V.)[n].MPA.FFWTYPE[g].Xn Tipo de pre-control ............................................................................................
(V.)[n].MPA.FLWEMONITOR[g].XnTipo de monitorización................................................................................... CNC 8070
(V.)[n].MPA.FREQUENCY[i].Xn Frecuencia de corte o central ............................................................................
(V.)[n].MPA.G00FEED[g].Xn Avance en G00 ..................................................................................................
(V.)[n].MPA.HIRTH.Xn Eje con dentado Hirth........................................................................................
(V.)[n].MPA.HPITCH.Xn Paso de eje Hirth ...............................................................................................
(V.)[n].MPA.I0CODDI1[g].Xn Paso entre 2 I0 codificados fijos ........................................................................
(V.)[n].MPA.I0CODDI2[g].Xn Paso entre 2 I0 codificados variables ................................................................
(V.)[n].MPA.I0TYPE[g].Xn Tipo de I0...........................................................................................................
(V.)[n].MPA.INCJOGDIST[i].Xn Distancia a recorrer en la posición [i] ................................................................
(V.)[n].MPA.INCJOGFEED[i].Xn Avance para la posición [i].................................................................................
(V.)[n].MPA.INPOMAX[g].Xn Tiempo para entrar en banda de muerte...........................................................
(V.)[n].MPA.INPOSW[g].Xn Banda de muerte...............................................................................................
(V.)[n].MPA.INPOTIME[g].Xn Tiempo mínimo en banda de muerte.................................................................

Página 60 de 235
Curso programación paramétrica Héctor M. Peláez

(V.)[n].MPA.INPUTREV[g].Xn Vueltas eje motor..................................................................................................


(V.)[n].MPA.INPUTREV2[g].Xn Vueltas eje motor (2ª captación)...........................................................................
(V.)[n].MPA.IPOACCP.Xn Máximo % de aceleración de ejecución con G201...............................................
(V.)[n].MPA.IPOFEEDP.Xn Máximo % de avance de ejecución con G201 .....................................................
(V.)[n].MPA.JOGFEED.Xn Avance en modo JOG continuo............................................................................
(V.)[n].MPA.JOGRAPFEED.Xn Avance rápido en modo JOG continuo .................................................................
(V.)[n].MPA.LACC1[g].Xn Aceleración del primer tramo................................................................................
(V.)[n].MPA.LACC2[g].Xn Aceleración del segundo tramo ...........................................................................
(V.)[n].MPA.LFEED[g].Xn Velocidad de cambio ............................................................................................
(V.)[n].MPA.LONGAXIS.Xn Eje longitudinal .....................................................................................................
(V.)[n].MPA.LOOPCH[g].Xn Cambio de signo de la consigna .........................................................................
(V.)[n].MPA.LOSPDLIM.Xn Porcentaje inferior de rpm OK ..............................................................................
(V.)[n].MPA.LSCRWCOMP.Xn Compensación de husillo .....................................................................................
(V.)[n].MPA.MANACCP.Xn Máximo % de aceleración manual con G201 .......................................................
VARIABLES DEL CNC
Lista alfabética de variables

(V.)[n].MPA.MANACFGAIN[g].XnPorcentaje AC-Forward en manual......................................................................


(V.)[n].MPA.MANFEEDP.Xn Máximo % de avance manual con G201 ..............................................................
(V.)[n].MPA.MANFFGAIN[g].Xn Porcentaje de Feed Forward en manual...............................................................
(V.)[n].MPA.MANNEGSW.Xn Máximo recorrido negativo con G201...................................................................
(V.)[n].MPA.MANPOSSW.Xn Máximo recorrido positivo con G201 ....................................................................
(V.)[n].MPA.MAXFLWE[g].Xn Error de seguimiento máximo en movimiento ......................................................
(V.)[n].MPA.MAXMANACC.Xn Aceleración máxima en manual ...........................................................................
(V.)[n].MPA.MAXMANFEED.Xn Avance máximo en modo JOG continuo ..............................................................
(V.)[n].MPA.MAXOVR.Xn Override (%) máximo............................................................................................
(V.)[n].MPA.MAXVOLT[g].Xn Consigna para alcanzar G00FEED ......................................................................
(V.)[n].MPA.MINANOUT[g].Xn Consigna mínima .................................................................................................
(V.)[n].MPA.MINFLWE[g].Xn Error de seguimiento máximo en parado .............................................................
(V.)[n].MPA.MINOVR.Xn Override (%) mínimo ............................................................................................
(V.)[n].MPA.MODCOMP.Xn Compensación de módulo...................................................................................
(V.)[n].MPA.MODERR[g].Xn Error de módulo. Número de incrementos ...........................................................
(V.)[n].MPA.MODLOWLIM[g].Xn Límite inferior del módulo .....................................................................................
(V.)[n].MPA.MODNROT[g].Xn Error de módulo. Número de vueltas....................................................................
(V.)[n].MPA.MODUPLIM[g].Xn Límite superior del módulo ...................................................................................
(V.)[n].MPA.MPGFILTER.Xn Tiempo de filtro para el volante ............................................................................
(V.)[n].MPA.MPGRESOL[i].Xn Resolución para la posición [i]..............................................................................
(V.)[n].MPA.NEGERROR[i].Xn Error en sentido negativo del punto [i] ..................................................................
(V.)[n].MPA.NEGLIMIT.Xn Límite negativo de software..................................................................................
(V.)[n].MPA.NORBWIDTH[i].Xn Anchura de banda normalizada ...........................................................................
(V.)[n].MPA.NPARSETS.Xn Número de gamas de trabajo ..............................................................................
(V.)[n].MPA.NPOINTS.Xn Número de puntos de la tabla .............................................................................
(V.)[n].MPA.NPULSES[g].Xn Número de impulsos del encóder........................................................................
(V.)[n].MPA.NPULSES2[g].Xn Número de impulsos del encóder (2ª captación)..................................................
(V.)[n].MPA.OPMODEP.Xn Modo de operación del regulador Sercos.............................................................
(V.)[n].MPA.ORDER[i].Xn Orden del filtro ......................................................................................................
(V.)[n].MPA.OUTPUTREV[g].Xn Vueltas eje máquina .............................................................................................
(V.)[n].MPA.OUTPUTREV2[g].XnVueltas eje máquina (2ª captación).....................................................................
(V.)[n].MPA.PITCH[g].Xn Paso de husillo .....................................................................................................
(V.)[n].MPA.PITCH2[g].Xn Paso de husillo (2ª captación) ..............................................................................
(V.)[n].MPA.PLCOINC.Xn Incremento de PLC offset por ciclo ......................................................................
(V.)[n].MPA.POLARM3[g].Xn Signo consigna M3 ...............................................................................................
(V.)[n].MPA.POLARM4[g].Xn Signo consigna M4 ...............................................................................................
(V.)[n].MPA.POSERROR[i].Xn Error en sentido positivo del punto [i] ...................................................................
(V.)[n].MPA.POSFEED.Xn Avance de posicionamiento ..................................................................................
(V.)[n].MPA.POSITION[i].Xn Posición del eje para el punto [i]...........................................................................
(V.)[n].MPA.POSLIMIT.Xn Límite positivo de software ...................................................................................
(V.)[n].MPA.PROBEAXIS.Xn Eje en movimiento con palpador .........................................................................
(V.)[n].MPA.PROBEDELAY Retardo de la señal de palpador 1 .......................................................................
(V.)[n].MPA.PROBEDELAY2 Retardo de la señal de palpador 2 .......................................................................
(V.)[n].MPA.PROBEFEED.Xn Velocidad de palpación.........................................................................................
(V.)[n].MPA.PROBERANGE.Xn Distancia máxima de frenado ...............................................................................
(V.)[n].MPA.PROGAIN[g].Xn Ganancia proporcional .........................................................................................
(V.)[n].MPA.REFDIREC.Xn Sentido búsqueda cero ........................................................................................
(V.)[n].MPA.REFFEED1[g].Xn Velocidad rápida de búsqueda de cero ................................................................
CNC 8070 (V.)[n].MPA.REFFEED2[g].Xn Velocidad lenta de búsqueda de cero ..................................................................
(V.)[n].MPA.REFNEED.Xn Búsqueda de cero necesaria...............................................................................
(V.)[n].MPA.REFPULSE[g].Xn Tipo de impulso del I0 ..........................................................................................
(V.)[n].MPA.REFSHIFT[g].Xn Offset del punto de referencia ..............................................................................
(V.)[n].MPA.REFVALUE[g].Xn Posición del punto de referencia ..........................................................................
(V.)[n].MPA.REPOSFEED.Xn Avance máximo en reposicionamiento .................................................................
(V.)[n].MPA.SERVOOFF[g].Xn Compensación de offset.......................................................................................
(V.)[n].MPA.SHARE[i].Xn % de señal que pasa a través del filtro.................................................................
(V.)[n].MPA.SHORTESTWAY.XnPor el camino más corto.......................................................................................
(V.)[n].MPA.SINMAGNI[g].Xn Factor de multiplicación sinusoidal .......................................................................
(V.)[n].MPA.SPDLSTOP.Xn M2, M30 y Reset paran el cabezal .......................................................................
(V.)[n].MPA.SPDLTIME.Xn Tiempo estimado para una función S...................................................................
(V.)[n].MPA.SREVM05.Xn G84. La inversión para el cabezal ........................................................................

Página 61 de 235
Curso programación paramétrica Héctor M. Peláez

(V.)[n].MPA.STEPOVR.Xn Paso del Override .................................................................................................


(V.)[n].MPA.SWLIMITTOL.Xn Tolerancia de límites de software .........................................................................
(V.)[n].MPA.SYNCSET.Xn Set de parámetros para la sincronización ............................................................
(V.)[n].MPA.SZERO[g].Xn Velocidad que se considera cero.........................................................................
(V.)[n].MPA.TENDENCY.Xn Activación del test de tendencia ...........................................................................
(V.)[n].MPA.TYPE[i].Xn Tipo de filtro..........................................................................................................
(V.)[n].MPA.TYPLSCRW.Xn Método de compensación ....................................................................................
(V.)[n].MPA.UNIDIR.Xn Sentido de giro único............................................................................................
(V.)[n].MPA.UPSPDLIM.Xn Porcentaje superior de rpm OK ...........................................................................
(V.)[n].MPG.ALIGNC Eje C en mecanizado diametral............................................................................
(V.)[n].MPG.ANTIME Tiempo de anticipación.........................................................................................
(V.)[n].MPG.CAXNAME Eje que trabajará como eje C (por defecto)..........................................................
(V.)[n].MPG.CHAXISNAMEx Nombre del eje lógico "x" .....................................................................................
(V.)[n].MPG.CHNAXIS Número de ejes del canal.....................................................................................

VARIABLES DEL CNC


Lista alfabética de variables
(V.)[n].MPG.CHNSPDL Número de cabezales del canal ...........................................................................
(V.)[n].MPG.CHSPDLNAMEx Nombre del cabezal "x" ........................................................................................
(V.)[n].MPG.CHTYPE Tipo de canal ........................................................................................................
(V.)[n].MPG.CIRINERR Error absoluto en el radio .....................................................................................
(V.)[n].MPG.CIRINFACT Porcentaje de error sobre el radio ........................................................................
(V.)[n].MPG.FEEDND Aplicar el avance programado a todos los ejes del canal.....................................
(V.)[n].MPG.FPRMAN Función G95 permitida en modo manual .............................................................
(V.)[n].MPG.GEOCONFIG Configuración geométrica de los ejes del canal ...................................................
(V.)[n].MPG.GROUPID Grupo al que pertenece el canal ..........................................................................
(V.)[n].MPG.HIDDENCH Canal oculto..........................................................................................................
(V.)[n].MPG.ICORNER Tipo de arista por defecto .....................................................................................
(V.)[n].MPG.IFEED Tipo de avance por defecto ..................................................................................
(V.)[n].MPG.IMOVE Tipo de movimiento por defecto ...........................................................................
(V.)[n].MPG.IMOVEMACH Movimiento del eje independiente sobre cotas máquina......................................
(V.)[n].MPG.IPLANE Plano de trabajo por defecto.................................................................................
(V.)[n].MPG.IRCOMP Modo de compensación de radio por defecto.......................................................
(V.)[n].MPG.ISYSTEM Tipo de programación por defecto........................................................................
(V.)[n].MPG.KINID Número de cinemática por defecto.......................................................................
(V.)[n].MPG.MAXOVR Override (%) máximo de los ejes .........................................................................
(V.)[n].MPG.MAXROUND Máximo error de redondeo en G5 ........................................................................
(V.)[n].MPG.OEMSUB(1..10) Subrutinas asociadas a funciones G180 a G189 .................................................
(V.)[n].MPG.PRB1MAX Cota máxima del palpador según el eje de abscisas ...........................................
(V.)[n].MPG.PRB1MIN Cota mínima del palpador según el eje de abscisas ............................................
(V.)[n].MPG.PRB2MAX Cota máxima del palpador según el eje de ordenadas ........................................
(V.)[n].MPG.PRB2MIN Cota mínima del palpador según el eje de ordenadas .........................................
(V.)[n].MPG.PRB3MAX Cota máxima del palpador según el eje perpendicular al plano...........................
(V.)[n].MPG.PRB3MIN Cota mínima del palpador según el eje perpendicular al plano............................
(V.)[n].MPG.PREPFREQ Número de bloques a preparar por ciclo ..............................................................
(V.)[n].MPG.RAPIDOVR Override actúa en G00 .........................................................................................
(V.)[n].MPG.REFPSUB Subrutina asociada a G74 ....................................................................................
(V.)[n].MPG.ROUNDFEED Porcentaje de avance en G5 ................................................................................
(V.)[n].MPG.ROUNDTYPE Tipo de redondeo en G5 (por defecto) .................................................................
(V.)[n].MPG.SLOPETYPE Tipo de aceleración por defecto ...........................................................................
(V.)[n].MPG.SUBPATH Path de subrutinas de programa ..........................................................................
(V.)[n].MPG.TOOLSUB Subrutina asociada a la función "T"......................................................................
(V.)[n].PLC.CSS.Sn Velocidad CSS por PLC........................................................................................
(V.)[n].PLC.F Avance por PLC en G94.......................................................................................
(V.)[n].PLC.FPR Avance por PLC en G95.......................................................................................
(V.)[n].PLC.FRO % F por PLC .........................................................................................................
(V.)[n].PLC.S.Sn S por PLC en rpm.................................................................................................
(V.)[n].PLC.SL.Sn Límite S por PLC en corte constante ...................................................................
(V.)[n].PLC.SPOS.Sn Velocidad en M19 por PLC...................................................................................
(V.)[n].PLC.SSO.Sn % S por PLC.........................................................................................................
(V.)[n].TM.ACTUALMZ Almacén que está usando cada canal..................................................................
(V.)[n].TM.CUTA[i] Ángulo de corte del corrector [i] de la herramienta activa ....................................
(V.)[n].TM.CUTAT[i][m] Ángulo de corte del corrector [i] de la herramienta [m].........................................
(V.)[n].TM.DSUBTYPE[i] Subtipo de corrector. Corrector [i] de la herramienta activa .................................
(V.)[n].TM.DSUBTYPET[i][m] Subtipo de corrector. Corrector [i] de la herramienta [m]......................................
(V.)[n].TM.DTYPE[i] Tipo de corrector. Corrector [i] de la herramienta activa....................................... CNC 8070
(V.)[n].TM.DTYPET[i][m] Tipo de corrector. Corrector [i] de la herramienta [m]...........................................
(V.)[n].TM.FIXORI[i] Portaherramientas del corrector [i] de la herramienta activa ................................
(V.)[n].TM.FIXORIT[i][m] Portaherramientas del corrector [i] de la herramienta [m] ....................................
(V.)[n].TM.LOCODE[i] Factor de forma del corrector [i] de la herramienta activa ....................................
(V.)[n].TM.LOCODET[i][m] Factor de forma del corrector [i] de la herramienta [m].........................................
(V.)[n].TM.MZMODE Modo de funcionamiento del gestor .....................................................................
(V.)[n].TM.MZRUN Gestor de herramientas en funcionamiento .........................................................
(V.)[n].TM.MZSTATUS Estado del gestor de herramientas.......................................................................
(V.)[n].TM.MZWAIT Gestor procesando una maniobra ........................................................................
(V.)[n].TM.NOSEA[i] Ángulo de la cuchilla del corrector [i] de la herramienta activa.............................
(V.)[n].TM.NOSEAT[i][m] Ángulo de la cuchilla del corrector [i] de la herramienta [m].................................
(V.)[n].TM.NOSEW[i] Anchura de la cuchilla del corrector [i] de la herramienta activa ..........................

Página 62 de 235
Curso programación paramétrica Héctor M. Peláez

(V.)[n].TM.NOSEWT[i][m] Anchura de la cuchilla del corrector [i] de la herramienta [m]...............................


(V.)[n].TM.NUMOFD Número de correctores de la herramienta activa .................................................
(V.)[n].TM.NUMOFDT[m] Número de correctores de la herramienta [m]......................................................
(V.)[n].TM.NXTOD Número de corrector siguiente .............................................................................
(V.)[n].TM.NXTOOL Número de herramienta siguiente ........................................................................
(V.)[n].TM.REMLIFE Vida restante de la hta. activa ..............................................................................
(V.)[n].TM.SPDLTURDIR[i] Sentido de giro del cabezal. Corrector [i] de la herramienta activa ......................
(V.)[n].TM.SPDLTURDIRT[i][m] Sentido de giro del cabezal. Corrector [i] de la herramienta [m] ..........................
(V.)[n].TM.TLFF Familia de la herramienta activa ...........................................................................
(V.)[n].TM.TLFN[i] Vida máxima del corrector [i] de la hta. activa ......................................................
(V.)[n].TM.TLFR[i] Vida real del corrector [i] de la hta. activa ............................................................
(V.)[n].TM.TOAN[i] Ángulo profundización del corrector [i] de la hta. activa .......................................
(V.)[n].TM.TOCUTL[i] Longitud de corte del corrector [i] de la hta. activa...............................................
(V.)[n].TM.TOCUTL[i] Longitud de corte del corrector [i] de la hta. activa...............................................
VARIABLES DEL CNC
Lista alfabética de variables

(V.)[n].TM.TOD Número de corrector activo ..................................................................................


(V.)[n].TM.TOFL[i].Xn Desviación en el eje Xn del corrector [i] de la hta. activa .....................................
(V.)[n].TM.TOFL[i].Xn Offset del corrector [i] de la herramienta activa en el eje Xn ................................
(V.)[n].TM.TOFL1 Offset de la herramienta en el primer eje del canal..............................................
(V.)[n].TM.TOFL1 Offset de la herramienta en el primer eje del canal..............................................
(V.)[n].TM.TOFL2 Offset de la herramienta en el segundo eje del canal ..........................................
(V.)[n].TM.TOFL2 Offset de la herramienta en el segundo eje del canal ..........................................
(V.)[n].TM.TOFL3 Offset de la herramienta en el tercer eje del canal...............................................
(V.)[n].TM.TOFL3 Offset de la herramienta en el tercer eje del canal...............................................
(V.)[n].TM.TOFLW[i].Xn Desgaste desviación en eje Xn del corrector [i] de la hta. activa .........................
(V.)[n].TM.TOFLW[i].Xn Desgaste offset del corrector [i] de la hta activa en el eje Xn...............................
(V.)[n].TM.TOFLW1 Desgaste offset de la herramienta en el primer eje del canal ..............................
(V.)[n].TM.TOFLW1 Desgaste offset de la herramienta en el primer eje del canal ..............................
(V.)[n].TM.TOFLW2 Desgaste offset de la herramienta en el segundo eje del canal...........................
(V.)[n].TM.TOFLW2 Desgaste offset de la herramienta en el segundo eje del canal...........................
(V.)[n].TM.TOFLW3 Desgaste offset de la herramienta en el tercer eje del canal ...............................
(V.)[n].TM.TOFLW3 Desgaste offset de la herramienta en el tercer eje del canal ...............................
(V.)[n].TM.TOI[i] Desgaste R del corrector [i] de la hta. activa........................................................
(V.)[n].TM.TOK[i] Desgaste L del corrector [i] de la hta. activa ........................................................
(V.)[n].TM.TOL[i] Longitud del corrector [i] de la hta. activa .............................................................
(V.)[n].TM.TOMON[i] Tipo monitorización del corrector [i] de la hta. activa ...........................................
(V.)[n].TM.TOOL Número de herramienta activa .............................................................................
(V.)[n].TM.TOR[i] Radio del corrector [i] de la hta. activa .................................................................
(V.)[n].TM.TOTIPR[i] Radio de la punta del corrector [i] de la hta. activa ..............................................
(V.)[n].TM.TOTIPR[i] Radio de la punta del corrector [i] de la hta. activa ..............................................
(V.)[n].TM.TOTP1 Parámetro adicional 1 de la herramienta activa ...................................................
(V.)[n].TM.TOTP2 Parámetro adicional 2 de la herramienta activa ...................................................
(V.)[n].TM.TOTP3 Parámetro adicional 3 de la herramienta activa ...................................................
(V.)[n].TM.TOTP4 Parámetro adicional 4 de la herramienta activa ...................................................
(V.)[n].TM.TOWTIPR[i] Desgaste radio punta corrector [i] de la hta. activa ..............................................
(V.)[n].TM.TOWTIPR[i] Desgaste radio punta corrector [i] de la hta. activa ..............................................
(V.)[n].TM.TSTATUS Estado de la herramienta activa ...........................................................................
(V.)[n].TURNCONFIG[i] Configuración de ejes del corrector [i] de la herramienta activa...........................
(V.)[n].TURNCONFIG[i][m] Configuración de ejes del corrector [i] de la herramienta [m] ...............................
(V.)C.(A-Z) Valor del parámetro de llamada a ciclos fijos .......................................................
(V.)C.CALLP(A-Z) Parámetro programado en la llamada a ciclo fijo .................................................
(V.)C.P_(A-Z) Valor del parámetro de llamada a ciclo de posicionamiento ................................
(V.)C.P_CALLP(A-Z) Parámetro programado en la llamada a ciclo de posicionamiento .......................
(V.)C.P_CALLP(A-Z) Parámetro programado en llamada a subrutina G18x, #PCALL o #MCALL ........
(V.)DRV.name Valor de la variable ...............................................................................................
(V.)DRV.SIZE Número de variables a consultar en el regulador.................................................
(V.)G.ANAI[i] Tensión en voltios de la entrada [n] ......................................................................
(V.)G.ANAO[i] Tensión en voltios de la salida [n] .........................................................................
(V.)G.CLOCK Segundos desde que se encendió el CNC ..........................................................
(V.)G.CNCINCJOGIDX Posición seleccionada por conmutador ................................................................
(V.)G.CNCMANMODE En el conmutador para todos los ejes ..................................................................
(V.)G.CNCMPGIDX Posición seleccionada en el conmutador .............................................................
(V.)G.CUP[i] Valor parámetro aritmético común [i]....................................................................
CNC 8070 (V.)G.CUPF[i] Valor parámetro aritmético común [i]. Valor por 10000 ........................................
(V.)G.DATE Fecha en formato año-mes-día ............................................................................
(V.)G.ENDREP Todos los ejes están reposicionados....................................................................
(V.)G.FFIX Primera garra de la tabla ......................................................................................
(V.)G.FOCUSCHANNEL Canal con el foco activo .......................................................................................
(V.)G.FORG Primer origen de la tabla ......................................................................................
(V.)G.FTIME Tiempo de mecanizado en G93 ...........................................................................
(V.)G.GAXISNAMEx Nombre del eje "x" del sistema.............................................................................
(V.)G.GSPDLNAMEx Nombre del cabezal "x" del sistema .....................................................................
(V.)G.INCJOGIDX Posición activa para todos los ejes.......................................................................
(V.)G.KEY Código de la última tecla aceptada por el CNC....................................................
(V.)G.MANMODE Activo para todos los ejes.....................................................................................
(V.)G.MPGIDX Posición activa para todos los volantes ................................................................

Página 63 de 235
Curso programación paramétrica Héctor M. Peláez

(V.)G.NUMCH Número de canales ..............................................................................................


(V.)G.NUMFIX Número de garras de la tabla ...............................................................................
(V.)G.NUMORG Número de orígenes de la tabla ...........................................................................
(V.)G.TIME Hora en formato horas-minutos-segundos ...........................................................
(V.)G.VERSION Número de versión y revisión del CNC.................................................................
(V.)MPG.AXISNAMEx Nombre del eje lógico "x" .....................................................................................
(V.)MPG.BIDIR[m] Tabla [m]. Compensación bidireccional ................................................................
(V.)MPG.CANLENGTH Longitud del cable de bus Can (en metros)..........................................................
(V.)MPG.CANMODE Tipo de bus CAN .................................................................................................
(V.)MPG.COMPAXIS[m] Tabla [m]. Eje a compensar ..................................................................................
(V.)MPG.DIFFCOMP[i] Gantry [i]. Compensación de diferencia de error. .................................................
(V.)MPG.DIMODADDR[n] Índice base de los módulos de entradas digitales................................................
(V.)MPG.DOMODADDR[n] Índice base de los módulos de salidas digitales...................................................
(V.)MPG.DTIME Tiempo estimado para una función "D" ................................................................

VARIABLES DEL CNC


Lista alfabética de variables
(V.)MPG.HTIME Tiempo estimado para una función "H" ................................................................
(V.)MPG.INCHES Unidades de trabajo por defecto...........................................................................
(V.)MPG.LOOPTIME Tiempo de ciclo ....................................................................................................
(V.)MPG.MASTERAXIS[i] Gantry [i]. Número lógico del eje maestro ............................................................
(V.)MPG.MAXCOMP Parámetro aritmético común máximo ...................................................................
(V.)MPG.MAXCOUPE[i] Gantry [i]. Máxima diferencia permitida ................................................................
(V.)MPG.MAXGLBP Parámetro aritmético global máximo ....................................................................
(V.)MPG.MAXLOCP Parámetro aritmético local máximo ......................................................................
(V.)MPG.MINAENDW Duración mínima de la señal AUXEND ................................................................
(V.)MPG.MINCOMP Parámetro aritmético común máximo ...................................................................
(V.)MPG.MINGLBP Parámetro aritmético global mínimo .....................................................................
(V.)MPG.MINLOCP Parámetro aritmético local mínimo .......................................................................
(V.)MPG.MOVAXIS[m] Tabla [m]. Eje maestro ..........................................................................................
(V.)MPG.NAXIS Número de ejes que gobierna el CNC..................................................................
(V.)MPG.NCHANNEL Número de canales del CNC................................................................................
(V.)MPG.NDIMOD Total de módulos de entradas digitales ................................................................
(V.)MPG.NDOMOD Total de módulos de salidas digitales ...................................................................
(V.)MPG.NEGERROR[m][i] Tabla [m]. Error en sentido negativo del punto [i] .................................................
(V.)MPG.NPCROSS[m] Tabla [m]. Número de puntos................................................................................
(V.)MPG.NSPDL Número de cabezales que gobierna el CNC........................................................
(V.)MPG.POSERROR[m][i] Tabla [m]. Error en sentido positivo del punto [i]...................................................
(V.)MPG.POSITION[m][i] Tabla [m]. Posición del eje maestro para el punto [i] ............................................
(V.)MPG.PRBDI1 Entrada digital asociada al palpador 1 .................................................................
(V.)MPG.PRBDI2 Entrada digital asociada al palpador 2 .................................................................
(V.)MPG.PRBPULSE1 Tipo de impulso del palpador 1 ............................................................................
(V.)MPG.PRBPULSE2 Tipo de impulso del palpador 2 ............................................................................
(V.)MPG.PRELFITI[i] Tándem [i]. Tiempo para aplicar la precarga........................................................
(V.)MPG.PRELOAD[i] Tándem [i]. Precarga ............................................................................................
(V.)MPG.PRGFREQ Periodicidad del módulo PRG (en ciclos) .............................................................
(V.)MPG.PROBE Hay palpador para calibrar herramienta ...............................................................
(V.)MPG.REFNEED[m] Tabla [m]. Búsqueda de cero necesaria ...............................................................
(V.)MPG.REFTIME Tiempo estimado para la búsqueda de cero ........................................................
(V.)MPG.ROPARMAX Parámetro aritmético global máximo de sólo lectura............................................
(V.)MPG.ROPARMIN Parámetro aritmético global mínimo de sólo lectura.............................................
(V.)MPG.SERBRATE Velocidad de transmisión de Sercos.....................................................................
(V.)MPG.SERPOWSE Potencia óptica en Sercos ....................................................................................
(V.)MPG.SLAVEAXIS[i] Gantry [i]. Número lógico del eje esclavo .............................................................
(V.)MPG.SPDLNAMEx Nombre del cabezal "x" ........................................................................................
(V.)MPG.TCOMPLIM[i] Tándem [i]. Limitación de la compensación .........................................................
(V.)MPG.TINTIME[i] Tándem [i]. Ganancia integral ..............................................................................
(V.)MPG.TMASTERAXIS[i] Tándem [i]. Número lógico del eje maestro..........................................................
(V.)MPG.TORQDIST[i] Tándem [i]. Distribución del par............................................................................
(V.)MPG.TPROGAIN[i] Tándem [i]. Ganancia proporcional ......................................................................
(V.)MPG.TSLAVEAXIS[i] Tándem [i]. Número lógico del eje esclavo...........................................................
(V.)MPG.TTIME Tiempo estimado para una función "T".................................................................
(V.)MPG.TYPCROSS[m] Tabla [m]. Método de compensación ....................................................................
(V.)MPG.WARNCOUPE[i] Gantry [i]. Máxima diferencia para dar un warning...............................................
(V.)MPK.ANGANTR[n] Ángulo entre el eje cartesiano y el eje inclinado ..................................................
(V.)MPK.ANGAXNA[n] Nombre del eje angular ....................................................................................... CNC 8070
(V.)MPK.KINn[m] Offset [m] de la cinemática "n" .............................................................................
(V.)MPK.NANG Número de transformaciones angulares ..............................................................
(V.)MPK.NKIN Número de cinemáticas........................................................................................
(V.)MPK.OFFANGAX[n] Offset del origen de la transformación angular.....................................................
(V.)MPK.ORTAXNA[n] Nombre del eje ortogonal .....................................................................................
(V.)MPK.TYPE Tipo de cinemática ...............................................................................................
(V.)MPM.MNUM[i] Número de función "M".........................................................................................
(V.)MPM.MPROGNAME[i] Nombre de subrutina asociada a la función "M"...................................................
(V.)MPM.MTABLESIZE Número de elementos de la tabla de funciones "M".............................................
(V.)MPM.MTIME[i] Tiempo estimado para la función "M"...................................................................
(V.)MPM.SYNCHTYPE[i] Tipo de sincronización de la función "M"..............................................................
(V.)MPMAN.COUNTERID[i] Entrada de captación del volante [i].....................................................................

Página 64 de 235
Curso programación paramétrica Héctor M. Peláez

(V.)MPMAN.JOGKEYDEF[n] Eje y sentido de movimiento de la tecla de JOG [i] ..............................................


(V.)MPMAN.JOGTYPE Comportamiento del JOG.....................................................................................
(V.)MPMAN.MPGAXIS[i] Eje asociado al volante [i] .....................................................................................
(V.)MPMAN.NMPG Número de volantes .............................................................................................
(V.)MTB.P[i] Valor del parámetro de fabricante [i].....................................................................
(V.)MTB.PF[i] Valor del parámetro de fabricante [i]. Valor por 10000 .........................................
(V.)MTB.PLCDATASIZE Tamaño de la zona de datos compartida del PLC................................................
(V.)MTB.SIZE Número de parámetros del fabricante ..................................................................
(V.)P.name Variables de usuario locales del programa...........................................................
(V.)PLC.C[i] Estado del contador [i] del PLC ............................................................................
(V.)PLC.EMERGMSG Mensaje emergente activo (el que se muestra en toda la pantalla) .....................
(V.)PLC.ERR[i] Estado del error [n] del PLC .................................................................................
(V.)PLC.I[i] Estado de la entrada [i] del PLC...........................................................................
(V.)PLC.INCJOGIDX Posición seleccionada por PLC ............................................................................
VARIABLES DEL CNC
Lista alfabética de variables

(V.)PLC.M[i] Estado de la marca [i] del PLC .............................................................................


(V.)PLC.MANMODE Por PLC para todos los ejes .................................................................................
(V.)PLC.MPGIDX Posición seleccionada por PLC ............................................................................
(V.)PLC.MSG[i] Estado del mensaje [n] del PLC ...........................................................................
(V.)PLC.O[i] Estado de la salida [i] del PLC .............................................................................
(V.)PLC.PRIORERR Error activo más prioritario (el de menor número de entre los activos)................
(V.)PLC.PRIORMSG Mensaje activo más prioritario (el de menor número de entre los activos) ..........
(V.)PLC.R[i] Estado del registro [i] del PLC ..............................................................................
(V.)PLC.signal Estado de las señales de intercambio con el CNC ..............................................
(V.)PLC.STATUS Estado del PLC ...................................................................................................
(V.)PLC.symbol Estado de los símbolos externos definido en el PLC ...........................................
(V.)PLC.T[i] Estado del temporizador [i] del PLC .....................................................................
(V.)PLC.TIMER Valor del reloj habilitado por PLC .........................................................................
(V.)S.name Variables de usuario globales del programa ........................................................
(V.)TM.MZACTUALCH[z] Canal que está usando el almacén [z] .................................................................
(V.)TM.MZCYCLIC[z] Cambiador de herramientas cíclico ......................................................................
(V.)TM.MZGROUND[z] Se permiten herramientas de tierra ......................................................................
(V.)TM.MZM6ALONE[z] Acción al ejecutar una M6 sin herramienta ..........................................................
(V.)TM.MZOPTIMIZED[z] Optimización de la gestión ...................................................................................
(V.)TM.MZRANDOM[z] Almacén random ..................................................................................................
(V.)TM.MZRESPECTSIZE[z] En almacén [z] random, hta. siempre en la misma posición ................................
(V.)TM.MZSIZE[z] Tamaño del almacén ............................................................................................
(V.)TM.MZTYPE[z] Tipo de almacén ...................................................................................................
(V.)TM.NTOOLMZ Número de almacenes .........................................................................................
(V.)TM.P[z][m] Posición de la herramienta [m] en el almacén [z] .................................................
(V.)TM.T[z][j] Herramienta en la posición [j] del almacén [z]......................................................
(V.)TM.TLFFT[m] Familia de la herramienta [m] ...............................................................................
(V.)TM.TLFNT[m][i] Vida máxima del corrector [i] de la hta. [m] ..........................................................
(V.)TM.TLFRT[m][i] Vida real del corrector [i] de la hta. [m].................................................................
(V.)TM.TOANT[m][i] Ángulo profundización del corrector [i] de la hta. [m] ...........................................
(V.)TM.TOCUTLT[m][i] Longitud de corte del corrector [i] de la hta. [m] ...................................................
(V.)TM.TOCUTLT[m][i] Longitud de corte del corrector [i] de la hta. [m] ...................................................
(V.)TM.TOFLT[m][i].Xn Desviación en el eje Xn del corrector [i] de la hta. [m] .........................................
(V.)TM.TOFLT[m][i].Xn Offset del corrector [i] de la herramienta [m] en el eje Xn ....................................
(V.)TM.TOFLWT[m][i].Xn Desgaste desviación en eje Xn del corrector [i] de la hta. [m]..............................
(V.)TM.TOFLWT[m][i].Xn Desgaste offset del corrector [i] de la herramienta [m] en el eje Xn .....................
(V.)TM.TOIT[m][i] Desgaste R del corrector [i] de la hta. [m] ............................................................
(V.)TM.TOKT[m][i] Desgaste L del corrector [i] de la hta. [m].............................................................
(V.)TM.TOLT[m][i] Longitud del corrector [i] de la hta. [m] .................................................................
(V.)TM.TOMONT[m][i] Tipo monitorización del corrector [i] de la hta. [m]................................................
(V.)TM.TORT[m][i] Radio del corrector [i] de la hta. [m]......................................................................
(V.)TM.TOTIPRT[m][i] Radio de la punta del corrector [i] de la hta. [m]...................................................
(V.)TM.TOTIPRT[m][i] Radio de la punta del corrector [i] de la hta. [m]...................................................
(V.)TM.TOTP1T[i] Parámetro adicional 1 de la herramienta [i] ..........................................................
(V.)TM.TOTP2T[i] Parámetro adicional 2 de la herramienta [i] ..........................................................
(V.)TM.TOTP3T[i] Parámetro adicional 3 de la herramienta [i] ..........................................................
(V.)TM.TOTP4T[i] Parámetro adicional 4 de la herramienta [i] ..........................................................
(V.)TM.TOWTIPRT[m][i] Desgaste radio punta corrector [i] de la hta. [m]...................................................
CNC 8070 (V.)TM.TOWTIPRT[m][i] Desgaste radio punta corrector [i] de la hta. [m]...................................................
(V.)TM.TSTATUST[m] Estado de la herramienta [m] ...............................................................................

Página 65 de 235
Curso programación paramétrica Héctor M. Peláez

SENTENCIAS E
INSTRUCCIONES

Los comandos en lenguaje de alto nivel se dividen en dos tipos, a saber las
sentencias de programación y las instrucciones de control de flujo.

Sentencias de programación

Se definen mediante el símbolo "#" seguido del nombre de la sentencia y de los


parámetros asociados.

Se emplean para realizar diversas operaciones, como por ejemplo.


• Visualizar errores, mensajes, etc.
• Programar desplazamientos respecto el cero máquina.
• Ejecutar subrutinas, bloques y programas.
• Sincronizar canales.
• Acoplar, aparcar e intercambiar ejes.
• Intercambiar cabezales,
• Mecanizar con ayuda del eje C.
• Activar la detección de colisiones.
• Activar la intervención manual.
• Activar el mecanizado de alta velocidad.
• Etc.

Instrucciones de control de flujo

Se definen mediante el símbolo "$" seguido del nombre de la instrucción y de sus


datos asociados.

Se emplean para la construcción de bucles y saltos de programa.

CNC 8070

Página 66 de 235
Curso programación paramétrica Héctor M. Peláez

Sentencias de programación

Sentencias de visualización. Visualizar un error en pantalla

Detiene la ejecución del programa y visualiza en la pantalla el error indicado.

Se programa mediante la sentencia #ERROR, seleccionando bien el número de error


a visualizar o bien el texto del error.

#ERROR Visualizar un error seleccionando su número

Visualiza el número de error indicado y el texto asociado a dicho error según la lista
SENTENCIAS E INSTRUCCIONES
Sentencias de programación

de errores del CNC. Si el número de error indicado no existe en la lista de errores


del CNC, no se visualiza ningún texto.

El formato de programación es el siguiente.


#ERROR [<número>]

Parámetro Significado
<número> Número del error.

El número de error, que ha de ser un número entero, se puede definir mediante una
constante numérica, un parámetro o una expresión aritmética. En el caso de utilizar
parámetros locales, éstos deben programarse de la forma P0-P25.

#ERROR [100000]
#ERROR [P100]
#ERROR [P10+34]

#ERROR Visualizar un error seleccionando su texto

Visualiza el texto de error indicado. Si no se define ningún texto, se muestra una


ventana de error vacía.

El formato de programación es el siguiente.


#ERROR ["<texto>"]

Parámetro Significado
<número> Texto del error.

El texto de error debe ir definido entre comillas. Algunos caracteres especiales se


definen de la siguiente manera.

\" Incluye unas comillas en el texto.

%% Incluye el carácter %.

#ERROR ["Mensaje"]
#ERROR ["El parámetro \"P100\" es incorrecto"]
#ERROR ["Diferencia entre P12 y P14 > 40%%"]

Incluir valores externos en el texto de error


CNC 8070
Mediante el identificador %D ó %d se pueden incluir valores externos (parámetros
o variables) en el texto. El dato cuyo valor se quiere mostrar deberá ir definido a
continuación del texto.

#ERROR ["Valor %d incorrecto",120]


#ERROR ["Herramienta %D gastada",V.G.TOOL]
#ERROR ["Valores %D - %D incorrectos",18,P21]

Se pueden definir hasta 5 identificadores %D ó %d, pero deberá haber tantos datos
como identificadores.

Página 67 de 235
Curso programación paramétrica Héctor M. Peláez

Sentencias de visualización. Visualizar un aviso en pantalla

Visualiza en pantalla el aviso indicado sin detener la ejecución del programa.

Se programa mediante la sentencia #WARNING, seleccionando bien el número de


warning a visualizar o bien el texto.

#WARNING Visualizar un aviso seleccionando su número

Visualiza el número de aviso indicado y el texto asociado a dicho aviso según la lista
de errores del CNC. Si el número de aviso indicado no existe en la lista de errores
del CNC, no se visualiza ningún texto.
SENTENCIAS E INSTRUCCIONES
Sentencias de programación

El formato de programación es el siguiente.


#WARNING [<número>]

Parámetro Significado
<número> Número del aviso.

El número del warning, que ha de ser un número entero, se puede definir mediante
una constante numérica, un parámetro o una expresión aritmética. En el caso de
utilizar parámetros locales, éstos deben programarse de la forma P0-P25.

#WARNING [100000]
#WARNING [P100]
#WARNING [P10+34]

#WARNING Visualizar un aviso seleccionando su texto

Visualiza el texto de aviso indicado. Si no se define ningún texto, se muestra una


ventana de aviso vacía.

El formato de programación es el siguiente.


#WARNING ["<texto>"]

Parámetro Significado
<número> Texto del aviso.

El texto de aviso debe ir definido entre comillas. Algunos caracteres especiales se


definen de la siguiente manera.

\" Incluye unas comillas en el texto.

%% Incluye el carácter %.

#WARNING ["Mensaje"]
#WARNING ["El parámetro \"P100\" es incorrecto"]
#WARNING ["Diferencia entre P12 y P14 > 40%%"]

Incluir valores externos en el texto de error

Mediante el identificador %D ó %d se pueden incluir valores externos (parámetros


CNC 8070 o variables) en el texto. El dato cuyo valor se quiere mostrar deberá ir definido a
continuación del texto.

#WARNING ["Valor %d incorrecto",120]


#WARNING ["Herramienta %D gastada",V.G.TOOL]
#WARNING ["Valores %D - %D incorrectos",18,P21]

Se pueden definir hasta 5 identificadores %D ó %d, pero deberá haber tantos datos
como identificadores.

Página 68 de 235
Curso programación paramétrica Héctor M. Peláez

Sentencias de visualización. Visualizar un mensaje en pantalla

Visualiza en la parte superior de la pantalla el mensaje indicado, sin detener la


ejecución del programa. El mensaje permanecerá activo hasta que se active un
mensaje nuevo (no se anula tras ejecutar la función de fin de programa "M02" ó
"M30").

Se programa mediante la sentencia #MSG, el texto a visualizar.

#MSG Visualizar un mensaje

El formato de programación es el siguiente.

SENTENCIAS E INSTRUCCIONES
Sentencias de programación
#MSG ["<texto>"]

Parámetro Significado
<texto> Texto del mensaje.

El texto del mensaje debe ir definido entre comillas. Algunos caracteres especiales
se definen de la siguiente manera.

\" Incluye unas comillas en el texto.

%% Incluye el carácter %.

Si no se define ningún texto, se borra el mensaje de la pantalla.

#MSG ["Mensaje de usuario"]


#MSG ["La herramienta \"T1\" es de acabado"]
#MSG ["Se utiliza el 80%% del avance"]
#MSG [""]

Incluir valores externos en el texto de error

Mediante el identificador %D ó %d se pueden incluir valores externos (parámetros


o variables) en el mensaje. El dato cuyo valor se quiere mostrar deberá ir definido
a continuación del texto.

#MSG ["Pieza número %D", P2]


#MSG ["La herramienta actual es %D", V.G.TOOL]
#MSG ["Acabado F=%D mm/min. y S=%D RPM", P21, 1200]

Se pueden definir hasta 5 identificadores %D ó %d, pero deberá haber tantos datos
como identificadores.

CNC 8070

Página 69 de 235
Curso programación paramétrica Héctor M. Peláez

Sentencias de visualización. Definir el tamaño de la zona gráfica

#DGWZ Define la zona gráfica

La sentencia #DGWZ (Define Graphics Work Zone) permite definir la zona de


representación gráfica.

El formato de programación es el siguiente.


#DGWZ [<Xmin>,<Xmax>,<Ymin>,<Ymax>,<Zmin>,<Zmax>]
Cada uno de los parámetros de esta sentencia corresponde a uno de los límites
de los ejes.
SENTENCIAS E INSTRUCCIONES
Sentencias de programación

Parámetro Significado
<Xmin> Límite inferior en el eje X.
<Xmax> Límite superior en el eje X.
<Ymin> Límite inferior en el eje Y.
<Ymax> Límite superior en el eje Y.
<Zmin> Límite inferior en el eje Z.
<Zmax> Límite superior en el eje Z.

Ambos límites de un eje pueden ser positivos o negativos, pero siempre los límites
inferiores de un eje deberán ser menores que los límites superiores de ese mismo
eje.

La nueva zona gráfica definida se conserva hasta que se defina otra nueva, se
modifique desde la ventana gráfica o se apague el CNC. Tras el encendido, el CNC
asume la zona gráfica definida por defecto.

Sentencias de habilitación y deshabilitación

#ESBLK Comienzo del tratamiento de bloque único

#DSBLK Fin del tratamiento de bloque único

Las sentencias #ESBLK y #DSBLK activan y desactivan el tratamiento de bloque


único.

A partir de la ejecución de la sentencia #ESBLK, el CNC ejecuta los bloques que


vienen a continuación como si se tratara de un único bloque. Este tratamiento de
bloque único se mantiene activo hasta que se anule mediante la ejecución de la
sentencia #DSBLK.

G01 X20 Y0 F850


G01 X20 Y20
#ESBLK
(Comienzo de bloque único)
G01 X30 Y30
G02 X20 Y40 I-5 J5
G01 X10 Y30
G01 X20 Y20
CNC 8070 #DSBLK
(Fin de bloque único)
G01 X20 Y0
M30

De esta manera, cuando se ejecute el programa en modo –bloque a bloque–, el grupo


de bloques que se encuentra entre las sentencias #ESBLK y #DSBLK se ejecutarán
en ciclo continuo. Es decir, no se detendrá la ejecución al finalizar un bloque, sino
que continuará con la ejecución del siguiente hasta alcanzar la sentencia #DSBLK.

Página 70 de 235
Curso programación paramétrica Héctor M. Peláez

Programación respecto el cero máquina

El CNC permite realizar desplazamientos respecto al cero máquina, anulando


temporalmente los decalajes activos y la compensación de radio y longitud de la
herramienta.

En los desplazamientos respecto al cero máquina se ignora la función G70 ó G71


programada por el usuario. Los desplazamientos se ejecutan en el sistema de
unidades (milímetros o pulgadas) definido por el fabricante de la máquina (unidades
que asume el CNC tras el encendido).

Los desplazamientos programados no admiten coordenadas polares ni se permiten


otros tipos de transformaciones como imagen espejo, giro de coordenadas o factor
SENTENCIAS E INSTRUCCIONES
Sentencias de programación

de escala. Mientras está activa la función #MCS tampoco se admiten funciones de


definición de un nuevo origen como G92, G54-G59, G158, G30, etc.

#MCS Desplazamiento respecto al cero máquina

Esta sentencia puede ser añadida a cualquier bloque en el que se haya definido un
desplazamiento, de manera que éste se ejecuta en el sistema de referencia de la
máquina.

G92 X0 Y0
G01 X30 Y30 F850
(Origen: Cero pieza)
#MCS X30 Y30
(Origen: Cero máquina)
G01 X40 Y40
(Origen: Cero pieza)
M30

#MCS ON Activa el sistema de coordenadas de la máquina

#MCS OFF Anula el sistema de coordenadas de la máquina

Las sentencias #MCS ON y #MCS OFF activan y desactivan el sistema de


coordenadas máquina, de manera que los desplazamientos programados entre
ambas sentencias se ejecutan en el sistema de referencia de la máquina.

G92 X0 Y0
G01 X50 Y50
#MCS ON
(Origen: Cero máquina)
G01 ···
G02 ···
G00 ···
#MCS OFF
(Origen: Cero pieza)
G01 X70 Y70
M30
CNC 8070
Ambas sentencias se deben programar solas en el bloque.

Página 71 de 235
Curso programación paramétrica Héctor M. Peláez

Definición y ejecución de subrutinas

Se llama subrutina al conjunto de bloques que, convenientemente identificados,


pueden ser llamados una o varias veces desde cualquier posición de un programa
para su ejecución.

Hay dos tipos de subrutinas, locales y globales.


• La subrutina global está almacenada en la memoria del CNC como un programa
independiente, y puede ser llamada desde cualquier otro programa en ejecución.
• La subrutina local está definida como parte de un programa, y sólo puede ser
llamada desde el programa en el que se ha definido.

SENTENCIAS E INSTRUCCIONES
Sentencias de programación
Dado que desde el programa principal (o una subrutina), se puede llamar a una
subrutina, de ésta a una segunda, de la segunda a una tercera, etc., el CNC limita
estas llamadas a un máximo de 20 niveles de imbricación.

Subrutina local

Se deben definir antes del cuerpo del programa. Se pueden definir varias subrutinas
locales en un mismo programa.

El comienzo de una subrutina se define mediante "%L <nombre>", donde <nombre>


puede tener una longitud de hasta 14 caracteres y estar formado por letras
mayúsculas, minúsculas y por números (no admite espacios en blanco).

El final de la subrutina se define mediante M17, M29 o #RET.

Subrutina global

Se define como un programa aparte. El nombre con el que se guarda el programa


en el CNC, será el nombre de la subrutina. El nombre de una subrutina global no
admite paréntesis, ya que estos caracteres tienen un significado especial dentro del
programa pieza.

Al contrario que un programa, que finaliza con la función M30, el final de una
subrutina global se define con M17, M29 o #RET.

Definir el path de las subrutinas

#PATH Definir la ubicación de las subrutinas

Mediante la sentencia #PATH se puede definir una ubicación predeterminada para


la búsqueda de las subrutinas globales, de la siguiente manera.
#PATH ["<texto>"]

Si en la llamada a una subrutina no se define el path, el CNC buscará inicialmente


la subrutina en el path definido mediante esta sentencia.

#PATH ["C:\Cnc8070\Users\Prg\"]
#PATH ["C:\Cnc8070\Users\"]

CNC 8070

Página 72 de 235
Curso programación paramétrica Héctor M. Peláez

Ejecución de las subrutinas

Cuando se realiza una llamada a una subrutina global indicando el path completo,
solamente se buscará en el directorio indicado. Si no se indica el path, se efectúa
una búsqueda en este orden y en los siguientes directorios:
1. Directorio seleccionado mediante la sentencia #PATH.
2. Directorio del programa en ejecución.
3. Directorio definido por el parámetro máquina SUBPATH.

LL Llamada a una subrutina local


SENTENCIAS E INSTRUCCIONES
Sentencias de programación

Realiza una llamada a una subrutina local.

El formato de programación es el siguiente.


LL <sub>

Parámetro Significado
<sub> Nombre de la subrutina.

LL sub2.nc

L Llamada a una subrutina global

Realiza una llamada a una subrutina global, pudiéndose definir el path completo de
ésta.

El formato de programación es el siguiente.


L <path><sub>

Parámetro Significado
<path> Ubicación de la subrutina.
<sub> Nombre de la subrutina.

L C:\Cnc8070\Users\Prg\sub1.nc
L C:\Cnc8070\Users\sub2.nc
L Sub3.nc

#CALL Llamada a una subrutina local o global

Realiza una llamada a una subrutina que podrá ser local o global, pudiéndose definir
el path completo de ésta.

El formato de programación es el siguiente.


#CALL <path><sub>

Parámetro Significado
<path> Ubicación de la subrutina.
<sub> Nombre de la subrutina.

Cuando existen dos subrutinas, una local y otra global, con el mismo nombre se sigue
CNC 8070 el siguiente criterio. Si se ha definido el path en la llamada se ejecutará la subrutina
global; si no, se ejecutará la subrutina local.

#CALL C:\Cnc8070\Users\Prg\sub1.nc
#CALL C:\Cnc8070\Users\sub2.nc
#CALL Sub3.nc

Página 73 de 235
Curso programación paramétrica Héctor M. Peláez

#PCALL Llamada a una subrutina local o global inicializando parámetros

Realiza una llamada a una subrutina que podrá ser local o global, pudiéndose definir
el path completo de ésta. Este tipo de llamada permite inicializar los parámetros
locales de la subrutina.

El formato de programación es el siguiente.


#PCALL <path><sub> P0 P1 P2...

Parámetro Significado
<path> Ubicación de la subrutina.
<sub> Nombre de la subrutina.

SENTENCIAS E INSTRUCCIONES
Sentencias de programación
Cuando existen dos subrutinas, una local y otra global, con el mismo nombre se sigue
el siguiente criterio. Si se ha definido el path en la llamada se ejecutará la subrutina
global; si no, se ejecutará la subrutina local.

Los valores de los parámetros de llamada se podrán definir de dos formas. Mediante
el nombre del parámetro P0, P1, P2, etc. o mediante las letras A-Z (exceptuando la
Ñ) de forma que "A" es igual a P0 y "Z" a P25.

#PCALL C:\Cnc8070\Users\Prg\sub1.nc
#PCALL C:\Cnc8070\Users\sub2.nc A12.3 P10=6
#PCALL Sub3.nc A12.3 F45.3 P10=6

Cuando en las llamadas a subrutinas se utilicen parámetros locales, además de


generarse un nuevo nivel de imbricación de subrutinas se generará un nuevo nivel
de imbricación de parámetros locales, pudiendo existir un máximo de 7 niveles de
imbricación de parámetros dentro de los 20 niveles de imbricación de subrutinas.

#MCALL Llamada a una subrutina local o global con carácter modal


inicializando parámetros

Realiza una llamada a una subrutina que podrá ser local o global, pudiéndose definir
el path completo de ésta. Este tipo de llamada permite inicializar los parámetros
locales de la subrutina.

Con este tipo de llamada, la subrutina adquiere la categoría de modal; es decir, la


subrutina se mantiene activa en los sucesivos desplazamientos volviéndose a repetir
al final de cada uno. La subrutina modal se desactiva mediante la sentencia #MDOFF.

El formato de programación es el siguiente.


#MCALL <path><sub> P0 P1 P2...

Parámetro Significado
<path> Ubicación de la subrutina.
<sub> Nombre de la subrutina.

Cuando existen dos subrutinas, una local y otra global, con el mismo nombre se sigue
el siguiente criterio. Si se ha definido el path en la llamada se ejecutará la subrutina
global; si no, se ejecutará la subrutina local.

Los valores de los parámetros de llamada se podrán definir de dos formas. Mediante
el nombre del parámetro P0, P1, P2, etc. o mediante las letras A-Z (exceptuando la
CNC 8070
Ñ) de forma que "A" es igual a P0 y "Z" a P25.

#MCALL C:\Cnc8070\Users\Prg\sub1.nc
#MCALL C:\Cnc8070\Users\sub2.nc A12.3 P10=6
#MCALL Sub3.nc A12.3 F45.3 P10=6

Cuando en las llamadas a subrutinas se utilicen parámetros locales, además de


generarse un nuevo nivel de imbricación de subrutinas se generará un nuevo nivel
de imbricación de parámetros locales, pudiendo existir un máximo de 7 niveles de
imbricación de parámetros dentro de los 20 niveles de imbricación de subrutinas.

Página 74 de 235
Curso programación paramétrica Héctor M. Peláez

Anular el carácter modal de la función

La subrutina modal se desactiva mediante la sentencia #MDOFF y en los siguientes


casos:
• Después de ejecutarse M02 ó M30 y tras un reset.
• Al cambiar el plano de trabajo.
• Al programar un movimiento con palpador (G100).
• Al modificar la configuración de ejes (#FREE AX, #CALL AX y #SET AX).
• Llamada a otra subrutina (#PCALL, #CALL, L, LL, G180-189).
• Activación de ciclo fijo
SENTENCIAS E INSTRUCCIONES
Sentencias de programación

Consideraciones al carácter modal de la subrutina

La subrutina modal no se ejecutará en los bloques de movimiento programados


dentro de la propia subrutina ni de las subrutinas asociadas a T o M6. Tampoco se
ejecuta cuando se programa un número de repeticiones de bloque con NR de ·0·.

Si en un bloque de desplazamiento se programa un número de repeticiones NR


distinto de ·0· estando una subrutina modal activa, tanto el movimiento como la
subrutina se repetirán NR veces.

Si estando seleccionada una subrutina como modal se ejecuta un bloque que


contenga la sentencia #MCALL, la subrutina actual perderá su modalidad y la nueva
subrutina seleccionada se convertirá en modal.

#MDOFF Anular el carácter modal de la función

La sentencia #MDOFF que el carácter modal que adquirió la subrutina mediante la


sentencia #MCALL finaliza en dicho bloque.

CNC 8070

Página 75 de 235
Curso programación paramétrica Héctor M. Peláez

Definición de macros

Las macros permiten definir un bloque de programa, o parte de él, mediante un


nombre, de la forma "NombreDeMacro" = "BloqueCNC". Una vez definida la macro,
cuando se programe "NombreDeMacro" será equi val ent e a program ar
"BloqueCNC". Cuando desde el programa (o MDI) se ejecute una macro, el CNC
ejecutará el bloque de programa que tiene asociado.

Las macros definidas desde un programa (o MDI) se almacenan en una tabla en el


CNC; de esta manera están disponibles desde el resto de programas sin necesidad
de tener que volver a definirlas. Esta tabla se inicializa al arrancar el CNC y también
se puede inicializar desde el programa pieza mediante la sentencia #INIT
MACROTAB, borrando así todas las macros almacenadas.
SENTENCIAS E INSTRUCCIONES
Sentencias de programación

#DEF Definición de macros

Se pueden tener definidas hasta 50 macros diferentes en el CNC. Las macros


definidas son accesibles desde cualquier programa. Si se intenta definir más macros
de las permitidas, el CNC muestra el error correspondiente. La tabla de macros se
pued e i ni ci al i zar (borrand o t oda s l as m acros) m edi a nt e l a sen t enci a
#INIT MACROTAB.

La definición de la macro se debe programar sola en el bloque.

El formato de programación es el siguiente:


#DEF "NombreDeMacro" = "BloqueCNC"

Parámetro Significado
NombreDeMacro Nombre con el que se identifica la macro en
el programa. Podrá tener una longitud de
hasta 30 caracteres y estar formado por
letras y números
BloqueCNC Bloque de programa. Podrá t ener una
longitud de hasta 140 caracteres.

Se pueden definir varias macros en un mismo bloque, de la siguiente manera.


#DEF "Macro1"="Bloque1" "Macro2"="Bloque2" ...

(Definición de macros)
#DEF "READY"="G0 X0 Y0 Z10"
#DEF "START"="SP1 M3 M41" "STOP"="M05"
(Ejecución de macros)
"READY" (equivale a programar G0 X0 Y0 Z10)
P1=800 "START" F450 (equivale a programar S800 M3 M41)
G01 Z0
X40 Y40
"STOP" (equivale a programar M05)

Definición de operaciones aritméticas en las macros.

Cuando se incluyan operaciones aritméticas en la definición de la macro, se deberá


incluir la operación aritmética completa.
CNC 8070
Definición correcta de una macro.
#DEF "MACRO1"="P1*3"
#DEF "MACRO2"="SIN [\"MACRO1\"]"

Página 76 de 235
Curso programación paramétrica Héctor M. Peláez

La definición de las siguientes macros es incorrecta.


#DEF "MACRO1"="56+"
#DEF "MACRO2"="12"
#DEF "MACRO3="\"MACRO1\"\"MACRO2\""

#DEF "MACRO4"="SIN["
#DEF "MACRO5"="45]"
#DEF "MACRO6="\"MACRO4\"\"MACRO5\""

Encadenamiento de macros. Incluir macros en la definición de otras macros.

SENTENCIAS E INSTRUCCIONES
Sentencias de programación
La definición de una macro podrá a su vez incluir otras macros. En este caso, cada
una de las macros incluidas en la definición deberá estar delimitada mediante los
caracteres \" (\"macro\").

Ejemplo1
#DEF "MACRO1"="X20 Y35"
#DEF "MACRO2"="S1000 M03"
#DEF "MACRO3"="G01 \"MA1\" F100 \"MA2\""
Ejemplo 2
#DEF "POS"="G1 X0 Y0 Z0"
#DEF "START"="S750 F450 M03"
#DEF "MACRO"="\"POS\" \"START\""

#INIT MACROTAB Inicialización de la tabla de macros

Cuando se define una macro desde un programa (o MDI), se almacena en una tabla
en el CNC de manera que está disponible para los demás programas. Esta sentencia
inicializa la tabla de macros, borrando las macros que se encuentren almacenadas
en ella.

CNC 8070

Página 77 de 235
Curso programación paramétrica Héctor M. Peláez

Repetición de bloques

Esta sentencia permite repetir la ejecución de una parte del programa definida entre
dos bloques, los cuales estarán identificados mediante etiquetas. La etiqueta del
bloque final se debe programar sola.

Opcionalmente se podrá definir el número de veces que se desea repetir la


ejecución; si no se define, se repite una vez.

El grupo de bloques a repetir debe estar definido en el mismo programa o subrutina


desde donde se ejecuta esta sentencia. También podrán estar a continuación del
programa (después de la función M30).
SENTENCIAS E INSTRUCCIONES
Sentencias de programación

Se permiten hasta 20 niveles de anidamiento.

#RPT Repetición de bloques

El formato de programación es el siguiente.


#RPT [<blk1>,<blk2>,<n>]

Parámetro Significado
<blk1> Bloque inicial.
<blk2> Bloque final.
<n> Opcional. Número de repeticiones.

Como las etiquetas para identificar los bloques pueden ser de dos tipos (número y
nombre), la sentencia #RPT se puede programar de las siguientes maneras:
• La etiqueta es el número de bloque.
En los bloques que contienen la etiqueta inicial y final, tras el número de bloque
se debe programar el carácter ":". Esto es necesario en toda etiqueta que vaya
a ser objetivo de un salto.

N10 #RPT [N50,N70]

N50: G01 G91 X15 F800 (bloque inicial)


X-10 Y-10
X20
X-10 Y10
N70: (bloque final)

• La etiqueta es el nombre del bloque.

N10 #RPT [[BEGIN],[END]]

[BEGIN] G01 G91 F800 (bloque inicial)


X-10 Y-10
X20
X-10 Y10
G90
[END] (bloque final)
CNC 8070
Una vez finalizada la repetición, la ejecución continúa en el bloque siguiente al que
se programó la sentencia #RPT.

Página 78 de 235
Curso programación paramétrica Héctor M. Peláez

Consideraciones

Las etiquetas de los bloque inicial y final deben ser diferentes. Para repetir la
ejecución de un solo bloque, se programará de la siguiente manera:

N10 #RPT [N10,N20,4]

N10: G01 G91 F800 (bloque inicial)


N20: (bloque final)

SENTENCIAS E INSTRUCCIONES
Sentencias de programación
No se permite repetir un grupo de bloques que cierren un bucle de control sin que
la apertura del bucle de control se encuentre dentro de las instrucciones a repetir.

N10 #RPT [N10,N20]

N10: $FOR P1=1,10,1


G0 XP1
$ENDFOR
G01 G91 F800
N20:

%PROGRAM
G00 X-25 Y-5
N10: G91 G01 F800 (Definición del perfil "a")
X10
Y10
X-10
Y-10
G90
N20:
G00 X15
#RPT [N10, N20] (Repetición de bloques. Perfil "b")
#RPT [[INIT], [END], 2] (Repetición de bloques. Perfiles "c" y "d")
CNC 8070
M30

[INIT]
G1 G90 X0 Y10
G1 G91 X10 Y10
X-20
X10 Y-10
G73 Q180
[END]

Página 79 de 235
Curso programación paramétrica Héctor M. Peláez

Sentencias de programación adicionales

#COMMENT BEGINComienzo de comentario

#COMMENT END Fin de comentario

Las sentencias #COMMENT BEGIN y #COMMENT END indican el comienzo y el final


de un comentario.

El formato de programación es el siguiente:


#COMMENT BEGIN
#COMMENT END
SENTENCIAS E INSTRUCCIONES
Sentencias de programación

Los bloques programados entre ambas sentencias son considerados por el CNC
como un comentario y no son tenidos en cuenta durante la ejecución del programa.

#COMMENT BEGIN
P1: Anchura del mecanizado
P2: Longitud del mecanizado.
P3: Profundidad del mecanizado
#COMMENT END

#FLUSH Interrupción de la preparación de bloques

El CNC va leyendo varios bloques por delante del que se está ejecutando, con objeto
de calcular con antelación la trayectoria a recorrer.

La sentencia #FLUSH detiene esta preparación de bloques por adelantado, ejecuta


el último bloque preparado, sincroniza la preparación y ejecución de bloques y luego
continúa con el programa. Cuando se continúa se comienza de nuevo a preparar
bloques por adelantado.

El formato de programación es el siguiente:


#FLUSH

Hay información en los bloques que se evalúa, en el momento de leerlo; si se desea


evaluarlo en el momento de ejecutarlo se utilizará la sentencia #FLUSH.

Esta sentencia es muy útil para evaluar la "condición de salto de bloque" en el


momento de la ejecución.

···
N110 #FLUSH
/N120 G01 X100
···

Hay que tener en cuenta que detener la preparación de bloques puede provocar
trayectorias compensadas distintas a las programadas, empalmes indeseados
cuando se trabaja con tramos pequeños, desplazamientos de ejes a saltos, etc.

#WAIT FOR Esperar un evento

CNC 8070 Esta sentencia interrumpe la ejecución del programa hasta que la condición
programada se cumpla.

El formato de programación es el siguiente:


#WAIT FOR [<condición>]

#WAIT FOR [V.PLC.O[1] == 1]

Se podrá realizar una comparación entre números, parámetros o expresiones


aritméticas que tengan como resultado un número.

Página 80 de 235
Curso programación paramétrica Héctor M. Peláez

Instrucciones de control de flujo

Salto de bloque ($GOTO)

$GOTO N<expresión>
$GOTO [<etiqueta>]

En esta instrucción se define uno de los siguientes parámetros:

SENTENCIAS E INSTRUCCIONES
Instrucciones de control de flujo
<expresión> Podrá ser un número, parámetro o expresión aritmética que tenga
como resultado un número.

<etiqueta> Podrá ser una secuencia de hasta 14 caracteres formada por


letras mayúsculas, minúsculas y por números (no admite
espacios en blanco ni comillas).

Esta instrucción provoca un salto al bloque definido mediante "N<expresión>" ó


"[<etiqueta>]", el cual puede estar definido en un punto del programa anterior o
posterior a la instrucción $GOTO. La ejecución del programa continúa, tras el salto,
a partir del bloque indicado.

La instrucción $GOTO se puede programar de dos formas:


• Mediante un número de bloque.
En estos bloques que son destino de un salto, la etiqueta debe programarse
seguida de ":".

Destino N<número>:

Llamada $GOTO N<número> ó N<número>:

• Mediante una etiqueta.

Destino [<etiqueta>]

Llamada $GOTO [<etiqueta>]

La instrucción de llamada y el bloque de destino deben estar en el mismo programa


o subrutina. No se permite realizar un salto del programa a una subrutina, ni entre
subrutinas.

N10 $GOTO N60 N40: N10 $GOTO [LABEL]


... ... ...
N60: ... N90 $GOTO N40: N40 [LABEL]

No se permite realizar saltos a los bloques anidados dentro de otra instrucción ($IF,
$FOR, $WHILE, etc.)

Aunque las instrucciones de control de flujo se deben programar solas en el bloque,


la instrucción $GOTO se puede añadir a una instrucción $IF en el mismo bloque. Esto
permite salir del grupo de bloques anidados en una instrucción ($IF, $FOR, $WHILE,
etc.), sin necesidad de terminar el bucle.
CNC 8070
N10 P0=10
N20 $WHILE P0<=10
N30 G01 X[P0*10] F400
N40 P0=P0-1
N50 $IF P0==1 $GOTO N100
N60 $ENDWHILE
N100: G00 Y30
M30

Página 81 de 235
Curso programación paramétrica Héctor M. Peláez

Ejecución condicional ($IF)

$IF <condición> ... $ENDIF

En esta instrucción se define el siguiente parámetro:

<condición> Podrá ser una comparación entre dos números, parámetros o


expresiones aritméticas que tengan como resultado un número.

Esta instrucción analiza la condición programada.


SENTENCIAS E INSTRUCCIONES
Instrucciones de control de flujo

• Si la condición es cierta, ejecuta los bloques anidados entre las instrucciones $IF
y $ENDIF.
• Si la condición es falsa, la ejecución continúa en el siguiente bloque a $ENDIF.

...
N20 $IF P1==1
N30...
N40...
N50 $ENDIF
N60 ...

Si P1 es igual a 1, se ejecutan los bloques N30 a N40.

Si P1 es distinto de 1, la ejecución continúa en N60.

La instrucción $IF siempre termina con un $ENDIF, excepto si se le añade la


instrucción $GOTO, en cuyo caso no se debe programar.

...
N20 $IF P1==1 $GOTO N40
N30...
N40: ...
N50...

Si P1 es igual a 1, la ejecución continúa en el bloque N40.

Si P1 es distinto de 1, la ejecución continúa en N30.

Opcionalmente, entre las instrucciones $IF y $ENDIF se podrán incluir las


instrucciones $ELSE y $ELSEIF.

CNC 8070

Página 82 de 235
Curso programación paramétrica Héctor M. Peláez

$IF <condición> ... $ELSE ... $ENDIF

Esta instrucción analiza la condición programada.


• Si la condición es cierta, se ejecutan los bloques anidados entre las instrucciones
$IF y $ELSE, y la ejecución continúa en el siguiente bloque a $ENDIF.
• Si la condición es falsa, se ejecutan los bloques anidados entre $ELSE y $ENDIF.

N20 $IF P1==1


N30...
N40...

SENTENCIAS E INSTRUCCIONES
Instrucciones de control de flujo
N50 $ELSE
N60...
N70...
N80 $ENDIF
N90 ...
Si P1 es igual a 1, se ejecutan los bloques N30 a N40. La ejecución continúa en N90.

Si P1 es distinto de 1, la ejecución continúa en N50.

$IF <condición1> ... $ELSEIF<condición2> ... $ENDIF

Esta instrucción analiza las condiciones programadas.


• Si la <condición1> es cierta, se ejecutan los bloques anidados entre las
instrucciones $IF y $ELSEIF.
• Si la <condición1> es falsa se analiza la <condición2>. Si es cierta, se ejecutan
los bloques anidados entre las instrucciones $ELSEIF y $ENDIF (o el siguiente
$ELSEIF si lo hubiera).
• Si todas las condiciones son falsas, la ejecución continúa en el siguiente bloque
a $ENDIF.

Se podrán definir tantas instrucciones $ELSEIF como sean necesarias.

N20 $IF P1==1


N30...
N40...
N50 $ELSEIF P2==[-5]
N60...
N70 $ELSE
N80...
N90 $ENDIF
N100 ...
• Si P1 es igual a 1, se ejecutan los bloques N30 a N40. La ejecución continúa
en N100.
• Si P1 es distinto de 1 y P2 es igual a -5, se ejecuta el bloque N60. La ejecución
continúa en N100.
• Si P1 es distinto de 1 y P2 es distinto de -5, se ejecuta el bloque N80, y la CNC 8070
ejecución continúa en N100.

También se puede incluir una instrucción $ELSE. En este caso, si todas las
condiciones definidas son falsas, se ejecutan los bloques anidados entre las
instrucciones $ELSE y $ENDIF.

Página 83 de 235
Curso programación paramétrica Héctor M. Peláez

Ejecución condicional ($SWITCH)

$SWITCH <expresión1> ... $CASE<expresión2> ... $ENDSWITCH

En esta instrucción se definen los siguientes parámetros:

<expresión> Podrán ser un número, parámetro o expresión aritmética que


tenga como resultado un número.

Esta instrucción calcula el resultado de la <expresión1> y ejecuta el conjunto de


SENTENCIAS E INSTRUCCIONES
Instrucciones de control de flujo

bloques anidado entre la instrucción $CASE, cuya <expresión2> tenga el mismo


valor que el resultado calculado, y el $BREAK correspondiente.

La instrucción $SWITCH siempre acaba con un $ENDSWITCH.

La instrucción $CASE siempre acaba con un $BREAK. Se podrán definir tantas


instrucciones $CASE como sean necesarias.

Opcionalmente, se podrá incluir una instrucción $DEFAULT, de manera que si el


resultado de la <expresión1> no coincide con el valor de ninguna <expresión2>, se
ejecuta el conjunto de bloques anidados entre las instrucciones $DEFAULT y
$ENDSWITCH.

N20 $SWITCH [P1+P2/P4]


N30 $CASE 10
N40...
N50...
N60 $BREAK
N70 $CASE [P5+P6]
N80...
N90...
N100 $BREAK
N110 $DEFAULT
N120...
N130...
N140 $ENDSWITCH
N150...
Si el resultado de la expresión [P1+P2/P4].

• Es igual a 10, se ejecutan los bloques N40 a N50. La ejecución continúa en


N150.
• Es igual a [P5+P6], se ejecutan los bloques N80 a N90. La ejecución continúa
en N150.
• Es distinto de 10 y [P5+P6], se ejecutan los bloques N120 N130. La ejecución
continúa en N150.

CNC 8070

Página 84 de 235
Curso programación paramétrica Héctor M. Peláez

Repetición de bloques ($FOR)

$FOR <n> = <expr1>,<expr2>,<expr3> ... $ENDFOR

En esta instrucción se definen los siguientes parámetros.

<n> Podrá ser un parámetro aritmético o variable de escritura.

<expr> Podrán ser un número, parámetro o expresión aritmética que


tenga como resultado un número.

SENTENCIAS E INSTRUCCIONES
Instrucciones de control de flujo
Cuando se ejecuta esta instrucción, <n> toma el valor de <expr1> y va cambiando
su valor hasta <expr2>, en incrementos definidos por <expr3>. En cada incremento
se ejecutan los bloques anidados entre las instrucciones $FOR y $ENDFOR.

...
N20 $FOR P1=0,10,2
N30...
N40...
N50...
N60 $ENDFOR
N70...
Desde que P1=0 hasta P1=10, en incrementos de 2 (6 veces), se ejecutan los
bloques N30 a N50.
...
N12 $FOR V.P.VAR_NAME=20,15,-1
N22...
N32...
N42 $ENDFOR
N52...
Desde que V.P.VAR_NAME=20 hasta V.P.VAR_NAME=15, en incrementos de -
1 (5 veces), se ejecutan los bloques N22 a N32.

La instrucción $BREAK permite finalizar la repetición de bloques, aunque no se


cumpla la condición de parada. La ejecución del programa continuará en el bloque
siguiente a $ENDFOR.

...
N20 $FOR P1= 1,10,1
N30...
N40 $IF P2==2
N50 $BREAK
N60 $ENDIF
N70...
N80 $ENDFOR
...
La repetición de bloques se detiene si P1 es mayor que 10, o si P2 es igual a 2.
CNC 8070
La instrucción $CONTINUE inicia la siguiente repetición, aunque no se haya
terminado la repetición que se está ejecutando. Los bloques programados a
continuación de la instrucción $CONTINUE hasta $ENDFOR se ignoran en esta
repetición.

Página 85 de 235
Curso programación paramétrica Héctor M. Peláez

Repetición condicional de bloques ($WHILE)

$WHILE <condición> ... $ENDWHILE

En esa instrucción se define el siguiente parámetro:

<condición> Podrá ser una comparación entre dos números, parámetros o


expresiones aritméticas que tengan como resultado un número.

Mientras la condición definida sea válida, se repite la ejecución de los bloques


SENTENCIAS E INSTRUCCIONES
Instrucciones de control de flujo

anidados entre $WHILE y $ENDWHILE. La condición se analiza al comienzo de cada


nueva repetición.

...
N20 $WHILE P1<= 10
N30 P1=P1+1
N40...
N50...
N60 $ENDWHILE
...
Mientras P1 sea menor o igual que 10, se ejecutan los bloques N30 a N50.

La instrucción $BREAK permite finalizar la repetición de bloques, aunque no se


cumpla la condición de parada. La ejecución del programa continuará en el bloque
siguiente a $ENDWHILE.

...
N20 $WHILE P1<= 10
N30...
N40 $IF P2==2
N50 $BREAK
N60 $ENDIF
N70...
N80 $ENDWHILE
...
La repetición de los bloques se detiene si P1 es mayor que 10, o si P2 es igual a 2.

La instrucción $CONTINUE inicia la siguiente repetición, aunque no se haya


terminado la repetición que se está ejecutando. Los bloques programados a
continuación de la instrucción $CONTINUE hasta $ENDWHILE se ignoran en esta
repetición.
...
N20 $WHILE P1<= 10
N30...
N40 $IF P0==2
N50 $CONTINUE
N60 $ENDIF
CNC 8070 N70...
N80...
N80 $ENDWHILE
...
Si P0=2, se ignoran los bloques N70 a N80 y se inicia una nueva repetición en el
bloque N20.

Página 86 de 235
Curso programación paramétrica Héctor M. Peláez

Repetición condicional de bloques ($DO)

$DO ... $ENDDO <condición>

En esa instrucción se define el siguiente parámetro:

<condición> Podrá ser una comparación entre dos números, parámetros o


expresiones aritméticas que tengan como resultado un número.

Mientras la condición definida sea válida, se repite la ejecución de los bloques

SENTENCIAS E INSTRUCCIONES
Instrucciones de control de flujo
anidados entre $DO y $ENDDO. La condición se analiza al final de cada nueva
repetición, por lo tanto el grupo de bloques se ejecuta como mínimo una vez.

...
N20 $DO
N30 P1=P1+1
N40...
N50...
N60 $ENDDO P1<=10
N70...
Los bloques N30 a N50 se ejecutan mientras P1 sea menor o igual que 10.

La instrucción $BREAK permite finalizar la repetición de bloques, aunque no se


cumpla la condición de parada. La ejecución del programa se continuará en bloque
siguiente a $ENDDO.
...
N20 $DO
N30...
N40 $IF P2==2
N50 $BREAK
N60 $ENDIF
N70...
N80 $ENDDO P1<= 10
...
La repetición de los bloques se detiene si P1 es mayor que 10, o si P2 es igual a 2.

La instrucción $CONTINUE inicia la siguiente repetición, aunque no se haya


terminado la repetición que se está ejecutando. Los bloques programados a
continuación de la instrucción $CONTINUE hasta $ENDDO se ignoran en esta
repetición.
...
N20 $DO
N30...
N40 $IF P0==2
N50 $CONTINUE
N60 $ENDIF
N70... CNC 8070
N80...
N80 $ENDDO P1<= 10
...
Si P0=2, se ignoran los bloques N70 a N80 y se inicia una nueva repetición en el
bloque N20.

Página 87 de 235
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

DIAGRAMA DE FLUJO DEFINICIÓN DE PARÁMETROS


DE UN ALGORITMO

ANALIZAR ERRORES DE
DEFINICIÓN
¿ERRORES?

NO

POSICIONAR HERRAMIENTA

INCREMENTAR CONTADOR

SI
EVALUAR CONTADOR
¿SOBREPASADO LIMITE?

NO
OTRA PASADA

CALCULO DE POSICIONES

SI

MOVIMIENTO A POSICIONES

¿POSIBILIDAD ULTIMA
PASADA ?

SI

EVALUAR ULTIMA POSICION

NO
CALCULO ULTIMA POSICIÓN

MOVIMIENTO ULTIMA POSICIÓN

FIN

36 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

T2 M6
G97 S300 M03
G00 X0 Z10 D1
G01 G94 Z7 F250
P1=-80 P2=-32 P3=0.5 P4=7 P5=4 P6=1 P7=1

$IF P5>P6 $GOTO N10 (SI APROXIMACION ES MAYOR QUE RETIRADA)


P5=P6 (IGUALAMOS LAS DOS)
N10:
P10=P5-P6 (DIFERENCIA ENTRE RETIRADA Y APROXIMACION)
$IF P2 < P1 $GOTO N900

(PRIMERA PASADA)
G01 ZP2
G00 G91 ZP5
G00 G91 Z-P10
G01 G90

(PASADAS RESTANTES)
P11=P2
N30: P2=P2*P3 (CALCULO PASADA REDUCIDA)
$IF ABS[P2] >= P4 $GOTO N40 (CONTROL PASADA REDUCIDA ES MENOR QUE MINIMA)
P2=-P4 (SI MENOR LA PASADA ENTONCES SERA LA MINIMA)
N40: P11=P11+P2 (Z DE TALADRADO TRAS CADA PASADA)
$IF P11 <= P1 $GOTO N900 (RESTO DE PASADAS HASTA FINAL)
G01 ZP11
G00 G91 ZP5
G00 G91 Z-P10
G01 G90
$GOTO N30

(ULTIMA PASADA)
N900: G01 ZP1
G04 KP7
G00 Z5
M30

37 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

(PERFIL_PARAMETRICO) P15 = P10 - P13 (X INCIAL REDONDEO 2)

#DGWZ [-10,130,-10,80,-20,0] P16 = P4 - P2 + P12

P1 = 70 (DIAMETRO) G00 Z50 M3

P2 = 15 (REDONDEO) G00 X-P17 Y-P17

P3 = 120 (LARGO) G00 Z5

P4 = 70 (ALTO) G01 Z-10 F200

P5 = 5 (DESCENTRE) G01 G41 X0 Y0

T01 G01 YP4

G00 Z50 D01 G01 XP9

G97 S400 M03 G02 XP14 YP16 RP2

P6 = P1 / 2 G03 XP15 YP16 RP6

P17 = V.TM.TOR G02 XP10 YP4 RP2

P8 = SQRT [[SQR[P2+P6]] - [SQR[P2+P5]]] G01 XP3

P9 = [ P3 / 2 ] - P8 (X INICIO REDONDEO 1) G01 Y0

P10 = [ P3 / 2 ] + P8 (X FIN REDONDEO 2) G01 X0

P11 = ATAN [ [ P2 + P5 ] / P8 ] (ANGULO ABERTURA) G01 G40 X-P17 Y-P17

P12 = P2 * SIN [ P11 ] (INC Y FIN REDººONDEO 1) G00 Z100

P13 = P2 * COS [ P11 ] (INC X FIN REDONDEO 1) M30

P14 = P9 + P13 (X FINAL REDONDEO 1)

38 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

(CREACION ARCO PARAMETRICO) N1: P4=P4+P3 (o también P4+=P3)

#DGWZ[-100,100,-100,100,-10,0] $IF P4 >= P1 $GOTO N98 (comprueba si llega al final)

T01 M06 N3: P5 = SIN[P4]

G00 Z100 D01 P6 = COS[P4]

S500 M03 P7=P5*P2

(asignar valores) P8=P6*P2

P11=60 (ángulo inicial) G01 XP8 YP7

P1=300 (ángulo final) N4:

P2=50 (radio) $GOTO N1 (regresa para otra pasada)

P3=10 (incremento del ángulo) N98: P4=P1 (pasada final)

P4=P11 (contador angular parcial) #RPT [N3,N4]

$IF P11 > P1 $GOTO N99 (chequeo de ángulos) G01 G40 RP21 QP1

P9=V.TM.TOR (radio de fresa activa) $GOTO N100 (fin si no hay errores)

P21=P9+P2+15 (punto de entrada rhta+r+5) N99 #MSG["ANGULO INICICIAL MAYOR QUE FINAL"]

G30 I0 J0 M00 M05

G00 RP21 QP11 (también G00 R[P9+P2+5] QP0) #MSG[""]

G00 Z5 N100: G00 Z100

G01 Z-5 F500 M30

G01 G42 RP2

39 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

(TALADROS EN ARCO) P9 = 1 (TIEMPO ESPERA)

#DGWZ[-100,100,-100,100,-10,0] P10 = 50 (AVANCE)

T01 M06 P0 = P0 - 1

G00 Z100 D01 P11 = P2 - P1

S1000 M03 P12 = P11 / P0 (CADA CUANTOS GRADOS)

(ASIGNAR VALORES) G30 IP4 JP5

P0 = 6 (NUMERO DE TALADROS) G00 RP3 QP1

P1 = 20 (ANG. INICIAL X-Y) G00 ZP6 FP10

P2 = 160 (ANG. FINAL X-Y) N1:

P3 = 50 (RADIO CIRCULO) G98 G00 RP3 QP1 G81 IP7 KP9

P4 = 0 (C. CIRCULO X) P1 += P12 (O TAMBIEN P1=P1+P12)

P5 = 0 (C. CIRCULO Y) $IF P1 <= P2 $GOTO N1

P6 = 5 (SEGURIDAD Z) G00 G80 Z100

P7 = -25 (PROFUNDIDAD) M30

40 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

(CAJERA PARAMETRICA) YP1

#DGWZ [-10,210,-10,160,-20,0] X0

T01 M06 Y0

G00 Z200 D01 XP4

S500 M03 G91 G03 XP5 YP5 RP5

(ASIGNAR VALORES) G90 G01 G40 XP4 YP5

P0 = 200 (LARGO X) P7=P7-P3

P1 = 150 (LARGO Y) $IF P7>P2 $GOTO N1

P2 = -15 (ALTO Z) N2:

P3 = 5 (PASO Z) P7=P2

P6 = V.TM.TOR (RADIO HTA) G01 ZP7

P4=P0/2 (MITAD X) G91 G41 X-P5

P5=P6+5 (APROX Y) G90 G03 XP4 Y0 RP5

P7 = 0 (CONTA Z) G01 XP0

G00 XP4 YP5 YP1

G00 Z0 X0

P7=P7-P3 Y0

$IF P7<=P2 $GOTO N2 XP4

N1: G91 G03 XP5 YP5 RP5

G01 ZP7 F500 G90 G01 G40 XP4 YP5

G91 G41 X-P5 G00 Z100

G90 G03 XP4 Y0 RP5 M30

G01 XP0

41 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

%L 1002 $IF [P10 > 0] $GOTO N93] ; HTA PEQUENA DEJA ISLAS

( CICLO DE CHAVETERO) $IF [P6 >= P2] $GOTO N94] ; HTA IGUAL O MAYOR AL

RADIO

(PARAMETROS A DEFINIR EN PROGRAMA) ;

; ZONA DE CALCULO

(P1= LONGITUD CHAVETERO) ;

(P2= RADIO CHAVETERO) $IF [P4 < 0] $GOTO N5

(P3= PROFUNDIDAD) ;

(P4= PROFUNDIDAD PASADA) ; INICIO DE PROGRAMA

(ZONA DE CHEQUEO) P13=FRACT[ABS[P3]/P4] (SON PASADAS IGUALES ?)

$IF P13 == 0 $GOTO N5

(SI P4 + TODAS PASADAS IGUALES) P11=INT[ABS[P3]/P4]+1 (NUEVO NUMERO PASADAS)

(SI P4 - TODAS PASADAS IGUALES MENOS ULTIMA RESTO) P4=ABS[P3]/P11 (NUEVA PROFUNDIDAD PASADA)

N5: P8=[P2-P6]/4 (DESVIO POLAR ENTRADA TANGENCIAL)

(P6= RADIO HTA) P9=P2-P8 (RADIO POLAR DE ENTRADA TANGENCIAL)

P10=P1+SIN[30]*P9 (X ENTRADA TANGENCIAL)

P6=V.TM.TOR P11=P8+COS[30]*P9 (Y ENTRADA TANGENCIAL)

P10=[P2*2]-[P6*2*3] ( ANCHO CHAVETERO-RADIO P12=P1-SIN[30]*P9 (X SALIDA TANGENCIAL)

HTA) P7=0 (CONTADOR PROFUNDIDAD PARCIAL)

N10: P7=P7-P4

(CHEQUEO DE ERRORES) $IF P7 <= P3 $GOTO N30

N20: G01 ZP7

$IF [P4 == 0] $GOTO N91] ; SIN PROFUNDIDAD DE G01 XP1

PASADA G01 G41 XP10 YP11

$IF [P1 < 0] $GOTO N92] ; CHAVETERO NEGATIVO G03 XP1 YP2 RP9

42 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

G01 X0 $GOTO N99

G08 Y-P2 N92: #MSG ["POSICION DEL CHAVERTERO ERRONEO"]

G01 XP1 M00

G03 YP2 RP2 #MSG [""]

G03 XP12 YP11 RP9 $GOTO N99

G01 G40 XP1 Y0 N93: #MSG ["HERRAMIENTA PEQUEÑA"]

G91 Z1 M00

G90 G00 X0 #MSG [""]

G91 G01 Z-1 $GOTO N99

G90 N94: #MSG ["HTA MAYOR O IGUAL A RADIO CHAVETERO"]

N25: M00

$GOTO N10 #MSG [""]

N30: P7=P3 N99:

#RPT [N20,N25] #RET

G00 Z5

%CHAVETERO

( FIN DE PROGRAMA) T01 M06

G00 Z100 D01

$GOTO N99 ( SIN ERRORES) S800 M03 M08

G00 X0 Y0

( ZONA DE ALARMAS G00 Z5 F350

#PCALL 1002 P1=60 P2=16 P3=-20 P4=6

N91: #MSG ["SIN PROFUNDIDAD DE PASADA"] G00 Z300 M09

M00 M30

#MSG [""]

43 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

(LEVA PROGRESIVA DE PASO CONSTANTE) G0 X0 Y320

#DGWZ[-170,320,-250,300,-20,0] G00 Z-45 M08

(INICIO DEFINICION DE PARAMETROS) G01 Z-50 F300

P1=130.8 (RADIO INICIAL) G42 X40 Y305

P2=300.016 (RADIO FINAL) X40 Y124.53

P3=128.563 (ANGULO INICIAL) G36 I20

P4=379.912 (ANGULO FINAL) G30 I0 J0

P5=16 (RADIO HTA) G03 QP3

P6=P5+P5 (CALCULO SALIDA HTA TMP) N10: P12=P12+P9

P7=P2+P6 (SALIDA EN Y) P8=P8+P13

P8=P3 (PASO ANGULAR ACUMULADO) $IF P8 >= P4 $GOTO N20

P10=P4-P3 (INCREMENTO ANGULAR) G01 R P12 Q P8

P11=P2-P1 (INCREMENTO RADIAL) $GOTO N10

P12=P1 (CONTADOR PASO RADIAL) N20: P8=P4

P13=1 (PASO ANGULAR) P12=P2

P9=P11*P13/P10 (PASO RADIAL CALCULADO) G01 R P12 Q P8

(FIN DEFINICION DE PARAMETROS) G03 Q90

T1 M06 G01 G40 X- P5 Y P7

G90 G17 G00 Z200 M09

G00 Z200 D1 M30

S1000 M03

44 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

(PROBETA) G42 X0 Y0

#DGWZ[-10,610,-10,400,-15,0] YP4

P1=6 (COLUMNAS) XP5

P2=4 (FILAS) P10=P4-P6

P3=60 (LARGO) YP10

P4=50 (ALTURA) P11=P5+[2*P7]

P5=20 (INICIO) G03 XP11 RP7

P6=20 (REBAJE) G01 YP4

P7=10 (RADIO) XP3

P8=10 (ESPESOR) Y0

T1 M06 X0

G90 G17 G54 G40 X-P9 Y-P9

G00 Z100 D1 G00 Z5

P9=V.TM.TOR (RADIO HTA) G00X0Y0

S800 M03 M08 G92X-100

P12=1 P13=P13+1

$WHILE P12 <= P2 $ENDWHILE

P13=1 G92X500Y-100

$WHILE P13 <= P1 P12=P12+1

(PERFIL PIEZA) $ENDWHILE

G0 X-P9 Y-P9 G54

G00 Z5 M30

G01 Z-P8 F300 %

45 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

(DESBASTE SEMIESFERA) (ACABADO SEMIESFERA)


#DGWZ[-120,120,-120,120,-110,0] (FRESA ESFERICA)
T01 M06 T02 M06
G00 Z100 D01 G00 Z100 D01
S700 M03 S700 M03
(FRESA FRONTAL MEDIDA EN PUNTA) P6=V.TM.TOR (RADIO DE FRESA ACTIVA)
P1 =100 (RADIO ESFERA) (MEDIDA EN CENTRO BOLA)
P2 =6 (PROF PASADA) P11=0 (CONTADOR ANGULAR)
P3 =0 (CONTA PROF) P12=1 (INCR.ANGULAR)
P6=V.TM.TOR (RADIO DE FRESA ACTIVA) P15=P1-P6
G00 Z100 (RADIO ESFERA EN CENTRO FRESA)
G00 X0 Y0 G00 Z100
G00 Z5 G00 X0 Y0
G01 Z0 F100 G00 Z5
P3=-P2 G01 Z0 F100
N10: P4=SQRT[[P1*P1]-[P3*P3]] (RADIO CAJERA CADA N30: P13=SIN[P11] ("Z")
PASADA) P14=COS[P11] ("X")
P4=P4-0.5 (CRECES RADIO CAJERA) P13=P15*P13 (COTA Z)
P5=P3+P2 (Z DE DEFINICION CICLO CAJERA) P14=P15*P14 (COTA X)
G99 G00 X0 Y0 G01 XP14 Y0
G88 ZP5 IP3 JP4 BP2 G01 ZP13
G80 G03 G06 XP14 Y0 I0 J0
$IF P4 <= P6 $GOTO N20 P11=P11-P12
P3=P3-P2 $IF P11 > -90 $GOTO N30
$IF P3 > -P1 $GOTO N10 G00 Z100
N20: M00 M05 M30

46 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

(ACABADO PARALELO AL PLANO XY) P21=P21-P10 (POR ESTAR EL CERO ARRIBA)

#DGWZ[-60,60,-60,60,-50,0] P24=P20+10 (CRECES DE 10 MM)

P10=60 (RADIO DE LA SEMIESFERA) G00 XP24

P11=60 (ANGULO INICIAL) G01 ZP21 F1000

P12=20 (ANGULO FINAL) G1 XP20

P13=2 (ANGULO INCREMENTAL) G30 I0 J0

T1 M6 G91 G2 Q360

G0 Z100 D1 G90

P14=V.TM.TOR (RADIO DE HERRAMIENTA) N2:

S1000 M3 P25=P25-P13 (DECREMENTO ANGULAR)

G0 X0 Y0 (COMPARACIÓN)

P25=P11 (CONTADOR DE ANGULOS PARCIALES) $IF P25 > P12 $GOTO N1

N1: P25=P12

P20=P10*COS [P25] (COORDENADA X) #RPT [N1,N2]

P21=P10*SIN [P25] (COORDENADA Z) G0 Z100

P20=P20+P14 (COMPENSACIÓN DE HERRAMIENTA) M30

47 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

(SEMIESFERA ACABADO PARALELO AL PLANO ZX) N5:

P1=100 (RADIO DE LA SEMIESFERA) P9=360

P2=90 (ANGULO INCREMENTAL) #RPT[N3,N4]

T1 M6 G01 RP1 Q90

G0 G17 Z100 D1 G0 Z100

S1000 M3 M30

P6=V.TM.TOR (RADIO DE HERRAMIENTA)

G0 X0 Y0

G00 Z5

P9=0

N2: (ARCO LINEAL CADA SECCION)

P9=P9+P2 (INC GRADO)

$IF P9 >= 360 $GOTO N5

N3:

#CS ON [1] [MODE 2, 0, 0, 0, P9, 0, 0]

G19

G30 IP6 J-P1

G01 RP1 Q90 F5000

G02 Q0

G1 G91 Y5

G00 G90 Z5

G00 X0 Y0

G17

#CS OFF

N4:

$GOTO N2

48 de 49
Curso parámetros Fagor 8070 Duro Felguera Héctor M. Peláez

(ASIGNACION DE PARAMETROS) P15=P15-P12

#DGWZ[-100,100,-100,100,-50,0] $IF P15>P10 $GOTO N1

P10=-90 (ANGULO INICIAL) P15=P10

P11=90 (ANGULO FINAL) #RPT [N1,N2]

P12=5 (ANGULO INCREMENTAL) G0 Z10

P13=10 (RADIO SECCION TOROIDE) (MECANIZADO DESDE 0 GRADOS +90)

P16=40 (RADIO MEDIO CIRCULO DEL TOROIDE) G0 X0 Y0

T1 M6 P15=0 (CONTADOR ANGULAR DE 0 A +90)

G0 G17 Z100 D1 P19=P16+P14 (POSICION POLAR CALCULO PUNTOS)

S1000 M3 N3:

P14=V.TM.TOR G18

P17=P16+P13+10 (TOCHO EXT 10MM CRECES) G0 XP17

P18=P16-P13-10 (TOCHO INT 10MM CRECES) G30 I-P13 JP19

(MECANIZADO DESDE 0 GRADOS -90) G1 RP13 QP15 F1000

G0 X0 Y0 G17

P15=0 (CONTADOR ANGULAR DE 0 A -90) G30 I0 J0

P19=P16-P14 (POSICION POLAR CALCULO PUNTOS) G3 Q360

N1: N4:

G18 P15=P15+P12

G0 XP18 $IF P15<P11 $GOTO N3

G30 I-P13 JP19 P15=P11

G1 RP13 QP15 F1000 P20=1

G17 #RPT [N3,N4,P12]

G30 I0 J0 G0 Z100

G3 Q360 M30

N2:

49 de 49

Вам также может понравиться