Está en la página 1de 53

REF 001 (CAS)

DNC

FAGOR 8010/8020/8030
ÍNDICE

CAPÍTULO 1: INTRODUCCIÓN ................................................................................ 4


CAPÍTULO 2: MODO DE OPERACIÓN .................................................................... 5
CAPÍTULO 3: CONEXIÓN AL ORDENADOR........................................................... 6
CAPÍTULO 4: PARÁMETROS MÁQUINA RELACIONADOS CON DNC. ............. 10
CAPÍTULO 5: PROTOCOLO DNC .......................................................................... 12
CARACTERES ESPECIALES ......................................................................................................................... 12
TRANSMISIÓN DE MENSAJES ..................................................................................................................... 15
ORDEN DEL MENSAJE: ................................................................................................................................ 17
FORMATO DE LOS MENSAJES ................................................................................................................... 17
CASOS ESPECIALES........................................................................................................................................ 18
RECONOCIMIENTO NEGATIVO ................................................................................................................. 18
RECONOCIMIENTO NO VÁLIDO................................................................................................................ 18
RVI INTERRUPCIÓN INVERSA ................................................................................................................... 18
DLE; o WAK .................................................................................................................................................... 19
TEMPORIZADOR A (TEMPORIZADOR DE RESPUESTA) ..................................................................... 19
TEMPORIZADOR B (TEMPORIZADOR DE RECEPCIÓN TOTAL)......................................................... 19
TIEMPO MUERTO.......................................................................................................................................... 19
CONDICIONES RUPTURA.............................................................................................................................. 20
RECUPERACIÓN DESPUÉS DE UNA RUPTURA....................................................................................... 21
CAPÍTULO 6: ÓRDENES ........................................................................................ 22
CARGA DE UN PROGRAMA.......................................................................................................................... 22
FORMATO DE LOS PROGRAMAS............................................................................................................... 23
ERRORES EN LA CARGA DE PROGRAMAS ............................................................................................. 24
EJECUCIÓN PROGRAMA INFINITO........................................................................................................... 25
ERRORES EN LA EJECUCIÓN DE UN PROGRAMA INFINITO ............................................................ 27
DESCARGA DE PROGRAMAS PIEZA.......................................................................................................... 29
CARGA/DESCARGA DE TABLAS ................................................................................................................. 30
CONTROL REMOTO DE LA MÁQUINA Y PETICIÓN DE ESTADO. .................................................... 32
. EJECUCIÓN DE UN PROGRAMA .............................................................................................................. 34
. INFORME DE ERRORES ............................................................................................................................. 34
. CORRECCIÓN DINÁMICA DE HERRAMIENTAS ................................................................................... 37
. LECTURA DE LA POSICIÓN DE LOS EJES .............................................................................................. 38
. INFORME DEL TIPO DE MÁQUINA.......................................................................................................... 38
. LECTURA DE LA POSICIÓN DE LA HERRAMIENTA EN EL ALMACEN RANDOM......................... 39
.INICIALIZACIÓN DEL ALMACÉN RANDOM O MODIFICACIÓN DE LA POSICIÓN O DEL TIPO DE
UNA HERRAMIENTA. ................................................................................................................................... 39
INFORME DE ESTADO EN FORMATO FIJO ............................................................................................. 40
DESCARGA DEL DIRECTORIO DEL CNC 8010/8020/8030 ...................................................................... 42
BORRAR PROGRAMA .................................................................................................................................... 43
G76 N5 DIGITALIZACIÓN ............................................................................................................................ 44
APÉNDICE A: DIAGRAMA DEL PROTOCOLO DNC ............................................................................ 45
APÉNDICE B: LISTADO DE ERRORES EN DNC ..................................................................................... 50
APÉNDICE C: CARACTERES ASCII ......................................................................................................... 52

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 2


PREFACIO

NOTA AL LECTOR

? En este manual los textos dentro de los signos < >, indican una parte variable. Por ejemplo:

< número de programa> son cinco dígitos decimales, como 00123 o 47698.
Por tanto el usuario no debe escribir los signos < >.

? CARGA indica la transferencia de información HACIA el CNC 8010/8020/8030.

? DESCARGA es el proceso inverso. Es decir HACIA el ORDENADOR.

CAMBIOS RESPECTO A ANTERIORES VERSIONES

1. Carga y descarga de tablas de herramientas y parámetros máquina.

2. Informe del tipo de máquina.

3. Lectura de la posición de la herramienta en el almacén random. Inicialización del almacén random


o modificación de la posición o del tipo de una herramienta.

4. Códigos de teclas especiales para el 8030.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 3


CAPÍTULO 1: INTRODUCCIÓN

OBJETIVO DEL MANUAL

Este manual está dirigido a expertos que deseen elaborar un programa de comunicaciones entre un
ordenador y el CNC, generalmente para el control de máquinas complejas del tipo de células flexibles
de fabricación.

PROGRAMA PARA IBM-PC O COMPATIBLE

Fagor Automation dispone de un programa que permite conectar uno o dos controles FAGOR
8010/8020/8030 a un ordenador personal de IBM o compatible.

Las principales características de este programa son:

? Programa interactivo totalmente ayudado por menús.

? Soporta todas las órdenes del DNC FAGOR 8010/8020/8030, detalladas en el capítulo 6 de este
manual.

? Uso de los recursos del ordenador: listados en pantalla e impresora, directorio, borrado, … .

? Capacidad para dos líneas hasta 9600 baudios.

CAPACIDADES DEL DNC

El CNC 8010/8020/8030 dispone de la prestación de CONTROL NUMÉRICO DISTRIBUIDO (DNC),


la cual permite la comunicación entre el CNC 8010/8020/8030 y un ordenador para realizar las
siguientes funciones:

? Órdenes de directorio y borrado.


? Transferencia de programas y tablas entre el CNC8010/8020/8030 y un ordenador.
? Ejecución de programa infinito.
? Control remoto de la máquina.
? Capacidad de supervisión del estado de sistemas avanzados de DNC.

CARACTERÍSTICAS DEL DNC

? Interconexión EIA RS-232 C (V24).


? Frecuencia de transmisión máxima de 9.600 Baudios, full dúplex, asíncrona.
? El ordenador es siempre el maestro de la comunicación.
? El protocolo usado está basado en la norma ANSI X3.28 2.2 B2 1976

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 4


CAPíTULO 2: MODO DE OPERACIÓN

El DNC permite la comunicación del CNC 8010/8020/8030 con un ordenador para realizar diferentes
funciones. La manera en que éstas son ejecutadas está determinada por el software escrito para el
ordenador.

Cuando se trabaje en modo DNC, el modo de operación 7 (periféricos), está deshabilitado y la línea
RS 232 C se usa para la comunicación con el ordenador.

El DNC puede estar en tres modos:

1. No activo: Modo de operación 7 activo.

2. Desconectado: a la escucha de petición de conexión por parte del ordenador. (El ordenado
solicita una conexión transmitiendo el carácter ENQ). En la parte superior de la pantalla, en la
mayor parte de las páginas aparecerá la leyenda DNC.

3. Transfiriendo: Se está llevando a cabo una transferencia en uno u otro sentido entre el CNC
8010/8020/8030 y el ordenador. La leyenda DNC aparecerá parpadeando.

Se puede desactivar el DNC, bien cambiando el parámetro correspondiente o bien en el modo de


operación 7, pulsando la tecla 6.

Se producen las siguientes incompatibilidades:

? Mientras vía DNC, se está cargando un programa, no se puede editar/borrar otro programa por
teclado ni ejecutar G76.

? Mientras vía DNC , se está descargando un programa o pidiendo directorio, no se puede


borrar/seleccionar ningún programa por teclado.

El resto de los trabajos del CNC son totalmente compatibles. Por ejemplo puedo simultáneamente:

1. Mecanizar una pieza.

2. Generar el gráfico.

3. Introducir un programa por teclado (edición en background).

4. Pedir la posición de los ejes o el estado o el directorio o transferir un programa pieza del CNC al
ordenador.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 5


CAPÍTULO 3: CONEXIÓN AL ORDENADOR
La conexión con el CNC 8010/8020/8030 se realiza a través del conector 5, (ver manual de
INSTALACIÓN Y PUESTA EN MARCHA). Este corresponde a una línea RS 232 C, con un conector
no estándar de 9 contactos. Las funciones de cada contacto están explicadas en la figura 3.1. El
conector 5 es del tipo DTE (Data Terminal Equipment). Se recomienda el uso de cables cortos
(aproximadamente menores que 50 pies o 15 metros).

CONTACTO NEMÓNICO FUNCIÓN DIRECCIÓN

1 PROT GND Protective Ground (Malla)


2 TxD Transmitted Data De CNC
3 RxD Received Data Hacia CNC
4 RTS Request to Send (A+15V) De CNC
5 CTS Clear to Send Hacia CNC
6 DSR Data Set Ready Hacia CNC
7 SG Signal Ground
8
9 DTR Data Terminal Ready (A +15V) De CNC

Figura 3.1

? El CNC puede recibir caracteres en cualquier momento.


? El CNC puede transmitir, cuando las entradas CTS y DSR están en ON.
? En modo DND, las salidas RTS y DTR están permanentemente en ON.
? Habrá que realizar las conexiones adecuadas en el ordenador para que pueda recibir y transmitir.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 6


CONEXIONES

El DNC FAGOR 8010/8020/8030 usa CONTROL DEL FLUJO DE DATOS POR CARACTERES. Esto
implica que las líneas de control de la RS232C, CTS, RTS, DSR, DTR, DC, RI, … se disponen de
forma fija para que no impidan recibir o transmitir ni al CNC ni al ordenador. El protocolo DNC se
encarga con CARACTERES DE CONTROL, del control del flujo de datos, impidiendo que se
desborden los buffers del CNC o del ordenador.

Hay múltiples conexiones dependiendo del ordenador y del programa en el ordenador.

1. Lado del ordenador


Dependerá de si el conector es tipo DTE o DCE y del uso que se haga de las líneas de control
CTS, DSR, DTR, RTS, CD, … A menudo la función de estas líneas es programable. En todo caso
se deben consultar los manuales del ordenador.

2. Lado del CNC


Las entradas CTS y DSR deben estar en ON. Esto se puede conseguir puenteando con la salida
RTS o DTR del CNC.

Vemos algunos ejemplos:

Ejemplo conexiones 1:
Conexión CNC 8010/8020/8030 con HP-9000 550
El HP-9000 550 tiene un conector de 25 patas hembra tipo DCE.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 7


Ejemplo conexiones 2:

Conexión CNC 8010/8020/8030 con IBM-XT o IBM-PS/2 por medio del programa FAGORDNC.

El IBM-XT o IBM-PS/2 está equipado con una línea serie. El conector es tipo DTE con 25 patas.

La conexión seria la siguiente:

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 8


Ejemplo conexiones 3:

Conexión CNC 8010/8020/8030 con IBM-AT por medio del programa FAGOR DNC.

El IBM-AT está equipado con una línea serie. El conector es tipo DCE de 9 Pts.

La conexión sería la siguiente:

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 9


CAPÍTULO 4: PARÁMETROS MÁQUINA RELACIONADOS
CON DNC.

Para que la conexión sea correcta se deben poner apropiadamente los parámetros que definen el
protocolo, frecuencia de transmisión y otros atributos.

P0: Frecuencia de transmisión.


Valores válidos (en Baudios) : 110
150
300
600
1200
2400
4800
9600

P1: Longitud de caracteres. Con CRC-16, usar 8 bits. En el CNC 8030, para poder enviar las teclas
especiales hay que usar 8 bits por carácter. Ver simulación del teclado.

P2: Paridad. El DNC del CNC 8010/8020/8030 no hace testeo de paridad.

P3: Número de bits de stop, 1 o 2.

DNC activo:

Para el modelo CNC 8010 M es el parámetro P101 bit 3


Para el modelo CNC 8010 T es el parámetro P99 bit 5
Para el modelo CNC 8020 (1) es el parámetro P121 bit 3
Para el modelo CNC 8020 (2) es el parámetro P99 bit 5
Para el modelo CNC 8030 (3) es el parámetro P607 bit 3
Para el modelo CNC 8030 (4) es el parámetro P605 bit 5

Si el parámetro DNC activo es ON, en el modo operación 7, se puede desconectar o conectar


el DNC.

DNC activo con el encendido (Sólo si el parámetro DNC activo es ON) :

Para el modelo CNC 8010 M es el parámetro P101 bit 5


Para el modelo CNC 8010 T es el parámetro P99 bit 7
Para el modelo CNC 8020 (1) es el parámetro P121 bit 5
Para el modelo CNC 8020 (2) es el parámetro P99 bit 7
Para el modelo CNC 8030 (3) es el parámetro P607 bit 5
Para el modelo CNC 8030 (4) es el parámetro P605 bit 7

Depuración:

Como se verá en el siguiente capítulo, el CNC rompe la comunicación:

En recepción si pasan 30 segundos sin recibir ningún carácter


En transmisión si hay tres intentos consecutivos fallidos.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 10


Esto puede dificultar la prueba y depuración de sus programas. Con este parámetro
impedimos que el CNC rompa la comunicación en estos dos casos.

CNC 8010 T : P99 bit 8 a 1, no rompe


CNC 8010 M : P101 bit 6 a 1, no rompe
CNC 8020 (2) : P99 bit 8 a 1, no rompe
CNC 8020 (1) : P121 bit 6 a 1, no rompe
CNC 8030 (4) : P607 bit 8 a 1, no rompe
CNC 8030 (3) : P605 bit 7 a 1, no rompe

En funcionamiento normal este parámetro debe estar a cero.

RVI, interrupción inversa:

Ver explicación en capítulo 5, apartado casos especiales.

CNC 8010 T : P100 bit 8 a 1, envía RVI


CNC 8010 M : P101 bit 7 a 1, envía RVI
CNC 8020 (2) : P100 bit 8 a 1, envía RVI
CNC 8020 (1) : P121 bit 7 a 1, envía RVI
CNC 8030 (4) : P606 bit 8 a 1, envía RVI
CNC 8030 (3) : P607 bit 7 a 1, envía RVI

Cassette FAGOR toma los valores de los parámetros P0, P1, P2 y P3

CNC 8010 T : P99 bit 6 a 1


CNC 8010 M: P101 bit 4 a 1
CNC 8020 (2): P99 bit 6 a 1
CNC 8020 (1): P121 bit 4 a 1
CNC 8030 (4): P605 bit 6 a 1
CNC 8030 (3): P607 bit 4 a 1

Recordar que para que el CNC tome los nuevos parámetros hay que pulsar RESET.

Donde:

(1) Son los modelos 8020 M, MG, MS


8020 P, PG
8020 GP
(2) Son los modelos 8020 T, TG, TS

(3) Son los modelos 8030 M, MG, MS


8030 P, PG
(4) Son los modelos 8030 T, TG, TS

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 11


CAPÍTULO 5: PROTOCOLO DNC
El protocolo DNC permite testeo de redundancia longitudinal (LRC) o testeo de redundancia (cíclica)
(CRC-16) de cada paquete y la retransmisión automática de ese paquete si se detecta un error. Se
supone una operación dúplex del enlace de comunicaciones. Surgirán dificultades si se intenta la
operación en semidúplex.

CARACTERES ESPECIALES
Los caracteres especiales del protocolo DNC son:

Carácter Significado

ENQ (Enquiry Character – Carácter ASCII 5) – ENQ tiene dos funciones: inicia el protocolo
DNC, en un intento de control de control de la línea de comunicaciones, o indica que
ha de enviarse de nuevo el último reconocimiento. Dado que se transmite como un
solo carácter, el CNC 8010/8020/8030 lo empareje con un DEL. El ordenador NO
debería emparejar el ENQ.

SOH (Start Of Header Character – Carácter ASCII 1) – Sigue información de cabecera.

STX (Start Of Text Character – Carácter ASCII 2) – Siguen datos de texto.

ETB (End Of Transmission Block – Carácter ASCII 23) – El carácter de testeo de bloque
(BCC) sigue inmediatamente a un ETB (ver LRC y CRC-16). Todos los paquetes
salvo el último deben acabar en ETB.

ETX (End Of Tex Character – Carácter ASCII 3) – No sigue mas texto. El carácter BCC
sigue inmediatamente a un ETX. El último y sólo el último paquete acaba en ETX.

DEL (Delete Character – Carácter ASCII 127) – Se usa cuando el CNC envía un solo
carácter. El carácter DEL se empareja con caracteres EOT, NAK, ENQ. El ordenador
no debería emparejar estos caracteres.

DLE (Data Link Escape Character – Carácter ASCII 169 – El siguiente carácter tiene algún
significado especial. Si va seguido de:

0 (Carácter ASCII 48) - Indica un reconocimiento de bloque.


1 (Carácter ASCII 49) - Indica un reconocimiento de bloque.

EOT (Carácter ASCII 4) - Indica que se ha finalizado prematuramente la


transferencia de datos.

; (Carácter ASCII 59) – Llamado WACK. (Wait After Positive ACKnowledgement). Se


usa como un reconocimiento positivo, para indicar que no ha habido problemas de
transmisión, pero que el CNC no puede reconocer el bloque todavía, pues no ha
acabado de tratarlo. El ordenador no debe enviar WACK.

< (Carácter ASCII 60) - Llamado RVI. (Reverese Interruption). El CNC enviará este
par de caracteres para indicar que se ha producido un error o ejecutado M30 M2. El
ordenador no debe enviar RVI. Ver apartado casos especiales.

NAK (Negative Acknowledgment Character – Carácter ASCII 21) – El último paquete debe
ser retransmitido. Dado que se transmite como un solo carácter, el CNC
8010/8020/8030 lo empareja con un DEL. El ordenador no debería emparejar el NAK.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 12


Carácter Significado

EOT (End Of Transmission Character – Carácter ASCII 4) – La Transferencia de datos ha


terminado. Dado que se transmite como un solo carácter, el CNC 8010/8020/8030 lo
empareja con un DEL. El ordenador no debe emparejar el EOT.

BCC (Block Check Character) – Ver LRC, CRC-16 y tipo de testeo en Orden del Mensaje.

LRC (Longitudinal Redundancy Check Character) – La o- exclusiva acumulada de los


caracteres transmitidos. El cálculo del LRC empieza con el primer carácter después
de SOH, o el primer carácter después de STX cuando ningún SOH está en el bloque.
El testeo de redundancia longitudinal incluye el carácter de fin de texto o de fin de
bloque (ETX o ETB). El carácter LRC sigue a ETX o ETB. Sólo se tienen en cuenta
los 7 bits menos significativos.

CRC-16 (Cyclic Redundancy Check Characters) – El cálculo de los caracteres de testeo de


redundancia cíclica se basa en el polinomio CRC-16 (ver figura 5.1). El carácter de
testeo se divide en dos palabras de ocho bits, bits 0 hasta 7 en una palabra (menos
significativa) y bits 8 hasta 15 en otra palabra (más significativa). La palabra más
significativa se envía primero y luego la palabra menos significativa. El cálculo del
CRC-16 comienza con el primer carácter después de SOH o del primer carácter
después de STX cuando ningún SOH está en el bloque. El cálculo incluye ETX o
ETB. Los caracteres CRC siguen a ETX o ETB.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 13


DNC FAGOR 8010/8020/8030 26/02/02 Pág. 14
TRANSMISIÓN DE MENSAJES

MENSAJE: Se llama mensaje a cualquier información que se desea pasar desde el ordenador al
CNC o viceversa. Ejemplos de mensajes dirigidos al CNC por ordenador son: un programa, una
orden de control remoto, una petición de estado … Ejemplos de mensajes dirigidos al ordenado por el
CNC son: un programa, un directorio, un informe de errores …

PAQUETES: Cuando un Mensaje es demasiado grande (más de 255 caracteres), se divide en


Paquetes. El CNC recibe paquetes que contengan hasta 255 caracteres de datos. El CNC envía
paquetes que contengan hasta 128 caracteres de datos.

PROTOCOLO DNC: El protocolo DNC se inicia cuando el ordenador envía ENQ en un intento de
ser maestro de la línea (conexión). El CNC 8010/8020/8030 reconoce su estado de esclavo
respondiendo con DEL 0. El ordenador transmite entonces que, de recibirse correctamente, son
reconocidos por el CNC con una transmisión alternativa de DEL 0 y DEL 1. Una vez que se ha
enviado y reconocido el paquete final del mensaje, el ordenador transmite un EOT (desconexión).
Antes de pedir conexión se puede inicializar la línea enviando DEL EOT, como medida preventiva.

La secuencia es como sigue:

Ordenador CNC 8010/8020/8030

ENQ
DLE 0
SOH OMSG STX <texto-1> ETB BCC
DLE 1
STX <texto-2> ETB BCC
DLE 0
.
.
.
.
.
.
STX <texto-N> ETX BCC
DLE 0 o DLE 1
EOT

El último y sólo el último paquete de cualquier transmisión en cualquier dirección debe acabar en
ETX, el resto de los paquetes debe acabar en ETB.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 15


PAQUETE DE CABECERA: El primer paquete que envía el ordenador se llama Paquete de
Cabecera y lleva la Orden del Mensaje. Según el tipo de orden puede llevar un texto.

MENSAJES CON RESPUESTA: El CNC sólo envía mensajes por indicación del ordenador. El
mensaje enviado por el ordenador puede ser del tipo de Mensaje con Respuesta (ver Orden del
Mensaje, Respuesta), en cuyo caso después de recibir EOT el CNC enviará un ENQ (emparejado
con DEL) en un intento de ser el maestro para enviar datos al ordenador (conexión).

La secuencia es como sigue:

Ordenador CNC 8010/8020/8030

ENQ DEL
DLE 0

STX <texto respuesta-1> ETB BCC


DLE 1

.
.
.

.
.
.
STX <texto respuesta-n> ETX BCC

DLE 0 o DLE 1
EOT DEL

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 16


ORDEN DEL MENSAJE:

Cada transmisión desde el ordenador ha de comenzar con un SOH seguido de una Orden del
Mensaje (OMSG). La OMSG consta de 3 caracteres ASCII, como sigue:

Respuesta – El primer carácter de la Orden del Mensaje es R o S. Cuando el ordenador transmite


una R, indica al esclavo que pase a ser maestro después de recibir EOT y envíe un mensaje de
respuesta.

Carácter de tipo de testeo - El segundo carácter de la Orden del Mensaje es N o C. La N indica que
se usa el testeo de redundancia longitudinal (LRC). La C indica que usa el testeo de redundancia
cíclica (CRC-16).

Carácter de tipo de orden – El tercer carácter de la Orden del Mensaje es decodificado por el
esclavo para preparar la operación deseada. Son caracteres válidos:

Tipo de orden Operación

S Transferencia de programa
K Control remoto
L Informe en formato fijo
F Directorio
D Borrado de programa del CNC 8010/8020/8030
E Ejecución de un programa infinito
N Digitalización
T Transferencia de tablas

Las órdenes pueden tener subórdenes que se especifican en el texto del paquete de cabecera.

FORMATO DE LOS MENSAJES

El CNC 8010/8020/8030 puede aceptar hasta 255 caracteres, entre el STX/SOH (este último si es
paquete de cabecera) y ETX/ETB. Por consiguiente, el ordenador puede compactar bloques de
programas en el texto del mensaje. Al transferir programas al ordenador, el CNC 8010/8020/8030
compacta los datos.
El CNC 8010/8020/8030 nunca enviará más de 128 caracteres entre STX y ETX/ETB.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 17


CASOS ESPECIALES

RECONOCIMIENTO NEGATIVO

Cuando el esclavo recibe un paquete incorrectamente, devuelve un reconocimiento negativo NAK o


NAK DEL. Acto seguido, el paquete es repetido por el maestro. Si se devuelven varios NAK o NAK
DEL consecutivos, 3 en el caso del CNC, el maestro debería romper la comunicación.

RECONOCIMIENTO NO VÁLIDO

Cuando el maestro recibe un reconocimiento no válido (por ejemplo, DLE 0 cuando se espera DLE 1
caracteres extraños, o no respuesta) envía ENQ o ENQ DEL. Si se reciben varias respuestas
inadecuadas consecutivas, 3 en el caso del CNC, el maestro rompe la comunicación.

RVI INTERRUPCIÓN INVERSA

El par de caracteres DLE < es llamado RVI o interrupción inversa. El CNC puede ser programado
para enviar un carácter RVI al ordenador cuando se produce un error o se ejecuta M30 o M2. Para
ello se usa un parámetro (ver capítulo 4). Posteriores caracteres RVI serán enviados cada 30
segundos hasta que el ordenador envíe la orden Informe de Estado en Formato Fijo con el fin de
conocer lo que ha ocurrido. El ordenador tiene, por tanto, dos formas de conocer si se ha terminado
una pieza o si se ha producido un error:

a) Muestrear periódicamente el CNC por medio de la orden informe de Estado en Formato Fijo.

b) Esperar a que el CNC envíe RVI.

El CNC enviará RVI en diferentes momentos, dependiendo del estado en que se encuentre:

a) No hay ninguna comunicación en curso. El CNC enviará RVI inmediatamente después de


detectar error, M30 o M2.

b) El CNC está recibiendo. El CNC enviará RVI en lugar del siguiente reconocimiento. NAK DEL,
DLE 0 o DLE 1. En este caso el ordenador puede romper la comunicación. Si desea continuar
debe enviar ENQ, a lo que el CNC responderá con el reconocimiento que debería haber
enviado en lugar de RVI. Ejemplo: Mientras se ejecuta M30, el ordenador está enviando un
programa al CNC. El último paquete ha sido recibido correctamente y la respuesta del CNC
ha sido DLE < en lugar de DLE 0.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 18


Ordenador CNC 8010/8020/8030

.
.
.
.
.

STX <datos> ETB BCC .

DLE 1
STX <datos> ETB BCC
DLE <
ENQ
DLE 0
STX<datos> ETB BCC
DLE 1
.
.
.
.
.
.

c) El CNC está transmitiendo. El CNC no enviará RVI hasta acabar la comunicación.

DLE; o WAK

Ver definición de este carácter al principio del capítulo y el punto (10) del apartado A.1 del apéndice
A.

TEMPORIZADOR A (TEMPORIZADOR DE RESPUESTA)

Cuando el maestro envía un paquete o envía un ENQ o ENQ DEL, inicializa un temporizador (2,5
segundos en el caso del CNC). Si expira este tiempo antes de que se reciba una respuesta del
esclavo, el maestro envía un ENQ o ENQ DEL. Si no se recibe respuesta después de tres peticiones,
el maestro rompe la comunicación. El esclavo al recibir ENQ o ENQ DEL reenvía la última respuesta:
DLE 0 DLE 1, NAK o NAK DEL DLE ; excepto DLE EOT y DLE < que no se reenvían.

TEMPORIZADOR B (TEMPORIZADOR DE RECEPCIÓN TOTAL)

Si el esclavo (recibiendo) detecta que ha pasado un tiempo límite, desde el último carácter recibido,
rompe la comunicación.
En el CNC este tiempo límite es de 30 segundos.
En el ordenador en caso de orden de digitalización no se debe de tener en cuenta este tiempo límite.

TIEMPO MUERTO

En algunas funciones, como búsqueda de cero palpador (G75) el DNC puede estar un tiempo
aproximado de 10 segundos sin responder.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 19


CONDICIONES RUPTURA
Las rupturas se pueden iniciar por el CNC 8010/8020/8030, o por el ordenador.

CNC PROVOCA RUPTURA

1. Hay varias causas por las que el CNC puede romper la comunicación: orden, parámetros o
sintaxis errónea.

Si el CNC 8010/8020/8030 no puede procesar la información enviada desde el ordenado, el CNC


romperá el diálogo enviando DLE EOT.

Por ejemplo:

Ordenador CNC 8010/8020/8030

ENQ
DLE 0
SOH RNF STX L ETX BCC
DLE EOT

En este ejemplo, L era un error (ver orden –descarga del directorio de programas-) y el CNC
respondió con una ruptura.

2. El usuario desconecta el DNC por medio de tecla 6 en modo 7, periféricos.

3. Cuando el CNC intenta transmitir un paquete y se producen 3 NAK o 3 reconocimientos no


válidos o 3 no respuestas, ver temporizador A o cualquier combinación de 3 de ellas
consecutivas.

4. Cuando el CNC en recepción, no recibe ningún carácter en 30 segundos. Ver Temporizador B.

EL ORDENADOR PROVOCA RUPTURA

El ordenador provocando una ruptura por medio de DLE EOT, puede terminar la transferencia de
información o reinicializar el DNC. El usuario puede decidir las razones para terminar una
transferencia de datos. El ordenador debería reinicializar la línea de comunicaciones cuando el CNC
no responde a varios ENQ. Razones equivalentes a las del CNC deberían llevar al ordenador a
romper la comunicación.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 20


RECUPERACIÓN DESPUÉS DE UNA RUPTURA

Cuando el CNC detecta una ruptura, anulará todas las actividades implicadas en la orden suspendida
y reinicializará la línea de comunicaciones. Por ejemplo, si un programa estuviese siendo cargado en
el momento de la ruptura, el programa sería eliminado de la memoria.

Se precisará algún tiempo para reinicializar la línea. Como resultado, el CNC puede no responder al
primer ENQ. Por consiguiente, el ordenador deberá estar preparado para enviar varios ENQ después
de una ruptura.

Nota:

En el apéndice A aparece descrito por medio de diagramas el protocolo DNC. Estos diagramas deben
ser estudiados detenidamente para una correcta implementación del programa DNC en su ordenador.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 21


CAPÍTULO 6: ÓRDENES

CARGA DE UN PROGRAMA
El DNC permite simultanear la carga de un programa y la ejecución de otro. Para cargar un programa
en el CNC 8010/8020/8030 la Orden del Mensaje es SNS o SCS. El ordenador envía en ENQ que
cambia el CNC 8010/8020/8030 del modo desconectado al modo de transferencia. La secuencia total
de transmisiones es:

ORDENADOR CNC 8010/8020/8030


ENQ
DLE 0
SOH SNS o SCS STX %
<número de programa>
<parámetro borrar> ETB BCC
DLE 1
STX <datos> ETB BCC
DLE 0
STX <datos> ETB BCC
DLE 1
.
.
.
.
.
STX <datos> ETX BCC .
DLE 0 o DLE 1
EOT

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 22


FORMATO DE LOS PROGRAMAS

Los programas pieza deben transferirse en formato CNC 8010/8020/8030 (código ISO).
% <número de programa>
LF N <número de bloque> <texto>
.
.
.
LF N <número de bloque> <texto>
LF

Donde:

< número de programa> son cinco y sólo cinco dígitos que dan nombre al programa. El % <número
de programa> va en el paquete de cabecera, el resto en los de texto.

< número de bloque> son de uno a cuatro dígitos que dan nombre al bloque.

< texto> es el texto del bloque.

<parámetro borrar> son dos caracteres HT D, donde HT es el tabulador horizontal. Este parámetro es
optativo. Si se envía el parámetro y el programa ya existe en el CNC, el CNC borrara la versión
antigua.

No se admiten caracteres anteriores al %, ni posteriores al último bloque de programa.

El carácter separador de bloques es LINE FEED (ASCII 10) LF.

Los programas deben ir compactados, sin caracteres espacio (ASCII 32). Esto permite una mayor
rapidez en las transferencias. Se admiten espacios dentro de comentarios.

Un programa puede ser transferido al CNC dentro de paquetes de transmisión, básicamente en dos
formas:

1. Un bloque de programa en cada paquete de transmisión.

2. En forma compactada (paquetes de cómo máximo 255 caracteres), permitiendo una mayor
eficacia en las comunicaciones. En este caso dentro de un paquete de transmisión pueden ir
varios bloques de programa. Los límites de un bloque de programa y un paquete de transmisión
pueden no coincidir. Por tanto, un bloque de programa puede estar dividido entre dos paquetes
de transmisión consecutivos.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 23


Ejemplo de carga de un programa:

Supongamos que queremos cargar en el CNC el programa número 1, cuyo listado es:

%00001
N0 G G5 X Y Z F500(diábolo)
N10 P=K20 P=P F3 P P=P F4 K30 P=F5 P P2=Z P3=K1 P4=K.5
N20 G93 I J
N30 G72 Y P4
N40 P2=P2 F1 P3 P2=F11 K25
N50 G29 N100
N60 P1=F5 P2 P1=P1 F3 P
N70 G1 X P1 Z P2
N80 G2 A
N90 G25 N40
N100 G13
N110 G25 N0.100
N120 M30

Usando el chequeo CRC-16 y enviando en cada paquete de transmisión el máximo número posible
de caracteres, la transmisión tendría la forma:

Ordenador 8010/8020/8030 CNC

(5)

(16) 0
(1) SCS (2) %00001(23) (19) (254)

(16) 1

(2) (10) N0GG5XYZF500 (diábolo) (10) N10P=K20P=PF3PP=PF4K30P=F5PP2=ZP3=K1P4=K.5 (10)


N20G93IJ (10) N30G72YP4 (10) N40P2=P2F1P3P2=F11K25 (10) N50G29N100 (10) N
60P1=F5P2P1=P1F3P (10) N70G1XP1ZP2 (10) N80G2A (10) N90G25N40 (10) N100G13 (10)
N1 10G25N0.100 (10) N120N30 (10) (3) (184) (234).

(16) 0

(4)

Donde los caracteres no ASCII (que pueden resultar en CRC - 16) y los caracteres ASCII no
imprintables han sido representados por su valor decimal entre paréntesis. Ver tabla caracteres
ASCII, Apéndice C.

Ejemplo: ASCIIs no imprintables, S0H es el ASCII 1, DLE es el ASCII 16 Caracteres no ASCII: El


segundo byte del CRC-16 del paquete de cabecera da como resultado 254.

ERRORES EN LA CARGA DE PROGRAMAS

Cuando el CNC recibe el último paquete y antes de dar un reconocimiento, realiza un análisis
sintáctico del programa. Un error (ver apéndice B) provoca que el CNC rompa la transmisión. El
programa puede quedar truncado o desaparecer. En caso de que se produzca una ruptura de la
comunicación, el ordenador debería pedir información de errores y actuar en consecuencia.

No se puede cargar un programa cuando se está editando otro en el CNC.

No se puede cargar un programa cuando ya existe en el CNC, salvo que se envíe el parámetro de
borrar.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 24


EJECUCIÓN PROGRAMA INFINITO

Por medio de esta orden, el DNC permite la ejecución de un programa mientras está llegando por la
RS 232 C, con ello podemos ejecutar programas de longitud indefinida. Una aplicación típica sería en
programas generados por un CAD/CAM, los cuales pueden rebasar con creces la capacidad de
memoria del CNC.

La Orden del Mensaje es SNE o SCE. El diálogo entre el ordenador y el CNC es similar al de la orden
Carga de un Programa.

Ordenador CNC 8010/8020/8030

ENQ

DLE 0
SOH SNE o SCE STX %
<número de programa> HT
<parámetro> ETB BCC

DLE 1

STX <texto-1> ETB BCC

DLE 0

STX <texto-2> ETB BCC

DLE 1
.
.
.
.
.
.
STX <texto-N> ETX BCC
DLE 0 o DLE 1

EOT

Donde <parámetro> es un dígito a elegir entre 0,1,2.

0: Automático
1: Vacío funciones G
2: Vacío trayectoria teórica

HT es el carácter tabulador ASCII 9.

Cuando el CNC recibe el bloque de cabecera, pasa al modo de operación seleccionado (en función
del parámetro) y comienza la ejecución del programa.

FORMATO DEL PROGRAMA: Ver la orden Carga de Programas (download).

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 25


DETALLES DE LA COMUNICACIÓN

(1) Si se usa una frecuencia de transmisión alta, el CNC tardará más en ejecutar los bloques que en
recibirlos, por tanto el buffer de 8K caracteres destinado al programa infinito se llenará.
Supongamos que en este momento el CNC recibe un nuevo paquete libre de errores. El CNC
aplaza la respuesta hasta que tenga espacio en el buffer para el paquete recibido. Al pasar
varios segundos sin respuesta, el ordenador enviará ENQ y el CNC responderá con DLE ; tal
como se explica en el apéndice A, punto (10). Si pasaran más de 30 segundos antes de que el
CNC pudiera enviar el reconocimiento, y el ordenador no enviara durante este tiempo ningún
ENQ, el temporizador B del CNC rompería la comunicación.

Ordenador CNC 8010/8020/8030

.
.
.
.
.
.
STX <texto –N> ETB BCC
DLE 1
STX <texto –N+1> ETB BCC (1)
(2)

ENQ
DLE ;
(2)

ENQ
DLE ;
(2)
ENQ
DLE ;
DLE 0 (3)

.
.
.
.
.
.

NOTAS:

(1) El paquete recibido es correcto, pero el buffer está lleno, se aplaza la respuesta DLE 0.

(2) Pasa un tiempo sin respuesta y el ordenador envía ENQ a lo que el CNC responde DLE
;. Si el ordenador no enviara ENQ antes de 30 segundos, el CNC rompería la
comunicación, ver temporizador B. Cuando se recibe DLE ; se puede prever que el
próximo reconocimiento, en este caso DLE 0, puede tardar. Por ello se puede aumentar
el tiempo que se espera antes de enviar ENQ. Ver temporizador A.

(3) Finalmente se ha abierto espacio en el buffer para el paquete. El CNC envia el DLE 0
aplazado.

(2) El CNC no reconoce el último paquete acabado en ETX, hasta que se han ejecutado todos los
bloques.
(3) El CNC introduce al final del programa el bloque N99999 M30.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 26


RESTRICCIONES a la programación de un programa infinito:

(a) El programa infinito usa un buffer interno de 8K caracteres. Según van llegando bloques, si el
buffer está lleno, se eliminan los bloques ejecutados más antiguos para hacer sitio a los nuevos;
por tanto no se puede asegurar el éxito de los saltos G25, G26, G27, G28, G29.

(b) Dentro del programa infinito no se pueden definir subrutinas estándar o paramétricas: G22, G23,
G24.

(c) El parámetro 70 es usado internamente, por tanto no puede ser usado en el programa infinito.

MODO DE OPERACIÓN

(a) Es necesario que existan 8K libres en la memoria de programas (destinados al buffer del
programa infinito).

(b) Al pasar a un modo distinto de automático o bloque a bloque, se ABORTA la ejecución del
programa infinito.

(c) No se pueden seleccionar bloques o programas, para ello las teclas P y N quedan fuera de
servicio (salvo en edición en background).

(d) Las teclas ? ? quedan fuera de servicio (salvo en edición en background).

(e) Salvo que se usen saltos, no se testea el orden correcto de los números de bloque. Esto permite
volver a empezar con N0 si se ha llegado a N99999.

ERRORES EN LA EJECUCIÓN DE UN PROGRAMA INFINITO


Los siguientes son algunos de los errores posibles con programa infinito:

a) Programa está en memoria.

b) Número de programa 99999 no es válido.

c) Máquina mecanizado.

d) M30 o M2 antes del último bloque.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 27


MÉTODO ALTERNATIVO

En sistemas avanzados de DNC podría ser necesario supervisar desde el ordenador, utilizando
órdenes de DNC como Informe en Formato Fijo, el proceso de mecanizado. Sin embargo el enlace de
comunicaciones está totalmente ocupado por la transmisión del programa infinito. A frecuencias altas,
la transmisión será más rápida que la ejecución. El ordenador estará gran parte del tiempo esperando
que haya sitio en el CNC para transmitir más paquetes, en un proceso de la forma:

Ordenador CNC 8010/8020/8030

.
.
.
.
.
.

ENQ
DLE ;
<tiempo de espera>

ENQ

DLE ;

<tiempo de espera>

ENQ
DLE 0 o DLE 1

STX <texto –M> ETX BCC .


.
.
.
.
.

El siguiente método permite simultanear la mecanización del programa infinito con el resto de las
ordenes DNC:

Descomponer el programa en trozos más pequeños que quepan en la memoria e ir ejecutándose


sucesivamente. Entre la transmisión de estos programas trozo, en que se divide el programa original,
la línea está libre para realizar cualquier orden DNC que se desee. Cada programa trozo debería
terminar con la máquina en una posición adecuada.

Ejemplo:

Supongamos que un CNC dispone de 28K de memoria de programas, y el programa a ejecutar es de


200K. Este programa se subdivide en 25 programas de 8K, que se ejecutarán sucesivamente.
Cuando un programa ha sido ejecutado, el ordenador puede enviar la orden D para borrarlo y abrir
espacio en memoria. La orden – Informe en Formato Fijo - , permite conocer si un programa ha sido
ejecutado. También podemos programar al CNC para que avise enviando caracteres RVI. La orden
K01 (Control Remoto, ejecución de un programa) permite comenzar la ejecución de un programa.
Mientras un programa se ejecuta otro puede ser cargado simultáneamente.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 28


DESCARGA DE PROGRAMAS PIEZA

Esta orden permite al ordenador recibir programas desde el CNC. La Orden del Mensaje para
descargar el programa en RNS o RCS. El diálogo entre el ordenador y CNC 8010/8020/8030 es como
sigue:

Ordenador CNC 8010/8020/8030

ENQ

DLE 0
SOH RNS o RCS STX %

DLE 1
EOT
ENQ DEL
DLE 0
STX <datos> ETB BCC
DLE 1
STX <datos> ETB BCC
DLE 0

.
.
.
.
.
.
STX <datos> ETX BCC
DLE 0 o DLE 1

EOT DEL

Si el programa solicitado no está en memoria, el CNC rompe la comunicación.

No se puede descargar un programa que se está editando.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 29


CARGA/DESCARGA DE TABLAS
Carácter de tipo de orden:
T
Carácter de respuesta:
S carga
R descarga
Orden del Mensaje: SNT o SCT o RNT o RCT

En el paquete de cabecera, un parámetro determina el tipo de tabla:


T herramientas
B tabla binaria con Ms decodificadas,
parámetros máquina, parámetros de
compensación del husillo

Formato general de la carga de tablas:

Ordenador CNC 8010/8020/8030

ENQ
DLE 0
SOH RNS o RCS STX %
<tipo de tablas> ETB
DLE 1
STX <texto>ETB
DLE 0
.
.
.
.
.
.
STX <texto> ETX
DLE 0 o DLE 1
EOT

Formato general de la descarga de tablas.

Ordenador CNC 8010/8020/8030

ENQ
DLE 0
SOH SNT o SCT STX
<tipo de tabla> ETX
DLE 1
EOT
ENQ DEL
DLE 0
STX <texto> ETB
DLE 1
.
.
.
.
.
.
STX <texto> ETX
DLE 0 o DLE 1
EOT DEL

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 30


Veamos las diferentes tablas.

. TABLA DE HERRAMIENTA

CARGA
Se pueden cargar de 1 a n herramienta, cada una en un paquete.

DESCARGA
El CN envía de una en una, todas las herramientas en sucesivos paquetes.

El formato del <texto> de cada paquete de la forma:


<número de herramienta> <definición de herramienta>

donde:

<número de herramienta> son dos dígitos cuyos valores límite dependen del modelo:
MS, M, MG, GP, P de 0 a 99
TS, T de 1 a 32

<definición de herramienta> depende del modelo:


MS, M, MG:
R<radio>L<Longitud>I<desgaste>K<desgaste>

TS, T:
X<longitud>Z<longitud>F<código de forma>
I <desgaste>K<desgaste>

P:
R<anchura corte>L<longitud corte>I<diámetro útil>
K<subrutina>

GP:
L<longitud>K<desgaste>

Los valores máximos están especificados en los diferentes manuales de operación y dependen de
parámetros máquina tales como:
mm/ pulgadas
eje rotativo
eje rolover

. TABLA BINARIA

El propósito de esta orden es el disponer en el ordenador de copias de seguridad de los parámetros.


Se carga o descarga un fichero que contiene la siguiente información:

Ms decodificadas
Parámetros máquina
Parámetros de compensación de husillo

Esta tabla contiene una imagen de la memoria interna del CNC en formato BCD. La información está
codificada y resulta ilegible para el usuario.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 31


CONTROL REMOTO DE LA MÁQUINA Y PETICIÓN DE ESTADO.

La ejecución de una orden remota, es llevada a cabo por una Orden del Mensaje de la forma RNK o
SCK. El CNC puede responder con una comunicación de errores. El texto del paquete de cabecera
comienza con los caracteres ASCII que identifican al comando concreto que se quiere realizar.

La secuencia total de comunicación es:

Ordenador CNC 8010/8020/8030

ENQ
DLE 0
SOH RNK o RCK STX
<texto> ETX BCC
DLE 1
EOT
ENQ DEL
DLE 0
STX <respuesta>
ETX BCC
DLE 1
EOT DEL

Para la orden de corrección de herramientas es:

Ordenador CNC 8010/8020/8030

ENQ
DLE 0
OSH SNK o SCK STX
<texto> ETX BCC
DLE 1
EOT

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 32


donde :

<texto> esta compuesto de:


<número de orden> <parámetros>

donde:

<número de orden> son dos dígitos (ver tabla 6.1).

<respuesta> es <comunicación de errores> en el caso de las órdenes 00, 01, 02 o la posición de los
ejes es el de la orden 10.

<comunicación de errores> está compuesto de:

<último error DNC> HT <último error CNC>

donde:

<último error DNC> indica en tres dígitos el último error producido en DNC, desde el último
informe de errores.

<último error CNC> indica en tres dígitos el último error producido en CNC, desde el último
informe de errores, éste coincide con el error que visualiza en la pantalla.

HT es el carácter tabulador.

Las órdenes de Control Remoto de la Máquina y Petición de Estado disponibles en la presente


versión están representados en la tabla 6.1.

Número Orden
de orden

00 Ejecución programa

01 Petición de errores

02 Simulación de teclado

10 Lectura de la posición de los ejes

11 Informe del tipo de máquina

20 Corrección dinámica de herramientas

21 Posición de la herramienta en el almacén


random
22
Inicialización del almacén random o
modificación de la posición o del tipo de una
herramienta

Tabla 6.1

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 33


. EJECUCIÓN DE UN PROGRAMA

Orden del mensaje: ANK o ACK

Número de orden: 00

Parámetros: %<número de programa> N<número de bloque>

Donde:

<número de bloque> son cuatro y sólo cuatro dígitos.

Respuesta: <Comunicación de errores>

Cuando el DNC recibe esta orden sitúa al CNC en modo de operación AUTOMATICO, selecciona el
programa y bloque requeridos y comienza la ejecución del programa.

No se llevará a cabo esta orden si la máquina está mecanizando, independientemente de si se ha


pulsado la tecla STOP o de entrada de FEED-HOLD. Tampoco se llevará a cabo si se está moviendo
algún eje en manual.

. INFORME DE ERRORES

Orden del mensaje: ANK o ACK


Número de orden: 01

Parámetros: Ninguno
Respuesta: <comunicación de errores>

Las banderas del CNC error DNC, error CNC se inicializan a cero en el encendido, al ejecutar esta
orden y al conectar el DNC.

. SIMULACIÓN DEL TECLADO

Esta es una potentísima herramienta que permite enviar caracteres teclas desde un ordenador como
si se estuvieran pulsando en el teclado. De esta forma, desde un ordenador, se pueden llevar a cabo
prácticamente todas las acciones que un usuario puede realizar a través del teclado.

Orden del mensaje: RNK o RCK

Número de orden: 02

Parámetros: HT <Secuencia de teclas válidas> HT

Teclas válidas son todas las del teclado excepto:

Teclas de JOG
Teclas de SPEED
Conmutador FEED RATE

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 34


Para indicar las teclas se usan sus códigos ASCIIs. Por Ejemplo el código ASCII de Z es 90. Para las
teclas que no corresponden a ningún número/letra, se han hecho las siguientes asignaciones:

8010/8020/8030

Tecla Código ASCII Carácter


Start 97 “a”
Stop 98 “b”
Reset 99 “c”
Display mode 100 “d”
Enter 101 “e”
Next 110 “n”
Operate mode 111 “o”
Recall 114 “r”
Delete 122 “z”
Clear 127 “rubout” o “del”

8030

Se suprimen las teclas Next y Display mode.

Se introducen las teclas Ñ, ñ, Insert, Enter,


Movimientos del cursor y de página y las Soft keys.
Estas teclas están codificadas como ASCIIs extendidos,
y por tanto la transmisión se debe realizar con 8 bits
por carácter.

Tecla Código ASCII extendido

ñ 164
Ñ 165

Cursor up 192
Cursor down 193
Cursor right 194
Cursor left 195
Previus page 196
Next page 197

Start 208
Stop 209
Reset 210
Delete 211
Enter 212
Recall 213
Operate mode 214
Insert 215
Clear 216

Soft key 1 217


Soft key 2 218
Soft key 3 219
Soft key 4 220
Soft key 5 221
Soft key 6 222
Soft key 7 223

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 35


Respuesta <Comunicación de errores>

Ejemplo:

El paquete de cabecera para seleccionar el programa número 32 en el modo de operación


AUTOMATICO será para los CNC 8010/8020:

SOH RCK STX 02 HT o0P32r HT ETX BCC

NOTA: Recordar que el texto máximo en un paquete está limitado a 256 caracteres.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 36


. CORRECCIÓN DINÁMICA DE HERRAMIENTAS

Orden del mensaje: SNK o SCK


Número de orden : 20
Parámetros : T <número corrector herramienta>
I<corrección> K <corrección>

donde:

<número corrector herramienta> puede tomar los siguientes valores:


fresa: de 0 a 99
torno: de 1 a 32

<corrección> puede tomar como valores máximos los de la tabla 6.3.

Respuesta: Ninguna

Nota 1: es la misma sintaxis utilizada para modificar un corrector vía teclado.

Nota 2: las unidades mm o pulgadas, están definidas por el parámetro 13.

Nota 3: Los valores de la tabla 6.3 pueden estar precedidos por el signo menos -.

Máquina más de 8 m.

mm 32.766 327.66
pulgadas 1.2900 12.900

Tabla 6.3

Esta prestación no está soportada en el modelo Punzonadora.


En el modelo CNC 8020 GP sólo se envía la corrección en I.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 37


. LECTURA DE LA POSICIÓN DE LOS EJES

Orden del mensaje : RNK o RCK


Número de orden : 10
Parámetros : Ninguno
Respuesta :
Torno : <unidades> <cota X> <cota Z>
y si eje C <coordenada C>
y si eje V<coordenada V>
y si eje W<coordenada W>

fresa : <unidades> <cota X> <cota Y> <cota Z>


y si máquina de cuatro ejes <cota W>
y si máquina de cinco ejes <cota V>

donde:

<unidades> es función del parámetro 13. M mm – I pulgadas


<cota> es un espacio en blanco o un signo -, seguido de un número que puede tomar como máximo
los valores de la tabla 6.2.

Máquina más de 8 m.

mm 8388.607 83886.07
pulgadas 330.2601 3302.601

Tabla 6.2

Nota 1: Si es eje C o eje rotativo, el máximo valor que puede tomar es 8388.607

. INFORME DEL TIPO DE MÁQUINA

Orden del mensaje : RNK o RCK


Número de orden : 11
Parámetros : Ninguno
Respuesta : <Serie> <Modelo> espacio espacio espacio

Donde:

<Serie> puede ser 8020/8030


<Modelo> puede ser:
M espacio para los modelos: M. MG, MS
GP para el modelo GP
P espacio para los modelos: P, PG
T espacio para los modelos: T, TG, TS

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 38


. LECTURA DE LA POSICIÓN DE LA HERRAMIENTA EN EL ALMACEN RANDOM

Orden del mensaje : RNK o RCK


Número de orden : 21
Parámetros : T <número de herramienta>

Donde:

<número de herramienta> son dos dígitos desde 00 a 98.


La herramienta 99 no está permitida, pues se utiliza para inicializar la tabla random.

Respuesta:
<posición de la herramienta> <tipo de herramienta>

donde:
<posición de la herramienta> son dos dígitos desde 00 a 99. Si la herramienta no está presente,
devuelve N espacio.

<tipo de herramienta> es un carácter:


S : herramienta especial
Espacio : herramienta normal

Modelos que soportan esta prestación:


8020: M, MG, MS
8030: MS

.INICIALIZACIÓN DEL ALMACÉN RANDOM O MODIFICACIÓN DE LA POSICIÓN O DEL


TIPO DE UNA HERRAMIENTA.

Orden del mensaje : RNK o RCK


Número de orden : 22
Parámetros :
Inicialización del almacén
T 99
Modificación de la posición de una herramienta
T <número de herramienta>
P <posición de la herramienta>

Herramienta es especial
T <número de herramienta>
S
Herramienta es normal
T <número de herramienta>
N
Donde:
<número de herramienta> son dos dígitos desde 00 a 98 o menor según parámetros máquina.
<posición de la herramienta> son dos dígitos desde 00 a 99 o menor según parámetros máquina.
Al cambiador se le asigna la posición cero.
A la caña se le asigna la posición 99
Respuesta: <Comunicación de errores>
Modelos que soportan esta prestación:
8030 MS

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 39


INFORME DE ESTADO EN FORMATO FIJO

El procedimiento de informe de estado en formato fijo utilizando el protocolo DNC se inicia con una
Orden del Mensaje RNL o RCL desde el ordenador. El diálogo entre el ordenador y el CNC
8010/8020/8030 es como sigue:

Ordenador CNC 8010/8020/8030

ENQ
DLE 0
SOH RNL o RCL STX ETX BCC
DLE 1
EOT
ENQ DEL
DLE 0
STX <datos de estado> ETX BCC
DLE 1
EOT DEL

<Datos de Estado> retornados al ordenador tienen el formato siguiente:

<Elemento de Estado> HT <Elemento de Estado> HT … HT <Elemento de Estado>.

donde HT es el tabulador horizontal.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 40


Los Elementos de Estado retornados son los siguientes:

1. PROGRAMA PIEZA ACTIVO

El formato es: % <número de programa>

2. CONTADOR DE PIEZAS

El contador de piezas es un valor entero ajustado a la derecha en un campo de tres caracteres. El


contador de piezas se incrementa cada vez que se encuentra un M30 o M02. Se inicializa a cero
siempre que se selecciones un nuevo programa pieza o se ejecuta la orden Informe de Estado en
Formato Fijo. Por tanto es un contador incremental, no absoluto, diferente del contador absoluto
que aparece en la pantalla del control. Con el encendido es inicializado a cero. El DNC puede
contar como máximo 255 piezas.

3. MAQUINA ACTIVA/INACTIVA

Un campo de un carácter: “A” ASCII para activo, “I” para inactivo. El Estado Activo se define como
Cycle Start ON, Feed Hold OFF, y MFO superior al 0%.

4. INDICACIÓN DE ERROR

El campo de error es un “0” o un “1”. Un “1” indica que un mensaje de error está activo en el CNC
8010/8020/8030.

Hay dos grupos de errores:


Errores del CNC
Errores del DNC: relacionados con la comunicación en DNC.

5. NÚMERO DE BLOQUE ACTIVO

El formato es: N <número de bloque>


Donde el <número de bloque> son cuatro dígitos.

6. MFO ACTIVO

Tres caracteres ASCII que indican el MFO actual. Por ejemplo, si el MFO es 105%, se envían tres
caracteres: “1” “0” “5”.

7. BITS DE ESTADO

*Dos caracteres sin significado en la presente versión.

Para aviso del CNC al ordenador de pieza acabada y/o error, ver RVI capítulo 5.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 41


DESCARGA DEL DIRECTORIO DEL CNC 8010/8020/8030

El ordenador puede pedir el directorio del CNC 8010/8020/8030 con un mensaje de orden RNF o
RFF. Se puede pedir directorio de programas y de subrutinas (esto último en próximas versiones).

Ordenador CNC 8010/8020/8030

ENQ
DLE 0

SOH RNF o RCF STX


<directorio requerido> ETX BCC

DLE 1
EOT
ENQ DEL
DLE 0
STX <datos del directorio> ETB BCC
DLE 1
STX <datos del directorio> ETB BCC
DLE 0
.
.
.
.
.
.
STX <datos del directorio> ETX BCC
DLE 0 o DLE 1
EOT DEL

< directorio requerido> es un carácter que determina el directorio a transmitir.

P: programas
S: subrutinas

Formato del directorio de programas:

<número de caracteres libres> LF


<número de programa> HT <número de caracteres> LF
.
.
.
<número de programa> HT <número de caracteres > LF

donde:

HT es el carácter tabulador horizontal.


LF es el carácter line feed.
<número de caracteres libres>, <número de programa> y
<número de caracteres> constan de cinco dígitos decimales cada uno.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 42


BORRAR PROGRAMA

Desde el ordenador se pueden borrar programas que se encuentren en la memoria del CNC
8010/8020/8030. El Mensaje de Orden para borrar un programa es RND o RCD, es por tanto una
orden con respuesta.

El diálogo entre el ordenador y el CNC es como sigue:

ENQ
DLE 0

SOH RND o RCD STX


%<número de programa> ETX BCC

DLE 1
EOT
ENQ DEL
DLE 0
STX <comunicación de errores> ETX BCC
DLE 1
EOT DEL

No se borrará el programa si:

. por teclado se está editando otro programa.


. la memoria está protegida.
. es el programa seleccionado.
. es el programa protegido.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 43


G76 N5 DIGITALIZACIÓN

Sólo disponible en 8020 MS o 8020 TS.

Alguna de las aplicaciones que se pueden realizar con la función G76, son por ejemplo, la creación
de un programa tras el cálculo de una trayectoria mediante un programa paramétrico, o bien, el
DIGITALIZADO de un modelo con la ayuda de un palpador de medida (G75), generando un programa
punto a punto tan extenso como se quiera. (Ver manual de programación).

El Mensaje de Orden es RNN o RCN, es por tanto una orden con respuesta.

El diálogo entre ordenador y el CNC es como sigue:

Ordenador CNC 8010/8020/8030

ENQ
DLE 0
SOH RNN o RCN STX ETX BCC
DLE 1
EOT
ENQ DEL
DLE 0
STX % <número de programa>
<datos> ETB BCC
DLE 1
STX <datos> ETB BCC
DLE 0
.
.
.
.
.
.
STX <datos> ETB BCC
DLE 0 o DLE 1
EOT DEL

El programa que se está ejecutando en el CNC, por medio de la función G76 va creando bloques de
programa de CNC que se van enviando en paquetes al ordenador.

El proceso finaliza al ejecutarse M30. Se puede abortar desde el CNC pulsando STOP, OP MODE,
cualquier modo distinto de MANUAL o BLOQUE A BLOQUE.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 44


APÉNDICE A: DIAGRAMA DEL PROTOCOLO DNC

En esta sección se describe la transferencia vía DNC en términos de secuencias de caracteres de


control. La interpretación de las órdenes o el contenido de los datos quedan excluidos.

La figura A.1 muestra la secuencia de conexión y transferencia de un mensaje desde el ordenador


hacia el CNC. La figura A.2 muestra la secuencia de respuesta cuando el CNC recibe una orden de
enviar una información al ordenador. Las secuencias normales siguen las líneas en negrilla. Las
secuencias inusuales o de recuperación de error siguen las líneas más claras. Los caracteres
enviados por el CNC van encerrados en un recuadro discontinuo.

EXPLICACIÓN DE LA FIGURA A.1 (EL ORDENADOR INICIA LA COMUNICACIÓN Y ENVIA UN


MENSAJE).

(1) El ordenador intenta conectarse enviando un ENQ.

(2) Si el CNC no responde con DLE 0, el ordenador espera un tiempo de por ejemplo 0,5 o 1
segundo y envía de nuevo el ENQ.

(3) Si después de varios intentos el CNC no ha respondido, el ordenador deberá enviar DLE
EOT para reinicializar el CNC.

(4) Si DLE EOT no consigue inicializar la línea, se precisarán procedimientos externos de


recuperación.

(5) Cuando el CNC detecta un ENQ, responderá con DLE 0.

(6) Después de SOH, el ordenador enviará la Orden del Mensaje, con tres caracteres
especificando: respuesta (R/S), tipo de testeo (N/C), y tipo de orden.

(7) Después de STX, el ordenador enviará datos y ETB/ETX BCC.

(8) El CNC reconoce mediante DLE 0 y DLE 1 alternativos.

(9) El CNC responderá NAK DEL en estos dos casos.

- Cuando reciba un paquete con BCC incorrecto.


- Cuando reciba un ENQ DEL en medio de un paquete. Es decir, después de haber
recibido un SOH o STX y antes de haber recibido el BCC. El problema será que el CNC
no ha recibido correctamente el ETX o ETB.

(10) Puede ocurrir que el CNC reciba correctamente un paquete, pero no pueda enviar
inmediatamente el reconocimiento correspondiente. El ordenador al no recibir respuesta
dentro de un tiempo de por ejemplo 1 o 2 segundos enviará un ENQ a lo que el CNC
responderá DLE ;. Cuando el CNC acabe de procesar el paquete, enviará espontáneamente
el reconocimiento correspondiente. En el apartado Ejecución de Programa Infinito se
explicará con más detalle un ejemplo.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 45


(11) Si el CNC durante 30 segundos no recibe ningún carácter, rompe la comunicación con DLE
EOT. Ver temporizador B en el capítulo 5. El CNC también puede romper la comunicación
cuando detecta un error en la orden, parámetros, sintaxis... Ver condiciones de ruptura en
capítulo 5.

(12) El camino (18) indica una respuesta no válida. El ordenador envía ENQ con el fin de buscar
una respuesta válida. También se puede llegar desde (19). Ver casos especiales, interrupción
inversa, en capítulo 5. Cuando el CNC recibe ENQ, reenvía la última respuesta DLE 0, DLE 1,
DLE;, NAK DEL excepto DLE < y DLE EOT que no se reenvían.

(13) Cuando se produce de 3 a 5 veces consecutivas, en cualquier orden, los caminos (9) y/o (18)
el ordenador debería romper la comunicación.

(14) Esta trayectoria será tomada cuando el ordenador haya enviado un paquete de cabecera y el
CNC haya respondido con NAK DEL. El ordenador enviará de nuevo el paquete de cabecera.

(15) Esta es la trayectoria cuando el ordenador envía un mensaje que ocupa múltiples paquetes
de comunicación. También puede ocurrir si el CNC ha respondido con NAK DEL, en cuyo
caso el ordenador enviará de nuevo el último paquete.

(16) El ordenador termina la secuencia con EOT. Si una descarga de datos al ordenador ha sido
especificada por una orden, el CNC iniciará la secuencia indicada en la figura A.2.

(17) Se puede inicializar la línea con DLE EOT (ruptura).

(18) Este camino indica una respuesta no válida. El ordenador debe enviar ENQ, camino (12),
para buscar una respuesta válida. Hay tres posibilidades:

(18.1.) El ordenador detecta DLE 0 en lugar de DLE 1 o viceversa.

(18.2.) El ordenador detecta caracteres extraños.

(18.3.) Pasado un tiempo el ordenador no ha recibido respuesta. El tiempo que se espera


puede ser por ejemplo de medio a 1 segundo. No se debe dejar transcurrir más de 30
segundos sin pasar al camino (12) pues de lo contrario el CNC romperá la comunicación. Ver
temporizadores A y B en casos especiales de capítulo 5. Una línea defectuosa o tiempos de
espera demasiado críticos pueden dar lugar a estas situaciones.

(19) RVI, interrupción inversa. Se debe continuar por el camino (12). Ver casos especiales en
capítulo 5.

(20) El ordenador puede abortar la comunicación en cualquier momento enviando DLE EOT.

(21) Ver 14 en la página siguiente.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 46


DNC FAGOR 8010/8020/8030 26/02/02 Pág. 47
EXPLICACIÓN DE LA FIGURA A.2 (RESPUESTA DEL CNC)

(1) El CNC intenta conectarse con ENQ DEL.

(2) Si el ordenador no responde con DLE 0 dentro de 2,5 segundos, el CNC vuelve a intentar (1).

(3) Después de tres intentos fallidos (1) el CNC rompe la comunicación.

(4) El ordenador ha detectado ENQ DEL y responde con DLE 0.

(5) El CNC envía STX, datos, ETB o ETX y BCC.

(6) El ordenador si no detecta ningún error responde con DLE 0 o DLE 1 alternativos.

(7) Ver (9) de anterior página.

(8) El CNC recibe una respuesta no válida. El CNC continua por (10). Hay tres posibilidades:

(8.1) El CNC detecta DLE 0 en lugar de DLE 1 o viceversa.


(8.2) El CNC detecta caracteres extraños.
(8.3) Pasados 2,5 segundos, el CNC no recibe respuesta.

(9) El ordenador ha roto la comunicación. Ver condiciones de ruptura capítulo 5.

(10) El camino (8) implica una respuesta no válida. El CNC envía ENQ DEL con el fin de obtener una
respuesta válida. Cuando el ordenador recibe ENQ DEL reenvía la última respuesta: DLE 0 DLE
1 NAK excepto DLE EOT que no se reenvía.

(11) Cuando se producen 3 veces consecutivas los caminos (7) y/o (8), en cualquier orden, el CNC
rompe la comunicación. Idem cuando el ordenador no recibe ningún carácter durante 30
segundos. Ver temporizador B y condiciones de ruptura en capítulo 5.

(12) Esta es una trayectoria tomada por el CNC para enviar mensajes que ocupan múltiples
paquetes. También es la trayectoria para reenviar el último paquete cuando se recibe un NAK
desde el ordenador.

(13) El CNC termina la comunicación con EOT DEL.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 48


DNC FAGOR 8010/8020/8030 26/02/02 Pág. 49
APÉNDICE B: LISTADO DE ERRORES EN DNC

01 ENQ, SOH o STX esperados.


03 ENQ recibido.
04 ETB/ETX recibido y paquete incorrecto.
05 Ordenador envía DLE EOT (Ruptura).
06 Primer paquete no es de cabecera.
07 Paquete con cabecera no primero.
08 ENQ en medio de recepción de paquete.
09 Carácter de respuesta no es R o S.
10 STX esperado en paquete cabecera.
11 Paquete con más de 255 caracteres.
12 Primer carácter BCC incorrecto.
13 Segundo carácter BCC incorrecto (Sólo CRC-16)
14 Desbordamiento de memoria de programas pieza.
15
18 Número de programa incorrecto.
19 Programa en memoria.
20 Programa no en memoria.
21 OMSG incorrecto.
22 Memoria protegida.
23
25 Ciclo Start ON.
27 Número de orden incorrecto.
28 Secuencia de teclas interrumpida por error del CNC.
29 Número de bloque incorrecto.
30 Carácter de respuesta en OMSG no es R.
31 Paquete no acabado en ETX.
32 Programa seleccionado.
33 Programa protegido.
34 Carácter extraño:
% fuera de comentario o carácter ASCII cuyo código es mayor que 127 y es distinto
de Ñ o ñ o bien comentario erróneo.

35 Orden errónea.
36 Número de bloque con más de 4 dígitos.
37 Números de bloque no correlativos.
38 Otros errores sintácticos, mirar error de CNC
39 A % cinco dígitos no sigue blanco N.
40 En edición:
Mientras un programa está siendo editado por teclado, no es posible cargar/borrar ningún otro
programa vía DNC. No es posible descargar un programa que está siendo editado.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 50


41 Carga: último bloque no acaba en LF.
42 EOT antes de paquete acabado en ETX.
43 Paquete posterior a paquete acabado en ETX.
44 Número de programa 99999.
45 No hay sitio para el buffer del programa infinito.
46 Paquete de cabecera acabado en ETX.
47 Dirección de transmisión es R.
48 Programa infinito:
carácter ASCII cuyo código es mayor que 127
y es distinto de Ñ o ñ.
49 Programa infinito: %
50 Programa infinito: comentario demasiado largo.
51 Programa infinito o digitalización abortada.
52 Eje moviéndose en JOG
53 Reset en ejecución.
54 Fin de programa en un paquete no último.
70 Error interno.
71 Error interno.
80 Número o posición de herramienta incorrecto.
81 Parámetro de herramienta incorrecto.
82 Tabla demasiado grande.
83 Tabla demasiado pequeña.
84 No es centro de mecanizado o no es random.
255 Error sintáctico.

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 51


APÉNDICE C: CARACTERES ASCII

VALOR CARÁCTER VALOR CARÁCTER


ASCII ASCII

000 NULL 032 (espacio)


001 SOH 033 ¡
002 STX 034 “
003 ETX 035 #
004 EOT 036 $
005 ENQ 037 %
006 ACK 038 &
007 BEL 039 ‘
008 BS 040 (
009 HT 041 )
010 LF 042 *
011 VT 043 +
012 FF 044 ,
013 CR 045 -
014 SO 046 .
015 SI 047 /
016 DLE 048 0
017 DC1 049 1
018 DC2 050 2
019 DC3 051 3
020 DC4 052 4
021 NAK 053 5
022 SYN 054 6
023 ETB 055 7
024 CAN 056 8
025 EM 057 9
026 SUB 058 :
027 ESC 059 ;
028 FS 060 <
029 GS 061 =
030 RS 062 >
031 US 063 ?

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 52


064 @ 096 `
065 A 097 a
066 B 098 b
067 C 099 c
068 D 100 d
069 E 101 e
070 F 102 f
071 G 103 g
072 H 104 h
073 I 105 i
074 J 106 j
075 K 107 k
076 L 108 l
077 M 109 m
078 N 110 n
079 O 111 o
080 P 112 p
081 Q 113 q
082 R 114 r
083 S 115 s
084 T 116 t
085 U 117 u
086 V 118 v
087 W 119 w
088 X 120 x
089 Y 121 y
090 Z 122 z
091 [ 123 {
092 \ 124 |
093 ] 125 }
094 ^ 126 ~
095 _ 127 DEL

VALOR ASCII EXTENDIDO CARÁCTER

164 ñ
165 Ñ

DNC FAGOR 8010/8020/8030 26/02/02 Pág. 53